欢迎来到天天文库
浏览记录
ID:14144591
大小:241.50 KB
页数:64页
时间:2018-07-26
《二级c语言上机考试改错题总结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、二级C语言上机考试改错题总结——张官祥根据本人多年研究全国计算机等级考试二级C语言,发现很多考生对上机考试存在很大的问题。现将本人在教学当中对二级C语言上机考试题库总结的经验和大家分享,希望能对我们考生的考试有所帮助,顺利通过考试!以下是对上机考试改错题的做题方法和总结,改错题的错误主要分为以下几类:1、if或while语句若错误行是if或者while语句,则要注意以下点:1)首先判断是否正确书写if或while关键字;2)然后看有没有用小括号把整个表达式括起来,若没有则加上小括号;3)若条件表达式中有指针变量而且没有指针运算符时,则加上指针
2、运算符;4)若if条件表达式中只有一个等于号即数学等号(=),则要改写成两个等于号即逻辑等号(==);5)若if条件表达式为其他的比较运算符,则一般是进行逆转或加一个等于号;2、for语句若错误行是for语句,则要注意以下几点:1)首先判断for有没有书写正确;2)然后看for中的表达式是不是用分号(;)隔开,若不是则改为分号。记住是分号(;),不是逗号(,)!3)再者,分析for中的三个表达式,是否符合题意;第一个表达式表示起始条件,第二个表达式表示终止条件,第三个表达式表示循环变量的变化。3、return语句若错误行为return语句,则
3、要注意以下几点:1)首先看是不是正确书写return关键字;2)然后看是不是缺少分号,若是则加上分号即可;3)再者判断return后的变量或表达式是否正确;这种错误需要根据题意来分析,分析返回变量或表达式的值和类型。4、赋值语句若错误行是赋值语句,则要看赋值是否正确,然后看赋值运算符是否写正确。5、定义语句若错误行是定义语句,则要注意:1)首先分析变量类型名是否写对;2)然后分析给变量赋初值是否正确;3)若以上均不是,则看是不是少定义了某个变量或少了花括号;6、表达式错误问题:若错误行中有整数1除以某个表达式或变量时,必须把整数1改为1.0;
4、若变量或表达式是整型时,则只能进行强制类型转换。7、字符串类问题若错误行中有字符串结束符,则特别要要注意结束符有没有写错。但是要区分清楚字符‘o’和数字’0’。8、指针类问题若错误行中有指针变量,并且该变量名之前没有指针运算符,则一般都是加上指针运算符;9、函数首部类问题:若错误行是函数首部,则要注意:1)首先看该行最后有没有分号,若有则删掉分号;若中间有分号则要改为逗号;2)形参和实参类型不一致问题①若实参是个地址或数组名或指针变量名,则对应的形参肯定是指针或数组;②若实参是二维数组名,则对应的形参应该是指针数组或是二维数组;③若后面用到某
5、形参的时候有指针运算符,则该形参比为指针类型;④若形参是二维数组或指向M个元素的指针变量,则该二维的长度必须与main中对于数组的第二维的长度相同。3)函数类型不一致问题①若函数中没有return语句,则函数类型为void;②若函数中有return语句,则函数的类型必须与rerun后的变量类型一致;记住,调用函数的类型与main中的该函数的类型一致!10.语法错误问题:1)语句缺少分号。若错误号中语句没有以分号结束则加上分号;2)变量名不一致。C语言是区分大小写的,若错误行中有大写字母一般都改为小写字母;11.逻辑错误问题:这种题型主要是表达
6、式错误,占的题量比较多而且我们没有统一的做题方法,需要我们具体问题具体分析。12.书写错误问题:特别注意我们的注释部分,注释是以/*开始,以*/结尾,不能有多余的,有也只能在/*和*/里面。注意,比如“/***注释部分*****/*/”是错误的!模拟试题(一)1.填空题请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2接在字符串str1的后面。例如:str1=“Howdo”,str2=“youdo?”,结果输出:Howdoyoudo?注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横
7、线上填入所编写的若干表达式或语句。试题程序:#include#include#defineN40voidfun(char*str1,char*str2){inti=0;char*p1=str1;char*p2=str2;while(【1】)i++;for(;【2】;i++)*(p1+i)=【3】;*(p1+i)=' ';}main(){charstr1[N],str2[N];clrscr();printf("*****Inputthestringstr1&str2*****");printf("s
8、tr1:");gets(str1);printf("str2:");gets(str2);printf("**Thestringstr1&str2**");
此文档下载收益归作者所有