视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
c语言考试技巧
2025-09-25 17:43:31 责编:小OO
文档
一.特点和注意事项

1、填空题

(1)上机填空题一般包含2个(或3个)空。

(2)要填空的位置用___、___、___表示。

(3)考生在考试时应删除标识___、___、___后填入相应的符号。

特别要注意的是:只能在要填空的位置上进行修改,不要添行、删除、合并或分解,不要改动程序行的顺序,更不要自己另编程序。

2.改错题

(1)上机改错题中有2个(或3个)错误需要修改。

(2)试题中用“/******found******/”来提示在下一行(或下面第二行)有错。

(3)错误的性质基本分为语法错误和逻辑错误,也有些试题要求把语句添加在下划线处。

(4)特别要注意的是:只能在出错的行上进行修

二.做题技巧

以下是对上机考试改错题的做题方法和总结,改错题的错误主要分为以下几类:

一般情况,错误主要分为语法错误和逻辑错误。

先检查语法错误,编译程序后发现没有错误及警告,说明没有语法错误,只有逻辑错误;逻辑错误必须根据程序的功能及预期结果来考查。

因此,对于程序改错题,应先编译查找其中的语法错误,通过编译器的提示容易找到错误的地方及原因,然后再寻找逻辑错误。修改了语法错误后再次编译,直到修改完所有的语法错误。而查找逻辑错误时,需要运行程序根据结果来检查。

1、if或while语句

若错误行是if或者while语句,则要注意以下点:

1)首先判断是否正确书写if或while关键字;

2)然后看有没有用小括号把整个表达式括起来,若没有则加上小括号;

3)若条件表达式中有指针变量而且没有指针运算符时,则加上指针运算符;

4)若if条件表达式中只有一个等于号即数学等号(=),则要改写成两个等于号即逻辑等号(==);

若if条件表达式为其他的比较运算符,则一般是进行逆转或加一个等于号;

2、for语句

若错误行是for语句,则要注意以下几点:

1)首先判断for有没有书写正确;

2)然后看for中的表达式是不是用分号(;)隔开,若不是则改为分号。

3、记住是分号(;),不是逗号(,)!

再者,分析for中的三个表达式,是否符合题意;

第一个表达式表示起始条件,

第二个表达式表示终止条件,

第三个表达式表示循环变量的变化。

4、return语句

若错误行为return语句,则要注意以下几点:

1)首先看是不是正确书写return关键字;

2)然后看是不是缺少分号,若是则加上分号即可;

3)再者判断return后的变量或表达式是否正确;

这种错误需要根据题意来分析,分析返回变量或表达式的值和类型。

5、赋值语句

若错误行是赋值语句,则要看赋值是否正确,然后看赋值运算符是否写正确。

6、定义语句

若错误行是定义语句,则要注意:

1)首先分析变量类型是否符合;

2)然后分析赋初值是否正确,求和初值赋0,求积初值赋1;

3)若以上均不是,则看是不是少定义了某个变量或少了花括号;

7、关键字拼写错误。如:main-mian(错误)      printf - pirntf (错误) 

   Return- return(错误)    while- While (错误)

8、表达式错误问题

表达式错误占的份量最多,并且没有统一的改法,我们只能通过题目要求来分析并修改),

1)若错误行中有整数1除以某个表达式或变量时,必须把整数1改为1.0;若变量或表达式是整型时,则只能进行强制类型转换。

2)变量必须先赋值,后才参与运算,没有赋值就不能参与运算;例如,long k;k*=num%10;

3)运算符书写错误,例如,把/写成\(num\\=10);,==写成=。

4)丢失括号()

9、字符串类问题

1)若错误行中有字符串结束符,则特别要要注意结束符有没有写错(‘\0’不要写成"\0”)。

2)新组建的字符串一定要加结束标识符(‘\0’);

3)要区分清楚字符‘o’和数字‘0’。

4)字符串复制、比较必须使用用字符串处理函数(strcpy或strcmp)实现,不能用赋值语句或关系运算符。

10、指针类问题

若错误行中有指针变量,并且该变量名之前没有指针运算符,则般都是加上指针运算符;即注意p和*p的区别;

11、函数首部类问题:

若错误行是函数首部,则要注意:

1)首先看该行最后有没有分号,若有则删掉分号;若中间有分号则要改为逗号;

2)形参和实参类型不一致问题

 ① 若实参是个地址或数组名或指针变量名,则对应的形参肯定是指针或数组;

 ②若实参是二维数组名,则对应的形参应该是指针数组或是二维数组;

③若后面用到形参时有指针运算符,则该形参应为指针类型;

  ④若形参是二维数组或指向M 个元素的指针变量,则该二维的长度必须与main中对于数组的第二维的长度相同。

3)函数类型不一致问题

①若函数中没有return语句,则函数类型为void;

②若函数中有ret urn语句,则函数的类型必须与rerun后的变量类型一致;

记住,调用函数的类型与main中的该函数的类型一致!

12、语法错误问题:

1)语句缺少分号。若错误号中语句没有以分号结束则加上分号;

2)变量名不一致。C语言是区分大小写的,若错误行中有大写字母一般都改为小写字母;

3)若错误行中有一条横线,则必须将横线删除再填空。填空题中亦是如此。

13、逻辑错误问题:

这种题型主要是表达式错误,占的题量比较多而且没有统一的做题方法,需要我们具体问题具体分析。对于逻辑错误,可按下列步骤查找:

①先读试题,看清题目的功能要求。

②通读程序,看懂程序中算法的实现方法。

③细看程序,发现常见错误点。

14、书写错误问题:

特别注意我们的注释部分,注释是以/*开始,以*/结尾,不能有多余的,有也只能在/*和*/里面。注意,比如“/***注释部分*****/*/”是错误的!

二、编程时容易犯的错误

1.书写标识符时,忽略了大小写的区别

C语言认为大些字母和小写字母时两个不同的字符,如在编译程序过程中,系统会把a和认为时两个不同的变量名。习惯上,符号常量名用大写表示,变量名用小写表示,以增加程序的可能性。

2.忽略了变量的类型,进行了不合法的运算

3.忽略了“=”与“= =”的区别;C语言中,“=”是赋值运算符,“= =”是关系运算符

4.忘记加分号

    考生应特别注意这种情况,分号是C语言中不可缺少的一部分,语句末尾必须有分号,但有时候千万不能加;

5.输入变量时忘记加地址运算符“&”,而在不应加“&”的位置加了地址运算符

(1)忘记加“&”的情况。

如int a,b;   scanf(“%d%d”,a,b);

此时,无法正确给a和b读入数据。scanf函数的作用是:按照a、b在内存中所分配的地址将a、b的值存进去。“&a”指a在内存中的地址,因此正确的书写格式为scanf(“%d%d”,&a,&b);。

    (2)多加“&”的情况。如int str[ ];  scanf(“%s”,&str);

C语言编译程序对数组名的处理是:数组名代表数组的起始地址,scanf函数中的输入项是字符数组名,因此不必再加地址符&,应该去掉。

6.输入数据的方式余要求格式(通配符)不符。例如:scanf(“%d,%d”,&a,&b);

C规定:如果在“格式控制”字符串中,除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。下面输入是合法的:3,4  

此时不用逗号而用空格或其他字符是不对的,如:3 4(中间为空格)3:4(中间为冒号);

三、相关概念

(1)素数:定义是除了能被1和自身整除外,不存在其他任何能整除该数的自然数。因此,在判断一个数是否为素数时,只要有除了1和本身能整除它,还有一个数能整除它,就判定此数不是素数。

(2)判断一个年份是否为闰年:如果年份能被4 整除但是不能被100整除,或者能被400整除,这两种情况满足之一都是闰年。

(3)利用选择法进行从小到大的排序。选择法的思路为:把第一个元素与其后面的元素比较,如果比后面的大,则交换,比较完所有的元素后,第一个位置的元素是最小的元素;在把第二个元素与其后面的元素进行比较,结果是除了第一个元素外,第二个元素是最小的元素;以此类推。

(4)数的按位分离算法是:对10取模求个位上的数字,整除10后再对10取模求十位上的数字,整除100后再对10取模求百位上的数字。

(5)最大公约数的算法是:(1)若n>m,则用n除以m求余数r;(2)若r=0,则m为最大公约数,若r≠0,则将r赋值于m,m赋值于n,继续用n除以m求余数r;(3)直到r=0,m为最大公约数。根据算法判断每一条语句是否正确。

(6)求最小公倍数的算法:等于两个数的乘积除以它们的最大公约数。

(7)矩阵时以行为外循环,列为内循环,可以同时计算周边元素的和。

 下载本文

显示全文
专题