- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C Programming C语言程序常见错误与调试方法 (一)C语言程序常见错误 程序设计很少能够没有错误的一次完成,在编程的过程中由于种种原因,总会出现这样或那样的错误,这些程序的错误也就是常说的“Bug”,而检测并修正这些错误就是“Debug”(调试)。 程序错误可分为三类:语法错误、运行错误和逻辑错误。 1、语法错误 语法错误是指那些由于编程中输入不符合语法规则产生的错误。 例如:表达式不完整、缺少必要的标点符号、关键字输入错误、数据类型不匹配、循环语句或选择语句的关键字不配对等。 通常,编译器对程序进行编译的过程中,会把检测到的语法错误以提示的方式列举出来。 2、运行错误 运行错误是指程序在运行过程中出现错误。 例如:进行除法运算时除数为零、数组下标越界、文件无法打开等。 这类错误只出现在运行过程中,在程序编译时一般是无法发现的。 3、逻辑错误 逻辑错误是指程序运行后,没有得到预期的结果。这类错误从语法上来说是有效的,但是程序逻辑上存在缺陷。 例如:使用了不正确的变量类型、循环条件不正确、程序设计算法考虑不周等。 一般情况下,编译器在编译程序时,不能检查到程序的逻辑错误,也不会产生逻辑错误提示信息。 (二)语法错误的分类 语法错误的调试,可以由集成开发环境提供的调试功能来完成,在程序进行编译时,编译器会对程序中的语法错误进行诊断。 编译诊断的语法错误分为3类:致命错误、错误和警告。 1、致命错误 “致命错误”大多数是编译程序内部发生错误。 发生这类错误时,编译被迫终止,只能重新启动编译程序。幸运的是,这类错误很少发生,但是为了安全,编译前最好先保存程序。 2、错误 “错误”通常是在编译时,语法不当所引起的,例如括号不匹配、变量为声明等。 产生这类错误时,编译程序会出现报错提示,根据提示对源程序进行修改即可。这类错误是出现最频繁的。 3、警告 “警告”是指被编译程序怀疑有错,但不确定,有时可强行编译通过。例如:主函数没有返回值时没有加void声明、double型数据被转换为float型数据等。 这些警告中,有些会导致错误,有些则可以编译通过。 (三)C语言程序调试方法 1、先进行人工检查,即静态检查。 在写好一个程序以后,不要匆匆忙忙上机,而应对程序进行人工检查。这一步十分重要,它能发现由于疏忽而造成的多数错误。这一步往往容易被人忽视,总希望把一切都推给计算机去做,但这样会多占用机器时间,作为一个程序设计人员应当养成严谨的作风,每一步都要严格把关,不把问题留给后面的工序。 (三)C语言程序调试方法 为了更有效地进行人工检查,所编的程序应力求做到以下几点: 1)应当采用结构化程序方法编程,以增加可读性; 2)尽可能多加注释,以帮助理解每段程序的作用; 3)在编写复杂的程序时不要将全部语句都写在main函数中,而要多利用函数,用一个函数来实现一个单独的功能。这样便于分别检查和处理。 (三)C语言程序调试方法 2、在人工检查无误后,再上机调试。即动态检查。 在编译时会给出语法错误的信息,调试时可以根据提示信息具体找出程序中出错之处并改正。应当注意的是有时提示出错的地方并不是真正出错的位置,如果在提示出错的行找不到错误的话应当到上一行再找。有时提示出错的类型并非绝对准确,由于出错的情况繁多且各种错误互有关联,因此要善于分析,找出真正的错误,而不要只从字面意义上找出错信息,钻牛角尖。 (三)C语言程序调试方法 3、对运行结果作分析,看它是否符合要求。 有的初学者看到运行结果就认为没问题了,不作认真分析,这是危险的。 有时,数据比较复杂,难以立即判断结果是否正确。可以事先考虑好一批“试验数据”,输入这些数据可以很容易判断结果正确与否。 事实上,当程序复杂时很难把所有的可能情况全部都试到,选择典型的临界数据作试验即可。 (三)C语言程序调试方法 4、运行结果不对,大多属于逻辑错误。 这类错误往往需要仔细检查和分析才能发现。可以采用以下办法: 1)将程序与流程图仔细对照,如果流程图是正确的,程序写错了,是很容易发现的。例如,复合语句忘记写花括弧,只要一对照流程图就能很快发现。 (三)C语言程序调试方法 2)如果实在找不到错误,可以采用“分段检查”的方法。逐段往下检查,直到找到在某一段中数据不对为止。这时就已经把错误局限在这一段中了。不断减小“查错区”,就能发现错误所在。 3)如果在程序中没有发现问题,就要检查流程图有无错误,即算法有无问题。有则改正之,接着修改程序。 (三)C语言程序调试方法 总之,程序调试是一项深入细致的工作,需要下功夫,动脑子,善于积累经验。在程序调试过程中往往反映出一个人的水平、经验和态度。希望大家给以足够的重视。上机调试程序的目的决不是为了“验证程序的正确”,而是“掌握调试的方法和技术
您可能关注的文档
- 2014中考专题复习化学用语讲述.ppt
- 【中考复习方案】(江苏)2015中考物理复习:梳理第8课时物体的质量物质的密度(共28张)浅析.ppt
- CRH5动车组连接装置讲课.ppt
- 705型试验台技术条件及说明书讲述.doc
- 1.4电磁感应浅析.ppt
- 【中考复习方案】2015中考生物总复习第15课时心脏与血液循环(考点聚焦+归类探究+回归)浅析.ppt
- 1.4电势电势能浅析.ppt
- PCR技术及应用讲课.ppt
- 0752bcc6-473c-4b51-b918-bad5327e1f4c讲述.doc
- CRT心室电极脱位致不恰当放电讲课.ppt
- 301115_2024_#ESG_联检科技_2024年度环境、社会和治理(ESG)报告_2025-04-29.pdf
- 300308_2024_#ESG_中际旭创_2024年环境、社会及公司治理(ESG)报告_2025-04-21.pdf
- 想生科技产品注册公告及所需文件상생기술제품_등록_공고문_및_제출_서류.pdf
- 300760_2024_#SD_迈瑞医疗_2024年度可持续发展报告_2025-04-29.pdf
- 300870_2024_#SD_欧陆通_欧陆通2024年可持续发展报告_2025-04-22.pdf
- 301369_2024_#ESG_联动科技_2024年度环境、社会与公司治理(ESG)报告_2025-04-18.pdf
- 300937_2024_#SD_药易购_2024年度可持续发展报告_2025-04-25.pdf
- 300621_2024_#ESG_维业股份_维业股份:2024年度环境、社会和公司治理(ESG)报告_2025-04-19.pdf
- 300428_2024_#SD_立中集团_立中四通轻合金集团股份有限公司2024年度可持续发展报告-中文版_2025-04-21.pdf
- 301167_2024_#ESG_建研设计_2024年度环境、社会及公司治理(ESG)报告_2025-04-04.pdf
文档评论(0)