全国计算机等级考试二级c上机考试必读

上传人:j****9 文档编号:45988031 上传时间:2018-06-20 格式:DOC 页数:18 大小:86.50KB
返回 下载 相关 举报
全国计算机等级考试二级c上机考试必读_第1页
第1页 / 共18页
全国计算机等级考试二级c上机考试必读_第2页
第2页 / 共18页
全国计算机等级考试二级c上机考试必读_第3页
第3页 / 共18页
全国计算机等级考试二级c上机考试必读_第4页
第4页 / 共18页
全国计算机等级考试二级c上机考试必读_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《全国计算机等级考试二级c上机考试必读》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级c上机考试必读(18页珍藏版)》请在金锄头文库上搜索。

1、1计算机等级考试二级计算机等级考试二级 C 上机考试专题上机考试专题机试部分:机试部分:机试就要亲自编程,考核阅读程序、编写程序的实践能力。 题型分为:程序填空 30 分、程序改错 30 分、编写程序 40 分,3 大题共 100 分。 主要是熟悉 C 程序设计的方法和步骤、掌握 C 语言语法规则,掌握程序设计的 控制结构及其流程的执行走向,掌握数组、指针、函数、字符串、文件等相关 内容,实现程序实践。主要涉及的章节主要是函数、数组、文件、循环、字符 串、指针、选择等。 考查内容主要包括: A. 数据统计与检索,包括:累加、连乘、最大值、最小值、平均值等; B. 数组元素和字符串的使用; C.

2、 数值计算包括矩阵计算、矩阵转置; D. 字符处理,包括英文字母大小写转换和字符个数统计等。一、上机改错题的特点和注意事项一、上机改错题的特点和注意事项1上机改错的试题中通常包含两个(或三个)错误需要修改。 2试题中用“*found*/“来提示在下一行(或下面第二行)有错。 3错误的性质基本分语法错和逻辑错两种,也有些试题要求把语句添加在下划线处。 4特别要注意的是:只能在出错的行上进行修改,不要改动程序行的顺序,更不要自 己另编程序。二、上机改错测试时,建议按以下步骤进行二、上机改错测试时,建议按以下步骤进行1首先仔细审题,了解试题的要求,看清楚试题给出的输入和输出例示,以便检验改 错后程序

3、运行的结果是否正确。 2当在 V C+6.0 环境下调出源程序后,审视“/*found*/“所在函数,根据 题义理解程序所采用的基本算法,做到心里有数。 3先按 CTRL+F7 对测试程序进行检查是否有语法错误。当编译提示有语法错时,可 参考编译提示来查找并改正错误。 4当不再出现语法错时,使用 CTRL+F5 执行, 按照试题的示例给出的数据进行试 算,若试算的结果与给出的输出结果相同时,该题就做对了;若试算的结果与给出的输出 结果不同,就应进一步检查程序中的逻辑错误。 5当程序存在逻辑错误时,首先应当理解题意、读懂程序的算法,必要时可按步检查 数据的流程,以便确定错误所在。例如,题目要求数

4、据按由小到大排序,而结果数据是按 由大到小进行了排序,问题可能出现在条件判断上。又如,输出的字符串比预期的短,就 有可能字符串的结束标志放错了位置。再如做循环的时候 数组上限下限错误了 ,基数是 从 0 开始 而不是 1 开始的。修改程序中的逻辑错时,要求考生认真读懂程序代码。 6修改完成,得到正确结果后,一定不要忘记把修改后的程序存盘。三、上机编程题的特点和说明三、上机编程题的特点和说明2在二级 C 程序设计上机考试中,要求完成一个独立的函数的编程。目前教育部考试中 心已出版了上机考试习题集,这些有助于学习编程,但应当在学习过程中理解基本的算法, 通过实际上机操作积累经验,才能掌握基本的编程

5、能力。 四、进行编程测试时,建议按以下步骤进行四、进行编程测试时,建议按以下步骤进行1首先仔细审题,了解试题的要求,记下试题给出的输入和输出例示,以便检验在完 成指定的函数后程序运行的结果是否正确。 2当在 V C+6.0 环境下调出源程序后,应对照函数首部的形参,审视主函数中调用 函数时的实参内容,以便明确在函数中需要处理的数据对象。 3理解试题的要求,审视主函数中调用函数的方式,若在表达式中调用函数(如把函 数值赋给某个对象),则要求有函数值返回,需注意函数的类型,并在函数中用 return 语句 返回函数值;若主函数中仅用语句形式调用函数,则需要通过形参间接地返回所得结果。 4选择适当的

6、算法进行编程,输入程序语句。不要忘记及时存盘! 5编译程序,直到没有语法错误。 6调试程序,利用试题中给出的例示数据进行输入(若要求输入的话),运行程序,用 例示的输出数据检验输出结果,直到结果相同。以下是一些 C 编程时常犯的错误,特别写给各位同学以供参考。 1.书写标识符时,忽略了大小写字母的区别。书写标识符时,忽略了大小写字母的区别。 main() int a=5; printf(“%d“,A); 编译程序把 a 和 A 认为是两个不同的变量名,而显示出错信息。C 认为大写字母和小 写字母是两个不同的字符。习惯上,符号常量名用大写,变量名用小写表示,以增加可读 性。 2.忽略了变量的类型

7、,进行了不合法的运算。 main() float a,b; printf(“%d“,a%b); %是求余运算,得到 a/b 的整余数。整型变量 a 和 b 可以进行求余运算,而实型变量则 不允许进行“求余”运算。 3.将字符常量与字符串常量混淆。将字符常量与字符串常量混淆。 char c; c=“a“; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符, 字符串常量是一对双引号括起来的字符序列。C 规定以“”作字符串结束标志,它是由系统 自动加上的,所以字符串“a”实际上包含两个字符:a和,而把它赋给一个字符变量是不 行的。 4.忽略了忽略了“=”与与“=”的区别。的

8、区别。 在许多高级语言中,用“=”符号作为关系运算符“等于”。如在 BASIC 程序中可以写 3if (a=3) then 但 C 语言中,“=”是赋值运算符,“=”是关系运算符。如: if (a=3) a=b; 前者是进行比较,a 是否和 3 相等,后者表示如果 a 和 3 相等,把 b 值赋给 a。由于习 惯问题,初学者往往会犯这样的错误。 5.忘记加分号。忘记加分号。 分号是 C 语句中不可缺少的一部分,语句末尾必须有分号。 a=1 b=2 编译时,编译程序在“a=1”后面没发现分号,就把下一行“b=2”也作为上一行语句的一 部分,这就会出现语法错误。改错时,有时在被指出有错的一行中未发

9、现错误,就需要看 一下上一行是否漏掉了分号。 z=x+y; t=z/100; printf(“%f“,t); 对于复合语句来说,最后一个语句中最后的分号不能忽略不写。6.多加分号。多加分号。 对于一个复合语句,如: z=x+y; t=z/100; printf(“%f“,t); ; 复合语句的花括号后不应再加分号,否则将会画蛇添足。 又如: if (a%3=0); I+; 本是如果 3 整除 a,则 I 加 1。但由于 if (a%3=0)后多加了分号,则 if 语句到此结束, 程序将执行 I+语句,不论 3 是否整除 a,I 都将自动加 1。 再如: for (I=0;I_2_ *=a; m

10、ain( ) STU std= 1,“Zhanghua“,76.5,78.0,82.0 ; float a; printf(“nThe original number and name and scores :n“); show(std); printf(“nInput a number : “); scanf(“%f“, /*found*/ modify(_3_,a); printf(“nA result of modifying :n“); show(std); 参考答案:参考答案:(1)STU(2)scorei(3) char ch; fp = fopen(“file1.txt“, “w

11、“); fprintf(fp, “%s %d %fn“, s, a, f); fclose(fp); fp = fopen(“file1.txt“, “r“); printf(“nThe result :nn“); ch = fgetc(fp); /*found*/ while (!feof(_2_) /*found*/ putchar(_3_); ch = fgetc(fp); putchar(n); fclose(fp); main() char a10=“Hello!“; int b=12345; double c= 98.76; fun(a,b,c); 参考答案:参考答案:(1)FIL

12、E *(2)fp(3)ch 83. 给定程序中,函数 fun 的功能是: 将 s 所指字符串中的所有数字字符移到所有非数字字符 之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参 s 所指的字符串为: def35adh3kjsdf7。执行结果为:defadhkjsdf3537。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1.C 中。 不得增行或删行,也不得更改程序的结构! #include void fun(char *s) int i, j=0, k=0; char t180, t280; for(i=0;

13、 si!=0; i+) if(si=0 /*found*/ *(pstr + i) = pstr + j ; 13*(pstr + j) = p ; main( ) int i ; char *pstr6, str6MAXLINE ; for(i = 0; i =0 s+; return count; 2、编写一个函数,从 num 个字符串中找出最长的一个字符串,并通过形参指针 max 传回该串 地址。(注意: 主函数中用*作为结束输入的标志,函数 fun 中给出的语句仅供参考。) 注意:部分源程序在文件 PROG1.C 中。 请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun

14、 的花括号中填入你 编写的若干语句。 #include 16#include void fun(char(*a)81,int num,char *max) /* 以下代码仅供参考 */ int i,k=0,len, maxlen; /* k 为 a 数组中最长串所在元素的下标,初始为 0,maxlen 为其 串长 */ maxlen=strlen(ak); for(i=1;ik;i+) /* 以下完成查找最长串 */ *max=ak; main() char ss1081,*ps;void int n,i=0; printf(“输入若干个字符串:“); gets(ssi); puts(ssi)

15、; while(!strcmp(ssi,“*“)=0) i+; gets(ssi); 17puts(ssi); n=i; fun(ss,n, printf(“nmax=%sn“,ps); 参考答案:2、len=strlen(ai) ; if(maxlenlen)k=i ;maxlen=len ;3、请编写函数 fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数 组中的值在主函数中赋予。 例如:二维数组中的值为 1 3 5 7 9 2 9 9 9 4 6 9 9 9 8 1 3 5 7 0 则函数值为 61。 注意: 部分源程序存在文件 PROG1.C 文件中。 请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入你 编写的若干语句。 #include #define M 4 #define N 5 int fun ( int aMN ) 18 main( ) int aaMN=1,3,5,7,9, 2,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

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