1、书写标识符时,忽略了大小写字母的区别。例如把变量a写成A。
2、忽略了变量的类型,进行了不合法的运算。例如floata,b;printf("%d",a%b);,其中%运算只能是整形变量或常量。
3、将字符常量与字符串常量混淆。例如charc;c="a";,应该是c=’a’;
5、容易多加不需要的分号,例如{inta,b;printf("%d,%d",a,b);};这里花括号外是不能加分号的。
8、在执行部分定义变量。在TC下,函数由生命部分和执行部分组成,并且这两部分不能交叉,也就是说,不能在C语言中间定义变量。下面程序中,变量b的定义放到了执行部分。
但要记住VC6.0中没有这样的规定,只要变量定义在前,使用在后就行。
9、给变量赋值时忽视了变量的表示范围。例如charch=130;char类型的取值范围是-128~127,这里130超出了ch的表示范围。
10、定义变量时,变量名之间用了空格或分号分隔。例如:intab;应改为:inta,b;
11、输入字符常量时漏掉单引号,认为A、B就是’A’、’B’。例如charch=A;
12、C语句末尾的分号用了中文的分号(;)而不是英文的(;),导致编译错误。
15、定义变量时数据类型名与变量名之间无空格。例如inta;
17、对表达式进行强制类型转换时漏掉了(),例如:int(3.2+a),应该为:(int)(3.2+a)。
18、赋值运算符的左边使用表达式:例如:a+b=30;或者是30=a+b;
19、语序颠倒。例如下列程序中初学者会误认为程序的输出为a=21:
20、#include或#define命令用分号结束。
#开头的是预处理命令,而不是C语句,因此,不用用分号结尾。例如#include;就是错误的,多了个分号。
21、利用scanf函数输入变量值时漏掉取地址符&。
22、利用printf函数和scanf函数时,格式控制符与表达式类型不一致,或数量不相等。例如:
scanf("%d",&a,&b);//格式控制符与表达式的'数量不相等
printf("a=%d,b=%f",a,b);//%f应改为%d。
23、调用scanf函数输入浮点数时规定了精度。
例如:
scanf("%5.2f",&f);//应改为scanf("%5f",&f);
25、利用printf打印单引号、双引号、反斜杠时,没有在这些字符前利用反斜杠构成转义字符。
例如printf("youshouldsay"bye"!");
应改为:printf("youshouldsay"bye"!");