第2 9卷第 9期 (下)
2 0 1 3年 9月
赤峰学院学报 (自然科学版 )
J o u r n a l o f C h i f e n g Un i v e r s i t y( Na t u r a l S c i e n c e E d i t i o n)
V0 1 . 29No. 9 S e p. 201 3
C语言初学者编程的常见错误及分析
马晓娟
(集宁师范学院
摘
计算机系,内蒙古
乌兰察布
0 1 2 0 0 0 )
要: c语言最大的特点是功能强大、使用方便灵活. c语言的编译程序对语法检查并不象其它高级
语言那么严格,某些错误编译程序不予以检查,这不但给编程人员留下灵活的空间,而且给调试程序带来
许多不便,尤其对于初学者来说,经常会出现一些莫名其妙的错误.要想快速排错除了学习时严格掌握 c
的语法规则,还要经常归纳总结,这样就可以避免一些典型错误的发生. 关键词:语法错误;编译;逻辑错误
中图分类号: T P 3 1 2
1 引言
文献标识码: A
文章编号: 1 6 7 3— 2 6 0 X( 2 0 1 3 ) 0 9— 0 0 1 6— 0 4 两个不同的变量名,从而显示变量 A未定义这一
作为一个长期从事 C语言教学的教师来说,
错误提示信息. 2 . 1 . 2将字符常量与字符串常量混淆 .如:
c h a r c;
C=”a I I:
经过多次的教学过程,发现初次接触 C语言的相当一部分同学入门比较慢,往往跟不上老师的节奏,导致知识讲授越多问题堆积越多,编程错误越
多.编程语言的语法规则是很严格的,即使出现一
丝错误也使得整个程序不能运行或运行出错误的结果,这就要求教师在讲课时突出强调语法格式与
种种注意事项 .
字符常量是由一对单引号括起来的单个字符, 字符串常量是一对双引号括起来的字符序列 . C规定以’\ 0’作字符串结束标志,它是由系统自动加上的,字符串“ a”实际上包含两个字符:’ a’和’\ 0’,所
以不能把它赋给一个字符变量 .
编程错误分两种,语法错误与逻辑错误 .语法错误是违背语句语法规则表现的错误,这种错误编译程序在编译时能检测出来,并给出用户错误提示
2 . 1 . 3变量
没有赋值就直接使用,变量的值实际上是随机值 .如:
i n t a, b, c; c:a+ b:
信息,用户可参考这些信息修改错误直到没有编译
错误.但是没有语法错误并不能保证程序一定是正确的,有可能会运行出错误的结果,这就说明程序有逻辑错误,指的是程序的算法有问题,算法在逻
辑上与题目要求不符 .逻辑错误要比语法错误难排
引用变量一定要保证其值固定,而上例中的 a
和 b都没有初值 .又如:
i n t x, y;
除,往往要求用户有很扎实的基础. 经过多次教学经验的积累,不难总结出一些初
学者编程中会出现的普遍性错误,其中包括了各种语法错误与逻辑错误,以下将对其分类逐一的分析.
2初学者编程时的常见错误及分析
i f x>= 0 )y= l;
e l s e y=-1;
x
没有固定的初值就进行条件判定导致其条
件成立与否也是随机的.尤其在引用数组元素时其下标变量若是此种情况,则可能引用非法数组元素.如:
i n t a I 3】= I 1, 2, 3 l, i, s= 0;
2 . 1关于变量定义、赋值、引用的错误 2 .】 . 1 书写标识符时,忽略了大小写字母的区别 .
如:
i n t a=5:
s: s+ a[ i】:
第二条语句中的变量 i未被赋值,其值不确定,极有可能超出下标范围 0—2,也就是说所引用的数组元素 a[ i】极有可能不是数组 a的元素. 2 . 1 - 4变量赋值超出其数据类型范围.如:
p r i n t f (”%d”, A );
编译程序区分大小写字母,把 a和 A认为是