




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全国计算机等级考试二级全国计算机等级考试二级 C C 语言等级考试语言等级考试 题型解析题型解析 二级 C 考试分笔试和机试两部分,两部分总分均为 100 分,两部分考试均需 60 分以上 才能合格发放证书。若其中一科(笔试或机试)通过,另一科可在下一次考试中补考,若补 考合格发放证书。若二科均在 85 分以上,在合格证书上将加印“优秀”字样,若二科均在 70 分以上,在合格证书上将加印“良好”字样。 (一)笔试 笔试内容分两部分。公共基础知识考核内容:30 分;C 语言基础知识考核内容:70 分。 题型分析如下: 1、单向选择题 40 道题,共 70 分。 分值分布如下: 其中(1)(10) 、 (21)(40)小题,每題 2 分, (11)(20)小题,每题 1 分。 考核内容分布如下: (1)(10)小题为公共基础知识考核内容,共计 20 分; (11)(40)小题为 C 语言知识考核内容,共计 50 分。 2、填空题 15 个空,每空 2 分,共 30 分。 考核内容分布如下: (1)(5)空为公共基础知识考核内容,共计 10 分; (6)(15)空为 C 语言知识考核内容,共计 20 分。 (二)机试 机试三道题:程序填空题,30 分;程序修改题,30 分;程序设计题,40 分。 1、程序填空题 通常会给出一段源代码,设计三个空需要你来填写。每空 10 分。 例如: #include #include #define M 5 #define N 20 void fun(char (*ss)N) int i, j, k=0, n, m, len; for(i=0; i len=strlen(ssi); if(i=0) n=len; if(lenn) /*found*/ n=len; _1_=i; for(i=0; i if (i!=k) m=n; len=strlen(ssi); /*found*/ for(j=_2_; j=0; j-) ssim-=ssij; for(j=0; j /*found*/ _3_=*; main() char ssMN=“shanghai“,“guangzhou“,“beijing“,“tianjing“,“cchongqing“; int i; printf(“nThe original strings are :n“); for(i=0; i printf(“n“); fun(ss); printf(“nThe result:n“); for(i=0; i 2、程序修改题 通常会给出一段源代码, 设计 2-3 个错误需要你来修改。 修改好一处错误得分 10 分 (若 有 3 处错误)或 15 分(若有 2 处错误) 。例如: #include long fun(int g) /*found*/ switch(g); case 0: return 0; /*found*/ case 1 ;case 2 : return 1 ; return( fun(g-1)+fun(g-2) ); main() long fib; int n; printf(“Input n: “); scanf(“%d“, printf(“n = %dn“,n); fib=fun(n); printf(“fib = %dnn“,fib); 3、程序设计题 通常会给出一段源代码,要求你来设计其中的一个函数。完全编好,且运行正确得分 40 分,无中间过程得分。例如: 2010 全国计算机等级考试二级 C 语言资格考试教材及出题比例 教材: 全国计算机等级考试二级教程-C 语言程序设计(2010 年版) ,书中共分 16 章节 内容对理论考试内容进行了详细的介绍。第 17 章介绍机试操作内容。 通过对最近 3 次等级考试真题分析,各章内容及出题比例大约如下表所示。 章序号特点及学习方法 第 1 章 程序设计基本概念 主要考核知识点:了解 C 程序、程序设计、算法、模块化和结构 化程序设计等概念 学习方法:理解+记忆 第 2 章 C 程序设计的初步知识 主要考核知识点:了解 C 程序格式、标识符、常量、变量以 及算术运算符及算术表达式、赋值运算符和赋值表达式、自加/减以及逗号运算符 学习方法:编写简单 C 程序加强理解和记忆 第 3 章 顺序结构 主要考核知识点:printf()、scanf()函数的应用,复合语句及空语句的应用, 顺序程序设计思想 学习方法:理解顺序程序设计思想,设计一些典型的顺序程序,如计算圆的面积、体积,三 角形面积等 第 4 章 选择结构 主要考核知识点: 了解关系运算符和关系表达式; 掌握 if 语句的几种格式, switch 语句、break 语句,掌握条件表达式(唯一的三目运算符)的应用 学习方法:理解选择结构程序设计思想,设计一些典型的选择结构程序,如比较 2、3、4 个数大小,按等级输出学生成绩,计算分段函数,解一元二次方程等 第 5 章 循环结构 主要考核知识点:熟练掌握 while、do while、for 循环语句的格式及应用, 学习方法:理解循环结构程序设计思想,设计一些典型的循环结构程序,如累加和,阶乘, 求的近似值,Fibonacci 数列,求素数,求水仙花数等 第 6 章 字符型数据主要考核知识点:使用 printf()、scanf()函数进行字符型数据的输入和 输出,putchar()、getchar()函数的应用 学习方法:设计字符处理的各类应用程序,如 ASCII 字符处理,统计各类字符数,密码译码 等 第 7 章 函数 主要考核知识点:熟练掌握函数的定义和返回值、函数调用、函数申明、函数 之间值传递等概念 学习方法:理解为什么要使用函数,将前面设计的一些程序打包成函数 第 8 章 地址和指针主要考核知识点:理解指针、指针变量、指针变量的基类型等基本概 念 学习方法:理解指针的概念,设计一些简单的指针应用程序 第 9 章 数组 主要考核知识点:熟练掌握一维、二维数组的定义和引用;理解数组和指针结 合,数组名或数组元素作函数的参数的应用 学习方法:理解好一维、二维数组的概念及应用,数组指针和指针数组的应用,熟练冒泡排 序、选择排序程序 第 10 章 字符串主要考核知识点: 掌握字符串及运用指针和数组处理字符串, 处理字符串 常用的函数,如 gets()、puts()、strcpy()、strcmp()、strlen()、strcat()等 学习方法:理解课本上给出的字符串处理的例题 第 11 章 对函数的进一步讨论主要考核知识点:函数的递归调用 学习方法:理解课本上的计算 n!、求平方根的迭代公式求某数的平方根的递归算法 第 12 章 C 语言中用户标识符的作用域和存储类主要考核知识点: 理解全局变量、 局部变 量,auto、register、static、extern 存储类别的应用 学习方法:理解+记忆 第 13 章 编译预处理和动态存储分配主要考核知识点: 主要理解宏替换, 特别是带参的 宏 学习方法:通过课后习题程序理解宏替换的作用 第 14 章 结构体、共用体和用户定义类型主要考核知识点: 主要掌握结构体类型的说明、 结构体类型的变量/数组/指针变量的定义、给结构体变量/数组赋值、引用结构体变量中的 数据等内容;链表的操作 学习方法:通过例题及习题中的代码来理解及记忆 第 15 章 位运算主要考核知识点:理解 5 个位运算,按位取反、左移、右移、按位与、按 位或、按位异或 学习方法:理解+记忆 第 16 章 文件主要考核知识点:主要掌握文件指针、文件的打开和关闭;文件输入输出 函数,如 getc(fgetc)、putc(fputc)、feof、fscanf、fprintf、fgets、fputs、fread、fwrite、fseek、 ftell、rewind 等 学习方法:理解+记忆 2010 全国计算机等级考试二级 C 语言资格考试答题策略及技巧 (一)笔试 可考虑以下做题顺序(仅供参考) 1、先做公共基础题,选择题(1)(10) ,填空题(1)(5)空。 2、接下来完成 C 语言的基础题,选择题(11)(20) ,1 分题,考核一些基本概念, 如标识符是否合法、整型/实型常量、运算符与表达式、简单输入输出格式控制、if、switch 语句、for、while、do while 等的简单应用。 3、再接着完成选择题(21)(40) ,这 20 个选择题尤其是后 10 个选择题,都有一 定难度, 都会给定一段代码, 根据代码做选择, 因此, 需要读懂 C 的简单代码然后做了选择。 4、最后完成填空题(6)(15)空。也需读得懂 C 程序,还需判断出题意图,才能 填好空。难度较高。 (二)机试 题目顺序为:程序填空题,程序修改题,程序设计题。按顺序完成即可。 1、程序填空题 在源代码中会给出需填空的地方,如 s-data=_1_; 通常还是比较简单。 解题方法:先读懂源程序,了解程序的功能,然后试着边填空边调试,分析输出结果, 以找到正确的解。 程序填空题的特点和注意事项: (1)程序填空的试题中通常包含三个空需要填写。 (2)试题中用“*found*/“来提示且在下一行或下二行注明填空的位置及编 号,如_1_。 (3)程序填空考核对程序的整体把握,出题点可能是:for 循环语句的初始化或条件判 断、函数返回值、if 语句的条件判断、链表中指针如何移动、文件操作相关函数的参数等。 (4)特别要注意的是:只能在填空的位置填写语句或表达式,不要增行或删行,不要 改动程序行的顺序,更不要改动程序的结构。 程序填空时,建议按以下步骤进行: (1)首先仔细审题,了解试题的要求,看清楚试题给出的输入和输出例示,以便检验 程序运行的结果是否正确。 (2)审视“/*found*/“所在函数,根据题义理解程序所采用的基本算法,做 到心里有数。 (3)填好空后对测试程序进行检查是否有语法错误。当编译提示有语法错时,可参考 编译提示来查找并改正错误。 (4)当不再出现语法错时,执行程序, 按照试题的示例给出的数据进行试算,若试算 的结果与给出的输出结果相同时,该题就做对了;若试算的结果与给出的输出结果不同,就 应进一步检查程序中的逻辑错误。 (5)修改完成,得到正确结果后,一定不要忘记把修改后的程序存盘。 2、程序修改题 程序修改题的特点和注意事项: (1)上机改错的试题中通常包含两个(或三个)错误需要修改。 (2)试题中用“*found*/“来提示在下一行(或下面第二行)有错。 (3)错误的性质基本分语法错和逻辑错两种,也有些试题要求把语句添加在下划线处。 (4)特别要注意的是:只能在出错的行上进行修改,不要改动程序行的顺序,更不要 自己另编程序。 解题方法:边调试边找错,分析输出,找出并改正错误。 上机改错测试时,建议按以下步骤进行: (1)首先仔细审题,了解试题的要求,看清楚试题给出的输入和输出例示,以便检验 改错后程序运行的结果是否正确。 (2)审视“/*found*/“所在函数,根据题义理解程序所采用的基本算法,做 到心里有数。 (3)先对测试程序进行检查是否有语法错误。当编译提示有语法错时,可参考编译提 示来查找并改正错误。 (4)当不再出现语法错时,执行程序, 按照试题的示例给出的数据进行试算,若试算 的结果与给出的输出结果相同时,该题就做对了;若试算的结果与给出的输出结果不同,就 应进一步检查程序中的逻辑错误。 (5)当程序存在逻辑错误时,首先应当理解题意、读懂程序的算法,必要时可按步检 查数据的流程,以便确定错误所在。例如,题目要求数据按由小到大排序,而结果数据是按 由大到小进行了排序,问题可能出现在条件判断上。又如,输出的字符串比预期的短,就有 可能字符串的结束标志放错了位置。再如做循环的时候数组上限下限错误了,基数是从 0 开始 而不是 1 开始的。修改程序中的逻辑错时,要求考生认真读懂程序代码。 (6)修改完成,得到正确结果后,一定不要忘记把修改后的程序存盘。 3、程序设计题 在二级 C 程序设计上机考试中, 要求完成一个独立的函数的编程。 目前教育部考试中心 已出版了上机考试习题集, 这些有助于学习编程, 但考生应当在学习过程中理解基本的算法, 通过实际上机操作积累经验,才能掌握基本的编程能力。 进行编程测试时,建议按以下步骤进行: (1)首先仔细审题,了解试题的要求,记下试题给出的输入和输出例示,以便检验在 完成指定的函数后程序运行的结果是否正确。 (2)调出源程序后,应对照函数首部的形参,审视主函数中调用函数时的实参内容, 以便明确在函数中需要处理的数据对象。 (3)理解试题的要求,审视主函数中调用函数的方式,若在表达式中调用函数(如把函 数值赋给某个对象),则要求有函数值返回,需注意函数的类型,并在函数中用 return 语句 返回函数值;若主函数中仅用语句形式调用函数,则需要通过形参间接地返回所得结果。 (4)选择适当的算法进行编程,输入程序语句。不要忘记及时存盘! (5)编译程序,直到没有语法错误。 (6)调试程序,利用试题中给出的例示数据进行输入(若要求输入的话),运行程序, 用例示的输出数据检验输出结果,直到结果相同。 特别要注意:程序设计题要求完全设计正确才会给分,因此,要么是 40 分,要么是 0 分,不会给中间分。那么想通过机试,程序填空题和程序修改题通常来说必须全部正确才能 容易通过,否则不容易通过。 2010 全国计算机等级考试二级 C 语言C 编程时常犯的错误 1.书写标识符时,忽略了大小写字母的区别。 main() int a=5; printf(“%d“,A); 编译程序把 a 和 A 认为是两个不同的变量名,而显示出错信息。C 认为大写字母和小 写字母是两个不同的字符。 习惯上, 符号常量名用大写, 变量名用小写表示, 以增加可读性。 2.忽略了变量的类型,进行了不合法的运算。 main() float a,b; printf(“%d“,a%b); %是求余运算,得到 a/b 的整余数。整型变量 a 和 b 可以进行求余运算,而实型变量 则不允许进行“求余”运算。 3.将字符常量与字符串常量混淆。 char c; c=“a“; 在这里就混淆了字符常量与字符串常量, 字符常量是由一对单引号括起来的单个字符, 字符串常量是一对双引号括起来的字符序列。C 规定以“0”作字符串结束标志,它是由系 统自动加上的,所以字符串“a”实际上包含两个字符:a和0,而把它赋给一个字符变量 是不行的。 4.忽略了“=”与“=”的区别。 在许多高级语言中,用“=”符号作为关系运算符“等于” 。但 C 语言中, “=”是赋值 运算符, “=”是关系运算符。如: if (a=3) a=b; 前者是进行比较,a 是否和 3 相等,后者表示如果 a 和 3 相等,把 b 值赋给 a。由于习 惯问题,初学者往往会犯这样的错误。 5.忘记加分号。 分号是 C 语句中不可缺少的一部分,语句末尾必须有分号。 a=1 b=2 编译时,编译程序在“a=1”后面没发现分号,就把下一行“b=2”也作为上一行语句 的一部分,这就会出现语法错误。改错时,有时在被指出有错的一行中未发现错误,就需要 看一下上一行是否漏掉了分号。 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;i5;i+); scanf(“%d“, printf(“%d“,x); 本意是先后输入 5 个数,每输入一个数后再将它输出。由于 for()后多加了一个分号, 使循环体变为空语句,此时只能输入一个数并输出它。 7.输入变量时忘记加地址运算符“ scanf(“%d%d“,a,b); 这是不合法的。 scanf 函数的作用是: 按照 a、 b 在内存的地址将 a、 b 的值存进去。 “ 输入时,不能用逗号作两个数据间的分隔符,如下面输入不合法: 3,4 输入数据时,在两个数据之间以一个或多个空格间隔,也可用回车键,跳格键 tab。 scanf(“%d,%d“, C 规定:如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数 据时应输入与这些字符相同的字符。下面输入是合法的: 3,4 此时不用逗号而用空格或其它字符是不对的。 3 43:4 又如: scanf(“a=%d,b=%d“, 输入应如以下形式: a=3,b=4 9.输入字符的格式与要求不一致。 在用“%c”格式输入字符时, “空格字符”和“转义字符”都作为有效字符输入。 scanf(“%c%c%c“, 如输入 a b c 字符“a”送给 c1,字符“
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高考生物实验试题及答案
- 知识产权管理体系的建立过程试题及答案
- 网络规划设计师考试在线学习资源试题及答案
- 解析母猪护理常识试题及答案
- 销售灯饰面试题及答案
- 骨科博士面试试题及答案
- 应聘投标员的试题及答案
- 高血压全科试题及答案
- 计划生育试题及答案
- 母猪护理的基础知识考查试题及答案
- BIM在水利水电工程中的应用
- 学校直饮水卫生管理制度
- 产科术后镇痛
- 中央企业全面风险管理报告三篇
- 小神仙简谱(音乐资料)
- JJG 539-2016数字指示秤
- 九年级道德与法治第一学期期中考试质量分析报告
- GB/T 12750-2006半导体器件集成电路第11部分:半导体集成电路分规范(不包括混合电路)
- 国防科技大学介绍
- 11470国际劳务合作和海外就业第2章
- 鸽巢问题(例1、例2)课件
评论
0/150
提交评论