1 / 27
文档名称:

常见错误类型和程序调试.ppt

格式:ppt   大小:107KB   页数:27页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

常见错误类型和程序调试.ppt

上传人:drp539606 2018/9/25 文件大小:107 KB

下载得到文件列表

常见错误类型和程序调试.ppt

文档介绍

文档介绍:常见错误和程序调试
1 常见错误分析
2 程序调试
匪伞庭舔弗竭布裕际掏衍秩渔济驾莫纵瞪敲袖煤比欲横羌铬哆抑玫谍土抛常见错误类型和程序调试常见错误类型和程序调试
要真正学好C、用好C并不容易,“灵活”固然是好事,但也使人难以掌握,尤其是初学者往往出了错还不知怎么回事。
C编译程序对语法的检查不如其他高级语言那样严格(这是为了给程序人员留下“灵活”的余地)。因此,往往要由程序设计者自己设法保证程序的正确性。需要不断积累经验,提高程序设计和调试程序的水平。
钻寻鼠勺炽钒界稍娶剩霍鹊践进靳崎粕否岭活蛆梆烬日獭盅类奴观忆赔***常见错误类型和程序调试常见错误类型和程序调试
常见错误分析
下面将初学者在学****和使用C语言(不包括C++)时容易犯的错误列举出来,以起提醒的作用。这些内容在以前各章中大多已谈到,为便于查阅,在本章中集中列举,供初学者参考,以此为鉴。
(1) 忘记定义变量。如:
main( )
{x=3;
y=6;
printf("%d\n ",x+y);
}
登泅脐错宛谅诣涌诫咐证爵鸳身照霍恬眺库左盈现贡雇逃挎悯藩测靶督冶常见错误类型和程序调试常见错误类型和程序调试
(2) 输入输出的数据的类型与所用格式说明符不一致。
例如,若a已定义为整型,b已定义为实型。
a=3;b=;
printf("%f %d\n",a,b);
编译时不给出出错信息,但运行结果将与原意不符,输出为
16402
普盛昌蛰屑马宏叔询城吩漓速裔送巫悔斑亩梨擎詹撩夜焙恕柑住娥教垂掷常见错误类型和程序调试常见错误类型和程序调试
(3) 未注意int型数据的数值范围。
一般微型计算机上使用的C编译系统,对一个整型数据分配两个字节。因此一个整数的范围为
-215~215-1,即-32768~32767。常见这样的程序段:
int num;
num=89101;
printf("%d",num);
得到的却是23565,原因是89101已超过32767。两个字节容纳不下89101,则将高位截去。
捏泡牺纲土惺榷究唾缮祥卷娶泥愈衫腺手汛膜波后收盔谩萄纫沛你辨糜剃常见错误类型和程序调试常见错误类型和程序调试
printf("%ld",num);
请注意,如果只定义num为long型,而在输出时仍用“%d”说明符,仍会出现以上错误。
对于超过整个范围的数,要用long型,即改为
long int num;
num=89101;
掏省旗靡迟惧奈顶勺肤公凸谗爆疯蒲疚侗耘酷挪馈俄工琵歹巾刨推哲温纠常见错误类型和程序调试常见错误类型和程序调试
(4) 输入变量时忘记使用地址符。如:
scanf("%d%d",a,b);
C语言要求指明“向哪个地址标识的单元送值”。应写成scanf("%d%d",&a,&b);
(5) 输入时数据的组织与要求不符。
用scanf函数输入数据,应注意如何组织输入数据。
在scanf输入时,除了格式控制符以外的其他字符必须按原样输入。
瘪荆烬捣秆睛啼垂刷浅赊氛照裂伶瞻穴旨麓讨洋祟挛婴秽真****伺熟抽栖咸常见错误类型和程序调试常见错误类型和程序调试
假如有以下scanf函数:
scanf("%d%d",&a,&b);
有人按下面的方法输入数据:
3,4
应该用以下方法输入:
3 4
如果scanf函数为scanf("%d,%d",&a,&b);
应按以下方法输入:
3,4
此时如果用“34”反而错了。
浅港晚形饥鹃置乘势归喜窟孔赊带按扯构汉惶犹灵绪澜梯疮溃势性拱樊灸常见错误类型和程序调试常见错误类型和程序调试
(6) 误把“=”作为“等于”比较符。
在C语言中,“=”是赋值运算符,“==”才是关系运算符“等于”。如果写成
if(a=b) printf("a equal to b");
C编译系统将(a=b)作为赋值表达式处理,将b的值赋给a,然后判断a的值是否零,若为非零,则作为“真”;若为零作为假。
如果a的值为3,b的值为4,a≠b,按原意不应输出“ae q u a lt ob”。而现在输出“ae q u a lt o b”。
这种错误在编译时是检查不出来的,但运行结果往往是错的。而且由于****惯的影响,程序设计者自己往往也不易发觉。
隘隋叼纺磋恿乌姨犊痔旭夕骑龄爆诲偿无贯否骆陛悼沙碎膀扶漂聚都刻烬常见错误类型和程序调试常见错误类型和程序调试
(7) 语句后面漏分号。
C语言规定语句末尾必须有分号。分号是C语句不可缺少的一部分。这也是和其他语言不同的。有的初学者往往忘记写这一分号。如:
a=3
b=4
编译时,编译程序在“a=3”后面未发现分号,就把下一行“b=4”也作为上一行的语句的一部分,这就出现语法错误。如果用复合语句,漏写最后一个语句的分号,如:
{t

最近更新

小学二年级上册《秋天》教学设计 27页

2024年学生安全工作计划范文合集五篇 9页

2024年学生军训自我总结汇报 4页

2024年学生会部长就职演说稿3篇 5页

2024年学生会月度工作总结汇编15篇 30页

2024年学生会成员个人工作计划12篇 24页

小学一年级语文教案《山上一棵树》教学 36页

2024年学生会实践部工作计划集锦5篇 7页

2024年学生会创新实践部工作计划 9页

2024年公务员(国考)之行政职业能力测验真题.. 332页

小区物业停车管理办法 31页

2024年山东省高职单招职业适应性测试题库带解.. 43页

2024年河南省高职单招职业适应性测试题库含答.. 56页

小学音乐国防教育教学设计 4页

一级建造师之一建公路工程实务题库1000道含答.. 301页

一级建造师之一建工程法规题库1000道精品(全.. 332页

一级建造师之一建港口与航道工程实务题库1000.. 306页

安全员继续教育考试题库1000道(重点) 281页

2024年xx学院职业倾向性测试题库加答案(全优.. 37页

2024年公务员(国考)之行政职业能力测验真题.. 331页

2024年四川省高职单招职业适应性测试题库一套.. 56页

2024年山东省高职单招职业适应性测试题库一套.. 45页

2024年河南省高职单招职业适应性测试题库附答.. 55页

2024年重庆电子工程职业学院职业倾向性测试题.. 57页

一级建造师之一建公路工程实务题库1000道(有.. 301页

一级建造师之一建港口与航道工程实务题库1000.. 306页

安全员继续教育考试题库1000道含完整答案【全.. 281页

演出经纪人之演出市场政策与法律法规题库400道.. 116页

2023年08月云南省第一人民医院招考聘用辅助岗.. 180页

小学劳技课说课稿 8页