软件实习_3c语言常见错误

上传人:wt****50 文档编号:50530993 上传时间:2018-08-08 格式:PPT 页数:26 大小:85KB
返回 下载 相关 举报
软件实习_3c语言常见错误_第1页
第1页 / 共26页
软件实习_3c语言常见错误_第2页
第2页 / 共26页
软件实习_3c语言常见错误_第3页
第3页 / 共26页
软件实习_3c语言常见错误_第4页
第4页 / 共26页
软件实习_3c语言常见错误_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《软件实习_3c语言常见错误》由会员分享,可在线阅读,更多相关《软件实习_3c语言常见错误(26页珍藏版)》请在金锄头文库上搜索。

1、软件实习C语言的最大特点是:功能强、使用方便灵活。 C编译的程序对语法检查并不象其它高 级 语言那么严格,这就给编程人员留下“ 灵 活的余地”,但还是由于这个灵活给程 序 的调试带来了许多不便,尤其对初学C 语 言的人来说,经常会出一些连自己都不 知 道错在哪里的错误。看着有错的程序, 不 知该如何改起,以供参考。 第3讲 C语言常见错误 软件实习1书写标识符时,忽略了大小写字母的区别。 main() int a=5;printf(“%d“,A); 编译程序把a和A认为是两个不同的变量名,而显示出错信息。C认为大写字母和小写字母是两个不同的字符。 习惯上,符号常量名用大写,变量名用小写表示,

2、以增加可读性。软件实习2.忽略了变量的类型,进行了不合法的运算。main() float a,b;printf(“%d“,a%b); %是求余运算,得到a/b的整余数。 整型变量a和b可以进行求余运算, 而实型变量则不允许进行“求余”运算。软件实习3. 将字符常量与字符串常量混淆。char c; c=“a“;混淆了字符常量与字符串常量, 字符常量是由一对单引号括起来的单个字符, 字符串常量是一对双引号括起来的字符序列。 C规定以“”作字符串结束标志,它是由系统自动 加上的,所以字符串“a”实际上包含两个字符: a和,而把它赋给一个字符变量是不行的 。软件实习4.忽略了“=”与“=”的区别在许多

3、高级语言中,用“=”符号作为关系运算 符“等于”。如在BASIC程序中可以写if (a=3) then 但C语言中,“=”是赋值运算符,“=”是关 系 运算符。如:if (a=3) a=b; 前者是进行比较,a是否和3相等,后者表示 如 果a和3相等,把b值赋给a。由于习惯问题, 初 学者往往会犯这样的错误。软件实习5. 忘记加分号 分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1b=2编译时,编译程序在“a=1”后面没发现分号,就把下一行 “b=2”也作为上一行语句的一部分,这就会出现语法错误。改 错时,有时在被指出有错的一行中未发现错误,就需要看一下 上一行是否漏掉了分号。 z=

4、x+yt=z/100;printf(“%f“,t); 对于复合语句来说,最后一个语句中最后的分号不能忽略不写 .软件实习6. 多加分号n z=x+y;t=z/100;printf(“%f“,t);n if (a%3=0);I+; n for (I=0;Iy?x: y; return(z); 形参应该在函数体外定义 , 而局部变量应该在函数体 内 定义。应改为: int max(x,y) int x,y; int z; z=xy?x:y; return(z); 软件实习 18. 字符串不正确使用例 将字符数组a中的字符串拷贝到字符数组b中(1) 下标法 (2) 指针法 #include #inc

5、lude main() main() char a=“Hello,world!”,b20; char a=“Hello,world!”,b20;int i; char *pa,*pb;for (i=0;ai!=0;i+) for (pa=a,pb=b;*pa!=0;pa+,pb+)bi=ai; *pb=*pa;printf(“%sn”,b); printf(“%sn”,b); bi=0; *pb=0;软件实习C语言常见的出错信息Ambiguous operators need parentheses 不明确的运算需要用括号括起 Ambiguous symbol xxx 不明确的符号 Argum

6、ent list syntax error 参数表语法错误 Array bounds missing 丢失数组界限符 Array size toolarge 数组尺寸太大 Bad character in paramenters 参数中有不适当的字符 Bad file name format in include directive 包含命令中文件名格式不正确 Bad ifdef directive synatax 编译预处理ifdef有语法错 软件实习C语言常见的出错信息(续)Bad undef directive syntax 编译预处理undef有语法错 Bit field too la

7、rge 位字段太长 Call of non-function 调用未定义的函数 Call to function with no prototype 调用函数时没有函数的说明 Cannot modify a const object 不允许修改常量对象 Case outside of switch 漏掉了case 语句 Case syntax error Case 语法错误 Code has no effect 代码不可述不可能执行到 软件实习C语言常见的出错信息(续)Compound statement missing 分程序漏掉“ Conflicting type modifiers 不明

8、确的类型说明符 Constant expression required 要求常量表达式 Constant out of range in comparison 在比较中常量超出范围 Conversion may lose significant digits 转换时会丢失意义的数字 Conversion of near pointer not allowed 不允许转换近指针 Could not find file xxx 找不到XXX文件 Declaration missing ; 说明缺少“;“ 软件实习C语言常见的出错信息(续)Declaration syntax error 说明中出

9、现语法错误 Default outside of switch Default 出现在switch语句之外 Define directive needs an identifier 定义编译预处理需要标识符 Division by zero 用零作除数 Do statement must have while Do-while语句中缺少while部分 Enum syntax error 枚举类型语法错误 Enumeration constant syntax error 枚举常数语法错误 软件实习C语言常见的出错信息(续)Error directive :xxx 错误的编译预处理命令 Erro

10、r writing output file 写输出文件错误 Expression syntax error 表达式语法错误 Extra parameter in call 调用时出现多余错误 File name too long 文件名太长 软件实习C语言常见的出错信息(续)Function call missing ) 函数调用缺少右括号 Fuction definition out of place 函数定义位置错误 Fuction should return a value 函数必需返回一个值 Goto statement missing label Goto语句没有标号 Hexadecimal or octal constant too large 16进制或8进制常数太大 Illegal character x 非法字符x

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号