2012年计算机考试前必看的六大过关方法.doc

2012年计算机考试前必看的六大过关方法.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2012年计算机考试前必看的六大过关方法

 究竟是什么原因呢?不就是那100道题目吗?翻来覆去的看也没有发现自己的程序有什么错误啊,看资料,用模拟盘模拟也是满分啊,可为什么正式考试就是0分呢?   于是很多人甚至把通过上机考试当成一件运气的事了,甚至有的朋友对上机考试感到十分恐惧,然而这其中真正的原因…… 大家不妨和我一起看一下考试中心命题组的正确答案。顺便提醒一下大家在考试的时候要注意的问题,希望对大家有所帮助。   第一条:审题要仔细!   正式考试的时候会遇到很多面熟的题目,这些题目有的似乎和平常资料中看到的一样,然而,千万不要见到面熟的题目而沾沾自喜,因为有很多的“陷阱”会使你审题的时候就出错!   我们看一道所有人都做过的的 “数字题目” .   考试中心命题组第23题:   已知在文件in.dat中存有N个实数,(N200),函数readdat()是读取这N个实数并存入数组xx中。   请编制函数CalValue(),其功能要求:   1、求出这N个实数的整数部分平均值aver;   2、分别求出这N个实数中其整数部分值小于平均值ever的数的整数部分值之和sumint与小数部分之和sumdec   最后调用函数WriteDat()把所求的结果输出到文件OUT8.dat中。   这一题看起来很眼熟,然而你仔细看!   1、aver是整数部分的平均值!不是普通的哦!   2、整数部分值小于平均值ever的数的整数部分值之和sumint与小数部分之和sumdec!   原来这么复杂!稍不留心就错了,结果就想当然的0分   考试中心命题组第4题   函数ReadDat()实现从文件ENG.IN中读取一篇英文文章存入到字符   串数组xx中;请编制函数ComWord()分别计算出10个不区分大小写   的英文单词的首字母(b,c,f,s,n,r,u,e,o,p)的频数并依次存入   整型数组yy[0]至yy[9]中,最后调用函数WriteDat( )把结果yy   输出到文件PS1.OUT中。   这题也很眼熟,然而你仔细看!   英文单词的首字母,不是平常的字母的个数,是作为单词的首字母的个数啊。   上面两道题目并没有在其他资料上见过,考试的时候也不一定会出,这里仅仅是给大家提个醒儿,正式考试一定要仔细审题,严格按照题目的要求去做,不要受以前做过的题目的影响。   第二条:一定要考虑除零、溢出、类型转换、精度等细节问题!   虽然我们在平时学C语言的时候老师都提醒过,可是真正到了编程序的时候,却没有几个人会考虑。这些细节问题似乎并不直接影响题目的输出结果,然而,因为溢出和类型转换错误而造成考试得不到满分的可是大有人在啊! 我们看下面一道最害人的题目!,很多朋友考了这道题目都没有过。   下面来看看你为什么是0分!   考试中心命题组64题:   请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,   仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS8.DAT中。   替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),   如果原字符小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。   这道题目所有的人都做过,但几乎就没有人做对,包括南开无忧在内!   原因就在于这一句!   无忧:int f; f=(xx[i][k]*11)%6;   南开:char *pf; *pf=*pf*11%6;   表面看来,好象两个都对,   请你在TC下运行一下下面的代码,看一下结果你就知道了是怎么回事了:   main()   {   char nk=E,*nkp,wuyou=E;   int wy;   nkp=nk;   *nkp=*nkp*11%6;   wy=wuyou*11%6;   printf(“%c %c %c %c\n”,nk,*nkp,wuyou,wy);   printf(“%d %d %d %d\n”,nk,*nkp,wuyou,wy);   }   看到结果了么?是不是很吃惊啊?   -9 -9 69 247   大家看到了,南开的结果是负数,连原来的变量nk都变成了负数,这显然错了。   无忧的聪明一点,知道int比char大,定义了个int,对了。   南开错误原因就是在TC2.0中char型变量只有一个字节,根本容纳不下‘E*11,   所以产生了溢出,上次考这道题目没过的同学是不是有所启发呢?   这里给出考试中心命题组的答案:   void encryptChar(){   int i,k,ch;   for(i=0;i for(k=0;k ch=xx[i][k];  

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档