上半年全国计算机等级考试二级C语言考前复习资料机试

上传人:碎****木 文档编号:218630763 上传时间:2021-12-05 格式:DOCX 页数:17 大小:254.39KB
返回 下载 相关 举报
上半年全国计算机等级考试二级C语言考前复习资料机试_第1页
第1页 / 共17页
上半年全国计算机等级考试二级C语言考前复习资料机试_第2页
第2页 / 共17页
上半年全国计算机等级考试二级C语言考前复习资料机试_第3页
第3页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《上半年全国计算机等级考试二级C语言考前复习资料机试》由会员分享,可在线阅读,更多相关《上半年全国计算机等级考试二级C语言考前复习资料机试(17页珍藏版)》请在金锄头文库上搜索。

1、2012 年上半年全国计算机等级考试二级 C 语言考前复习资料(机试)机试做题技巧概述一、程序填空题【解析】该类型主要考察学员对一个C 程序的整体把握力量。首先须通读整个源程序,了解程序的功能后试着边填空边调试,分析输出结果,以找到正确答案。因此,不像程序修改题那么简洁。【程序填空题的特点和留意事项】(1) 程序填空的试题中通常包含三个空需要填写。(2) 试题中用“*found*/“来提示在下一行或下二行注明填空的位置及编号,如1。(3) 程序填空考核对程序的整体把握,出题点可能是: for 循环语句的初始化或条件推断、函数返回值、if 语句的条件推断、链表中指针如何移动、文件操作相关函数的参

2、数等。(4) 特别要留意的是:只能在填空的位置填写语句或表达式,不要增行或删行,不要改动程序行的挨次,更不要改动程序的结构。【建议答题步骤】(1) 首先认真审题,了解试题的要求,看清题目给出的输入和输出例示,以便检验程序运行的结果是否正确。(2) 端详“/*found*/“所在函数,依据题义理解程序所接受的基本算法,做到心里有数。(3) 填好空后对测试程序进行检查是否有语法错误。当编译提示有语法错时, 可参考编译提示来查找并改正错误。(4) 当不再消灭语法错时,执行程序, 依据试题的示例给出的数据进行试算,若试算的结果与给出的输出结果相同时,该题就做对了;若试算的结果与给出的输出结果不同,就应

3、进一步检查程序中的规律错误。(5) 修改完成,得到正确结果后,肯定不要遗忘把修改后的程序存盘。二、程序修改题【解析】该类型主要考察学员对 C 程序部分结构或算法的分析和理解力量。因此,对学员的学问把握力量要求不高,通常可以借助计算机帮我们改错(仅限语法错误)。若非语法错误,则需对程序边调试边找错,分析输出结果,找出错误所在并改正。【程序填空题的特点和留意事项】(1) 上机改错的试题中通常包含两个(或三个)错误需要修改。(2) 试题中用“*found*/“来提示在下一行(或下面其次行)有错。(3) 错误的性质基本分语法错误和规律错误两种,也有些试题要求把语句添加在下划线处。(4) 特别留意:只能

4、在出错的行上进行修改,不要改动程序行的挨次,更不要自己另编程序。【建议答题步骤】(1) 首先认真审题,了解试题的要求,看清楚试题给出的输入和输出例示,以便检验改错后程序运行的结果是否正确。(2) 端详“/*found*/“所在函数,依据题义理解程序所接受的基本算法,做到心里有数。(3) 先对测试程序进行检查是否有语法错误。当编译提示有语法错时,可参考编译提示来查找并改正错误。(4) 当不再消灭语法错时,执行程序, 依据试题的示例给出的数据进行试算, 若试算的结果与给出的输出结果相同时,该题就做对了;若试算的结果与给出的输出结果不同,就应进一步检查程序中的规律错误。(5) 当程序存在规律错误时,

5、首先应当理解题意、读懂程序的算法,必要时可 按步检查数据的流程,以便确定错误所在。例如,题目要求数据按由小到大排 序,而结果数据是按由大到小进行了排序,问题可能消灭在条件推断上。又如, 输出的字符串比预期的短,就有可能字符串的结束标志放错了位置。再如做循环的时候数组上限下限错误了,下标是从 0 开头 而不是 1 开头的。修改程序中的规律错时,要求考生认真读懂程序代码。(6) 修改完成,得到正确结果后,肯定不要遗忘把修改后的程序存盘。三、程序设计题【解析】主要考察学员对 C 语言综合理解力量和上机实践力量,能够对所给问题,运用所学学问,依据程序设计的步骤独立编写出一段程序,学会用计算机语言描述日

6、常生活中所见到的现象和拟题,通过实际上机操作积存阅历,熬炼用 C 语言描述问题的规律思维力量。【建议答题步骤】(1) 首先认真审题,了解试题的要求,登记试题给出的输入和输出例示,以便检验在完成指定的函数后程序运行的结果是否正确。(2) 调出源程序后,应对比函数首部的形参,端详主函数中调用函数时的实参内容,以便明确在函数中需要处理的数据对象。(3) 理解试题的要求,端详主函数中调用函数的方式,若在表达式中调用函数 (如把函数值赋给某个对象),则要求有函数值返回,需留意函数的类型,并在函数中用 return 语句返回函数值;若主函数中仅用语句形式调用函数,则需要通过形参间接地返回所得结果。(4)

7、选择适当的算法进行编程,输入程序语句。不要遗忘准时存盘!(5) 编译程序,直到没有语法错误。(6) 调试程序,利用试题中给出的例示数据进行输入(若要求输入的话),运行程序,用示例的输出数据检验输出结果,直到结果相同。特别要留意:程序设计题要求完全设计正确才会给分,因此,要么是 40 分,要么是 0 分,不会给中间分。那么想通过机试,程序填空题和程序修改题通常来说必需全部正确才能简洁通过,否则不简洁通过。上机改错题重点题型归类分析分类一:简洁语法错误u 题型一:符号遗漏1、下列程序的功能是:读入一个整数 k(2k10000),打印它的全部质因子(即全部为素数的因子)。例如,若输入整数: 2310

8、,则应输出: 2、3、5、7、11。请改正程序中的语法错误,使程序能得出正确的结果。留意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! #include“conio.h”#include“stdio.h”/*found*/ IsPrime ( int n ); int i, m; m = 1;for ( i = 2; i n/ i+ )/*found*/if!( n%i )m=0; break;return ( m );main () int j, k;clrscr ();printf (“nPease enter an integer number between 2 a

9、nd 10000:”); scanf (“%d”,&k );printf ( “nn The prime factor (s) of % d is ( are ):”, k ); for ( j = 2; j k+;breakbreak; return sumreturn sum;l 分号多余:if(k1); if(k1) while(k1); while(k1) switch( ); switch( ) (2) 遗漏括号if k1 if(k1)if !(n%i) if (!(n%i) while k1 while(k1)题型二:符号出错2、给定程序 MODI1.C 中函数 fun 的功能是:

10、用下面的公式求的近似值,直到最终一项的确定值小于指定的数(参数num )为止: 1111 - + - + . 4357例如, 程序运行后, 输入 0.0001, 则程序输出 3.1414。请改正程序中的错误,使它能输出正确的结果。留意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!#include #include float fun ( float num )int s ; float n, t, pi ;t = 1 ; pi = 0 ; n = 1 ; s = 1 ;/*found*/ while(t = num)pi = pi + t ; n = n + 2 ; s =

11、 -s ;/*found*/ t = s % n ;pi = pi * 4 ; return pi ;main( )float n1, n2 ;printf(“Enter a float number: “) ;scanf(“%f“, &n1) ; n2 = fun(n1) ;printf(“%6.4fn“, n2) ;【参考答案】(1)while(fabs(t)=num)(2)t=s/n3、下列给定程序中,函数 fun 的功能是:从低位开头取出长整型变量 s 中偶数位上的数,一次构成一个新数放在 t 中。例如,当 s 中的数为 7654321 时,t 是的数为 642。请改正程序中的错误,使

12、程序能得出正确的结果。留意,不要改多 main 函数,不得增行或删行,也不得更改程序的结构!#include #include /*found*/ void fun (long s, long t)long sl=10; s/=10;*t=s%10;/*found*/ while (s0)【解题技巧】符号出错会表现在以下七个方面:(1)“%”和除号“/”混淆,如 int i=j/k;int i=j%k;有时候反过来考,将“%”改为“/”(2)赋值号“=”和等号“= =”混淆如 if(i=j)if(i=j)while(i=j)while(i=j)(3) 复合赋值出错,如:i=10i/=10,除号

13、是左下的斜线(4) 强制转换出错,如 int i=int(f)int i=(int)f 强制转化是在类型上加括号(5) 大小写问题,如 IF() if() 或 For( ) for() 注:全部的关键字都是小写字母(6) 条件推断时的符号问题(要依据具体题意来修改)如 if(fabs(n-m)if(fabs(n-m) 0.0001)if(*sif(*s*p)for(;jfor(;jint (*a)10(7) 浮点数不能比较大小,只能用确定值来比较u 题型三:变量定义出错4、程序的功能更是求方程 2x3-4x2+3x-6=0 的一个根,求要求确定误差不超过 0.001。例如,若给 m 输入 -100,给 n 输入 90,则函数求得的一个根值为 2.000

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号