C语言中常见的错误类型

时间:2024-03-28 08:40:00

1.书写标识符时,忽略大小写

编译程序会出错。C语言区分大小写。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。

C语言中常见的错误类型

 

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

%是求余运算,得到a/b的整余数。整型变量可进行求余运算,而实型变量则不允许进行求余运算。

C语言中常见的错误类型

 

3.将字符常量与字符串常量混淆

字符常量是一对单引号括起来的常量,字符串常量是一对双引号括起来的常量。C语言规定以“\0”作为字符串结束标志,它是系统自动加上的,所以字符常量“b”其实包含两个字符'b' '\0',而把它赋给一个字符变量是不行的。

C语言中常见的错误类型

 

4.忽略了“=”和“==”的区别

C语言中,“=”是赋值运算符,“==”是关系运算符。在此代码中,前者是进行比较,后者是进行赋值。

C语言中常见的错误类型

 

5.忘记加分号几乎在所有编程语言中,都是用“;”代表一句或多句语句的结束。

C语言中常见的错误类型

6.多加分号

C语言中常见的错误类型

7.忘加地址运算符“&”

scanf函数的作用是:按照a在内存中的地址将a的值存进去。“&a”是指a在内存中的地址。

C语言中常见的错误类型

8.输入数据的方式与要求不符

C语言中常见的错误类型

→输入时不能用“,”将a,b隔开如:3,4;应该用空格

C语言中常见的错误类型

此时应输入a,b 才是正确的

C语言中常见的错误类型

此时应输入a=3,b=4

C语言中常见的错误类型

9.输入字符的格式与要求不一致

在用“%c”格式输入字符时,空格字符和转义字符都作为有效字符输入。

C语言中常见的错误类型

如输入:a b c 字符“a”赋值给c1,字符“ ”赋值给c2,“b”赋值给c3。正确形式应输入:abc

10. 输入数据时,规定精度

C语言中常见的错误类型

输入数据时不能规定精度。

11. switch语句中漏写break语句

C语言中常见的错误类型

由于漏写了break语句,case只起标识的作用,而不起判断的作用。当grade的值为A时,程序会从上到下执行完,五个printf都输出。

正确的写法应为:

C语言中常见的错误类型

12.忽视while和do-while语句区别

while语句

C语言中常见的错误类型

do-while语句

C语言中常见的错误类型

当输入的i值小于等于10时,两者输出结果无区别。当输入的i大于10时,while语句不执行循环体,do-while语句执行一次循环题。因为while语句先判断后执行,do-while语句先执行后判断。

13.忽略自增(自减)运算符的细节

【第一个区别】

i++ 返回原来的值,++i 返回加1后的值

C语言中常见的错误类型

输出结果: a=i+1 b=i。因为a=++i;是先把i加1再赋值给a,可以把此句分解为:i=i+1;a=i;;b=i++; 是先把i赋值给b再加1。

可分解为:b=i;i=i+1;

【第二个区别】

i++ 不能作为左值,而++i 可以

左值是对应内存中有确定存储地址的对象的表达式的值,而右值是所有不是左值的表达式的值

C语言中常见的错误类型

14. 忽略sizeof()和strlen()的区别

C语言中常见的错误类型

15. 定义数组时,将定义的“元素个数”误认为是可使用的最大下标

C语言中常见的错误类型

C语言中,定义时用a[5],表示a数组中有5个元素。其下标是从0开始的,数组中最后一个元素是a[4],不存在a[5]。

16.定义数组时误用变量

C语言中常见的错误类型

数组名后用方括号括起来的是常量表达式,可以包括常量和符号常量。即C不允许对数组大小作动态定义。

17.地址运算符&使用错误

C语言中常见的错误类型

C中,数组名代表地址

正确的应为:

C语言中常见的错误类型

18.同时定义了形参和函数中的局部变量

C语言中常见的错误类型

形参应在函数体外定义,而局部变量应在函数体内定义。

正确的应为:

C语言中常见的错误类型