- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
典型C语言编程错误
一、入门级典型错误
1、关键字或预定义标识符拼写错误。
若关键字或预定义标识符拼写不正确,则C语言将视为用户标识符。
如 mian()将导致找不到主函数错误,应为main()
2、函数头多余分号。
函数头多余分号将导致函数不正常结束。
如 main();应为main()
3、函数头缺少括号。
函数头缺少括号将导致语法错误。
如 main应为main()
4、标识符之间缺少空格。
标识符之间缺少分隔符,将导致误将多个标识符视为一个标识符。
如 inta,b,c;将导致误将inta作为一个标识符,应为int a,b,c;
5、数据之间缺少逗号。
数据之间缺少逗号将导致语法错误。
如 int a b c;应为int a,b,c;
6、语句缺少分号。
语句缺少分号将导致语句不完整错误。
如 printf(Hello!)将导致语句不完整,应为printf(Hello!);
7、误将零写作字母o。
如 float x=o.1;将导致误将字母o看做标识符,应为float x=0.1;
8、字符型常量缺少单引号。
字符型常量缺少单引号会导致将字符型常量视为标识符。
如 if(ch=ach=z) ch=ch-32;将导致误将a和z 看做标识符,
应为if(ch=ach=z) ch=ch-32;
二、基本语法典型错误
1、变量定义格式不正确。
定义变量时,变量之间要用逗号分隔。若用分号分隔,则视为多条语句。
如int a=1;b=2;c=3;将视为三条语句,且提示变量b,c未定义错误。应改
为int a=1,b=2,c=3;
2、字母大小写拼写错误。
C语言中严格区分字母的大小写,若关键字中字母的大小写拼写错误,则视
为用户标识符。
如 If和Else将导致出现标识符未定义错误,应为if和else。
3、表达式中乘号误被省略。
C语言表达式中的乘号必须明确地写出来,不能省略不写。
如 y=3x;将导致误将3x看做一个整体,应为y=3*x;
4、除号误用\。
C语言中除号运算符是正斜杠/,而不是反斜杠\。
如 y=x\2;将导致存在非法字符错误,应为y=x/2;
5、将实除误作整除。
C语言中两个整数相除的结果也是一个整数。
如 v=4/3*3.14159*r*r*r;将导致因为4/3等于1而产生大误差,
应为v=4.0/3*3.14159*r*r*r;
6、乘方误用按位异或。
C语言中^是按位异或运算符,而求乘方必须使用pow函数。
如 y=x^2;将导致按位异或运算,应为y=pow(x,2);
7、赋值运算与自增(自减)运算相重复。
因为自增(自减)运算本身就包含了赋值运算,故不必再进行赋值。
如 a=a++;存在多余运算,
应为a++;或a=a+1;
8、表达式中误用方括号改变运算次序。
在 C 程序中用于改变运算次序时,只能使用圆括号(方括号是数组的专用
符号)。
如 x1=[-b-sqrt(b*b-4*a*c)]/2/a;将导致语法错误,
应为x1=(-b-sqrt(b*b-4*a*c))/2/a;
9、分母漏写圆括号。
当分母是一个表达式时,必须用圆括号括起来。
如 x1=(-b-sqrt(b*b-4*a*c))/2*a;导致将a乘到了分子上,
应为x1=(-b-sqrt(b*b-4*a*c))/(2*a);
10、用π代表圆周率。
在C程序中不能使用希腊字母,更不能直接用π代表圆周率。
如 s=π*r*r;应为s=3.14159*r*r;
11、define命令中多余等号。
define命令中宏名与替换文本之间要以空格隔开,而不能用等号连接起
来。
如 #define PI=3.14159
应为#define PI 3.14159
12、执行语句出现在变量定义语句之前。
C 语言规定,只能在函数体或复合语句的开头,即所有执行语句之前
定义变量。
文档评论(0)