在线网校!

学习乐园-网校学习乐园

当前位置: 主页 > 网校 > 233网校 >

2013年核算机等考上机六大注重事项

究竟是啥缘由呢?不就是那100道标题吗?辗转反侧的看也没有发现个人的程序有啥过错啊,看材料,用模仿盘模仿也是满分啊,可为啥正式考试就是0分呢? 所以许多人乃至把经过上机考试当成一件命运的事了,乃至有的兄弟对上机考试感到非常惊骇,但是这其间真实的缘

 
究竟是啥缘由呢?不就是那100道标题吗?辗转反侧的看也没有发现个人的程序有啥过错啊,看材料,用模仿盘模仿也是满分啊,可为啥正式考试就是0分呢?
  所以许多人乃至把经过上机考试当成一件命运的事了,乃至有的兄弟对上机考试感到非常惊骇,但是这其间真实的缘由…… 咱们无妨和我一同看一下考试中间出题组的正确答案。趁便提示一下咱们在考试的时分要注重的难题,期望对咱们有所协助。

  第一条:审题要细心!

  正式考试的时分会遇到许多面善的标题,这些标题有的好像和往常材料中看到的相同,但是,千万不要见到面善的标题而自鸣得意,由于有许多的“圈套”会使你审题的时分就犯错!

  咱们看一道一切人都做过的的 “数字标题” 。

  考试中间出题组第23题:

  已知在文件in.dat中存有N个实数,(N<200),函数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];

  ch=(ch*11)%6;

  if(!(ch<=32||ch>=130))xx[i][k]=ch;

  }

  }

  好像一个比如不能阐明啥,那就把上面的数字标题的答案给咱们看看:

  考试中间出题组23题答案:

  int i;

  long val;

  float dec;

  for(i=0;i val=(long)xx[i];

  aver+=xx[i]-val;

  }

  aver/=(double)N;

  for(i=0;i val=(long)xx[i];

  dec=xx[i]-val;

  if(dec>aver){

  sumint+=val;

  sumdec+=(xx[i]-val);

  }

  }

  看到了吧,首要,val的界说,不是咱们习气的int,而是能包容更大数的 long ,

  这样在求和的时分就不会溢出,无忧和南开的答案没有吧

  再看,算aver平均值的细节,不是咱们往常习气的aver/=N,更不是无忧的1.0* sum/N,

  而是aver/=(double)N,所以咱们在考试的时分要时辰注重你的变量类型,特别是在一些求平均值的标题中,千万要注重,用sum/n的时分,sum的类型必定不要用整形。

  第三条:不要运用快捷键!

  许多人在运用TC的时分习气于用F9,CTRL+F9或许其他的热键,首要F9仅仅编译了,并没有运转程序,考试必定要运转一下你的程序才会有输出文件,否则必定是0分。热键在考试的时分是很风险的,由于UCDOS的热键和TC的抵触,CTRL+F9变成了全角半角变换,若是不小心按了,会致使你的程序有中文字符,编译的时分犯错,并且很难查找扫除过错! 所以主张咱们在考试的时分运用ALT+赤色字母 来调出菜单进行编译调试等过程,主张过程为:

  写完代码后用ALT+F,S存盘,然后ALT+C,M编译,然后ALT+R,R运转,这样就满有把握了。

  第四条:不要加载任何输入法

  上机考试用的DOS环境内存非常有限,若是你加载了任何一个输入法,都有能够形成编译程序的时分呈现out of memory 内存不足的状况,到那时就麻烦了。

  程序只要写的对就能够,不要弄巧成拙的加注释,没有人看的!

  第五条:不要提早交卷!

  考场通常运用NOVELL网络,有的时分存在网络状况欠好而衔接失利等难题。这时,若是你现已提早交卷的话就不太好了。别的也能够避免他人有意无意的改动你的程序。

  第六条:考试时分的一些窍门

  1、进入TC今后若是想检查题干需求,不必退出TC,直接用F12就能够显现出来。

  2、用F12显现标题之后能够经过CTRL+BACKSPACE把标题定在屏幕上。

  3、编译运转之后,能够经过type out.dat或edit out.dat或tc out.dat检查输出文件。

  (千万不要改动!否则影响考试成果。若是不小心改动,再从头编译运转一次你的程序就能够了)

  4、若是考试的时分不小心改动了代码的主函数或其他有些,能够进入考生目录下的warn躲藏目录,

  把里面的备份文件复制到考生目录。过程:

  在考生目录下输入cd warn

  输入copy *.c ..输入cd ..

  就能够了

  5、若是调试的时分不小心死循环了,能够经过CTRL+C或CTRL+BREAK来停止,若是连按屡次都没反响,不要慌,当即找监考教师阐明状况,能够从头启动机器持续答原题,你的程序还在,时刻也是持续方才的。所以这也提示咱们,运转程序之前必定要先存盘。

(责任编辑:学习乐园)
------分隔线----------------------------
热点内容
高顿网校中级会计职称课程免费领