计算机上级考试.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
错误数量 从第二十四次(2006年4月)考试开始至今,错误数量一致设为5处,改对一处得8分。 二、 推荐改错流程 1、阅读试题。 (1)看清试卷上要求修改的程序名称。正式考试时工作目录下会出现多个C源程序,打开时不要弄错了. (2)了解程序功能。试卷上有该程序功能说明,并且有时还会出现在程序中使用的一些变量、数组等的名称,读题时即可了解这些数据的作用,有助于等会儿更好地分析程序。 (3)注意“注意”。试卷上改错题一般会有“注意:不得增加行或删除行,不得更改程序结构。”字样。但偶然还是有例外。曾在第二十次第二套题中,出现了“注意:可以增加和修改程序行,但不得删除程序中的整行。在一处增加的程序行不得超过两行,不得更改程序的结构。”。改错时增加了一行代码。 2、通读程序。 阅读完试卷的说明后,先别急着去编译、连接和运行。应先通读整个程序,了解程序的整体结构和算法实现。修改你能发现的错误,有些错误是相当明显的。C程序从主函数开始运行,阅读程序也需从主函数开始。当发生函数调用时,再转到被调用函数去阅读,执行结束或遇return语句返回。C常见错误地方(按一般程序流程): (1)输入语句(相当常见,基本每一次考试都有) 常见错误为2种情况: a. 用scanf函数接收整型或其它数值型变量值。错误:scanf (“%d”, m ) 改正:m改为m 点评:在scanf函数后的接收参数均使用的是地址值。如果是一般变量,前加取地址运算符,如果是指针,直接使用指针变量名(指针本身代表地址),如果是字符数组接收字符串。则直接使用字符数组名(数组名代表数组首地址)。此外还要注意输入格式控制是否正确。 b. 用gets接收字符串时。错误:char a[100]; gets(a[100]); 改正:gets(a); 点评:当定义了一个数组例如a[100], 在程序的执行语句中再也不可能见到a[100]了,如果是访问数组元素,其下标只能是0-99。另外,当数组用作函数实参时,一般都使用数组名,其意为:将数组首地址传递给形参。 (2)函数调用时(相当常见,基本每套改错题都在调用时有错) 函数调用格式:函数名(实参1,实参2。。。。。)。函数调用时的错误原因较为复杂。大致可分为以下几种情况: a. 函数调用时参数个数不对。函数调用要求实参和形参(定义函数时首部括号 里的参数)个数要相等。这种错误一般是调用时缺少实参。最近在第25次考试第二套题中出现过。 b. 函数调用时参数类型不匹配。函数调用要求实参和形参类型要一致。形参和实参类型如果不一致,则需修改其中一方。具体是哪一方出错需结合具体题目判定。这种错误出现次数最多。 c. 函数返回值出问题或与定义返回类型不一致。对于涉及到有返回值的被调用函数,要注意几个问题。1. return返回的值是否满足题意要求.例如第27次第一套题return后未返回 d. mid.2. 返回值类型是否同函数名前的返回类型保持一致. 例如第27次第一套题函数返回了整型值,但函数返回类型却定义为void类型.3. 如果在主函数中将函数返回值赋给了某变量,该变量类型是否和函数返回类型一致.这种出错情形较少见。 一.程序调试题(文件名test2-1.c)(40分) ????磁盘上有test2-1.c,其功能是:把一个正整数各位上的数转换成对应的数字字符,并逆序输出(输出时每个数字字符之后插入一个*号)。例如:输入256,则输出的字符为6*5*2。 ????注意:可以增加和修改程序行,但不得删除程序中的整行。在一处增加的程序行不得超过两行,不得更改程序的结构。 二.编写程序(程序文件名为test2-2.c)(60分) ????已知磁盘上的test2-2.txt文本文件中包含3个字符串,每个字符串的长度小于80且3个字符串之间以换行符做分隔。编写程序要求实现: ????1.从文件中读入3个字符串并把它们按升序排序。 ????2.将排序后的3个字符串输出到屏幕和追加到原磁盘文件的尾部。 文件test2-1.c的内容如下: #include void fun(int m, char s) { ? ???int ?k, i=10; ???while(m!=0) ???{ ??????k=m/i ; ??????*s=k+0; ??????s++ ; ??????m=(m-k)/i ; ???} } void main() { ???int ??x, i; ???char ?s[10]; ???scanf(%d, x); ???if(x0) ???{ ?????fun(x, s); ?????for(i=0 ; s ; i++) ???????printf(%c* , s[i]) ; ???} ??

文档评论(0)

考试教学资料 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档