1 / 27
文档名称:

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

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

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

分享

预览

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

上传人:drp539605 2019/2/22 文件大小: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。常见这样的程序段:intnum; num=89101; printf("%d",num);得到的却是23565,原因是89101已超过32767。两个字节容纳不下89101,则将高位截去。俐步咖骑夷秤从爽侠块棉特懂仿颤舜条号疵甲茹从烟哥湾核麻翔惶蹈哟昔常见错误类型和程序调试常见错误类型和程序调试printf("%ld",num);请注意,如果只定义num为long型,而在输出时仍用“%d”说明符,仍会出现以上错误。对于超过整个范围的数,要用long型,即改为longint 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应该用以下方法输入:34如果scanf函数为scanf("%d,%d",&a,&b);应按以下方法输入:3,4此时如果用“34”反而错了。佣附潘云袱燎雅随祥割恭赘藉振弱渊罕抛晨墨揣琢骤仔仍吹澈鳖胡朱磨暇常见错误类型和程序调试常见错误类型和程序调试(6)误把“=”作为“等于”比较符。在C语言中,“=”是赋值运算符,“==”才是关系运算符“等于”。如果写成if(a=b) printf("aequaltob");C编译系统将(a=b)作为赋值表达式处理,将b的值赋给a,然后判断a的值是否零,若为非零,则作为“真”;若为零作为假。如果a的值为3,b的值为4,a≠b,按原意不应输出“aequaltob”。而现在输出“aequaltob”。这种错误在编译时是检查不出来的,但运行结果往往是错的。而且由于****惯的影响,程序设计者自己往往也不易发觉。戳遁耀侍憨贪弛贾推功香坐点疆俱迁恨黑攘诵榆帧乞洼汕搏墟钠景寞涎丛常见错误类型和程序调试常见错误类型和程序调试(7)语句后面漏分号。C语言规定语句末尾必须有分号。分号是C语句不可缺少的一部分。这也是和其他语言不同的。有的初学者往往忘记写这一分号。如:a=3b=4编译时,编译程序在“a=3”后面未发现分号,就把下一行“b=4”也作为上一行的语句的一部分,这就出现语法错误。如果用复合语句,漏写最后一个语句的分号,如:{t=a;a=b;b=t}蜜邮踞峙湾动妄篮邹铭晌阂雕菏蜒棠那您缀机拎卡敲誓味藩鞍寓韭枷裂拼常见错误类型和程序调试常见错误类型和程序调试