2022年全国计算机等级二级C语言考试复习五要点 .pdf
读书破万卷下笔如有神全国计算机等级二级C 语言考试复习五要点一、了解试卷,胸中有数综观近几年全国计算机等级二级基础部分和C语言程序设计的题目, 笔试中大多数考题是与大纲要求的基本内容一致的,难度不高, 但内容十分广泛, 应牢固掌握。所以,全面复习非常重要。二、深刻理解,强化概念对于计算机的基础知识和体系,应注意理解,切忌死记硬背。例如,可以把计算机硬件系统的结构图与实物对照着去理解:控制器和运算器常常集成在一起,称为 CPU ;存储器分为两种: 内存和外存, 只有内存才能与 CPU 直接打交道;所有这些部件又由总线将其联结为一体, 这种计算机又称为总线式计算机; 又如,计算机之所以称为电脑, 就是因为计算机的硬件结构、 处理问题的方式和人的大脑结构以及处理问题的方式基本一致。采用对照、 总结、联想的方法来复习这些内容,比死记硬背效果要好得多。三、归纳整理,适当记忆另一部分需要记忆的知识是计算机基础知识、基本概念。这些内容看似不起眼,但如果不适当加以记忆,考试时因此失分十分可惜。如:1946年至今,计算机发展已经历了四个时代, 这四个时代是如何划分的?一个计算机系统都由哪几部分组成?各部分关系怎样?我们可以在理解的基础上归纳整理,适当记忆。需要适当记忆的内容对初学者来说还有许多,如在 C语言中有几类不同类型的数据,各类数据在机器内部是如何存储的?C语言中的运算符都有哪些?运算的优先级别、结合方向怎样等。四、注重实践,融会贯通计算机是一门理论性、 实践性都很强的学科, 对二级考试的参加者来说, 基础理论方面要求不是特别深入,卷面中的题目大多数都可以上机实践。因此,注重实践,更显得重要。 考生应在对基本知识理解的同时注意多上机实践,通过实践,将所学知识融会贯通。五、多做练习,查漏补缺在认真地学完考试指定用书后,你可能已雄心勃勃, 充满信心。 但千万别高兴过早。再找一些题集,认真地测试一下,一则可以看看你究竟学习得如何,二则可以查漏补缺, 将还没有掌握的内容补起来, 以备正式考试时万无一失。 即使在平时,也应这样。多做练习,多加思考,在解题中下功夫,是学好计算机的关键。我国著名数学家华罗庚说过:“学数学不做练习,好比入宝山而空返。”学习计算机也是同样的道理。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 6 页读书破万卷下笔如有神C 语言上机考试改错题分析总结以下对改错题的改错方式做一些总结,当然这些总结只能对大部分改错行有效。1、若错误行是函数首部,可分为以下几种情况:A、该行最后若有分号则删除,中间若有分号则改成逗号B、形参类型不一致的问题,特别是指针类型,若后面用到某形参时有指针运算则该形参必为指针类型;若形参是二维数组或指向m个元素的指针变量,则第二维的长度必须与main中对应数组的第二维长度相同C、函数类型不一致的问题,若函数中没有return语句则函数类型为void ,若有 return语句则函数的类型必须与return后变量的类型一致。2、若错误行是if或 while 语句, 则首先看有没有用小括号将整个表达式括起,若没有则加上小括号。3、若错误行中有if 、while 、for则要特别注意条件表达式的错误问题:A、指针变量的应用,若表达式中有指针变量且没有指针运算符,则加上指针运算符B、若条件表达式中只有一个等于号,则改成两个等于号,若为其它比较运算符则一般是进行逆转或加一个等于号C、for中要用分号分隔表达式,而不是用逗号4、语法错误A、语句缺少分号,若错误行中有语句没有用分号结束,则加上分号。B、大小写不对,若错误行中有大写字母则一般都改成小写字母。5、指针变量的运用,若错误行中有指针变量,并且该变量名前没有指针运算符则一般都是加上指针运算符精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 6 页读书破万卷下笔如有神6、 若错误行为return语句,则首先看是否是缺少分号若是则加上分号即可;否则就是 return后的变量或表达式错误(此时可通过看题意,来分析该返回哪一变量或表达式)7、若错误行中见到整型1 除以某个表达式时,一概改成1.0 。但若是整型变量或表达式则只能用强制转换8、复合运算符写错9、字符串结束符写错,若有字符串结束符则要特别注意有没有写错,但第11 题例外,因为该题是要将数字字符转换成对应的数字。10、若错误行是定义语句,则首先看类型是否符合;再看所赋初值是否正确;若以上均不是,则看是否少定义了某个变量或少了花括号。11、表达式错误 (占的份量最多,并且没有统一的改法,我们只能通过题目要求来分析并修改)12、若错误行中有一条横线,则必须将横线删除再填空。填空题中亦是如此。C 语言常见算法总结【】求最大值与最小值. #include void main() int num5,max,min,i; printf( 请输入 5 个数字 :) for(i=0;i5;i+) scanf(%d,&num) max=num0; min=num0; for(i=1;i5;i+) if(maxnum) min=num; printf(n 最大值为 :%d,max); printf(n 最小值为 :%d,min); 【2】查找 : #include #define N 10 void main() int i; int numN,search; printf( 请输入 %d 个数组元素 :n,N); for(i=0;iN;i+) scanf(%d,&num); printf(n 请输入您要查找的元素:); scanf(%d,&search); for(i=0;iN;i+) if(num=search) break; if(iN) printf(n 在数组的第 %d 个位置找到了数字%dn,search); else printf( 没有找到 ); 【3】排序 : #include #define N 5 void main() int i,j; int gradeN,temp; printf(n 输入 %d 个数字 :n,N); for(i=0;iN;i+) scanf(%d,&grade); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 6 页读书破万卷下笔如有神for(i=0;iN;i+) for(j=0;jN-i-1;j+) if(gradejgradej+1) temp=gradej+1; gradej+1=gradej; gradej=temp; printf(n 排序后的成绩为:n); for(i=0;iN;i+) printf(%d,grade); 【4】插入 : #include #define N 5 void main() int i,j; int numN+1=23,45,60,67,88,in; printf(n 插入前的数组元素:n); for(i=0;iN;i+) printf(%d,num); printf( 请输入一个要插入的数:); scanf(%d,&in); for(i=0;iin)/ 找到位置并跳出break; for(j=N;ji;j-)/为要插入的数字留出位置 nmj=numj-1; num=in;/ 将来插入的数保存在该位置printf(n 插入后的数组元素:n); for(i=0;iN+1;i+) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 6 页读书破万卷下笔如有神 printf(%d,num); printf(n); OK, 完成 .为以后打好基础,一起加油哦 . 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 6 页