全国计算机等级三级网络技术机试练习习题(6)
来源:优易学  2010-1-14 20:07:40   【优易学:中国教育考试门户网】   资料下载   IT书店
  第6套上机考试试题
  函数RData()实现从文件IN.dat中读取一篇英文文章存入字符串数组original中,请编写StrCharMove()函数,其功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加卜原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组0riginal中。最后调用函数WData(),把结果0riginal输出到文件OUT.dat中。原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符弓和空格)。
  注意:部分程序已给出。请勿改动主函数main()、读数据函数RData()和输出数据函数WData()的内容。


  第6套试题答案及详解
  【知识点播】ASCII码值的右移运算可以通过运算符(>>)束实现,左移运算符为(<<)。
  【审题分析】分析题日可知,题中需要解决的问题是实现StrCharMove函数的功能问题,而StrCharMove函数的功能是:以行为单位把字符串中所有字符的ASCIl值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上,最后把已处理的字符串仍按行重新存入字符串数组original中。因此本题的关键在于如何进行ASCII值的右移运算。
  【解题思路】首先用字符串函数strlen求出每行的长度,然后在for循环语句中将将每个字符转换成ASCII码值:接着右移4位,即original[i][j]>>4;再和original[i][j]的值相加;最后将得到的ASCII码值转换成字符并存入数组original中。
  【参考答案】

  【易错分析】字符的ASCII码值右移4位,再和原值相加,用语句original[i][j]+=original[i][j]>>4实现。
  【考点链接】每个字符的ASCII码值存移4位,即ofiginal[i][j]>>4。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训