- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对C语言程序设计调试技术的几点探讨.doc
对C语言程序设计调试技术的几点探讨
摘 要:C语言程序的功能强大,具有表达能力强、使用灵活、应用范围广、目标程序处理迅速、可移植性强,且其具有对硬件进行直接操作的功能,促使其在实际生产中得到广泛应用。C语言是一种高效的结构化语言,文章主要针对C语言程序设计调试技术展开探讨。
关键词:C语言程序;调试技术;探究与分析
近些年来,笔者在研究C语言程序设计过程中,发现许多人对于自身编辑的C语言程序运行中出现的错误的处理方法存在许多问题,无法有效判断程序错误的原因以及其对应的调试方法,文章主要从两方面分析C语言程序设计调试技术。
一、运行错误的判断与调试
一般情况下,C语言程序运行错误被分为两种:逻辑错误与程序设计错误,前者是指编译时没有错误提示,可以运行,但实际的运行结果与程序预期结果之间有偏差;后者是指程序设计中存在的问题,在编译与连接程序时也没有被发现,程序设计错误的主要表现为:计算机突然死机、自行热启动或输出信息混乱等[1]。
文章主要介绍两种常见的运行错误调试方法:
①程序算法设计不合理
有一种逻辑错误主要是由于C语言程序设计时的算法不合理而引起的,例如对边界及特殊情况未作预先处理,例如下述循环:
While(count)
?x
…
count=count-1;
?y
该循环的设计构思是进行count次循环,但是在该循环中,while旁边的判断条件恒为真,程序就会进入“死循环”,这显然是由于算法设计错误而导致的,但是编译器对于该类错误的敏感度较低,只有程序运行出现异常的时候才可能被发现[3]。再举一个例子:根据海伦公式计算三角面积的时候,首先需要对给出的三条边长是否符合“三角形任何两边的和大于第三边”的定理,若不符合这一定理则运算结果毫无意义;而程序员在设计一般实系数一元二次方程的程序时,必须设定处理复数情况的程序,避免出现运行错误[4]。若采用手算的方法是不需要先考虑到这方面,可以在出现问题后再根据实际情况提出解决措施。但是C语言程序是为计算机设计的,计算机不具备人脑自行应变的能力,因此,在程序设计的过程中必须事先将可能发生的一切问题都考虑到,特别是客户委托程序员设计的或是作为商品出售的软件更要注意这一问题。
②程序输入时的打字错误
还有一种常见的逻辑错误是在C语言程序输入过程中,由于程序员不小心打错字导致的,例如将判断条件中的“=”输为“”,将相等判断“==”输为“=”等。存在此类错误的程序在运行过程中出现的错误表现具有多样化,且很难将该错误出现的原因与打字错误联系起来[5]。
数据输入中存在的字符错误或字符的格式错误等都会影响程序的运行结果,尤其是在数据量大,且数据输入采用人工输入的工作中,极其容易发生这种错误。笔者以多年工作经验建议当数据输入量较大时,采用文件记录的方式,再通过读写文件来进行数据输入,这样就能够通过编辑数据文件来检测数据中存在的错误,并且在重新计算或调试过程中就不需要反复输入[6]。这种方法非常适用于科学或工程计算应用程序中的数据计算。
还有一种方式就是采用自行编写的、比较完善的数据校验输入模块来取代C语言中的scanf()函数来输入数据。这种方法多用于数据处理、事务管理等复杂的应用程序开发,常常需要将数据输入与用户界面等模块相结合,对编程技能有较高的要求。
二、C语言程序设计基本调试方法
文章主要针对C语言程序设计基本调试方法的四种方法进行介绍。
1.标准数据校验
在程序编译、连接完毕之后,下一阶段就是运行调试。运行调试阶段首先需要使用若干组已知结果的标准数据对程序进行检验。在此过程中标准数据的选取对检验结果具有重要影响,因此,标准数据的选择需要选取具有代表性且比较简洁的数据,主要是为了简化对检验结果正确性分析的不足[7]。此外,对重要的临界数据也需要进行检验。
2.程序跟踪
对于复杂的大型程序而言,上述检验一次性通过是不可能完成的。一般情况下,程序存在各种各样的问题(程序存在问题是一个普遍现象,一个错误也没有的程序在实际中较少),因此,需要对程序进行严谨的跟踪调试。
程序跟踪是调试工作中的一种方法。程序跟踪的方法是通过让程序一句一句的执行,通过观察程序执行过程中的数据以及程序的流程变化来分析其中存在的错误。例如在Turbo C中,可以采用两种程序跟踪的方法,一种是通过利用集成环境中分步执行、断点设置以及变量内容显示等功能观察程序的合理性;还有一种方法是传统方法,其主要通过在程序中直接设置断点、打印重要变量来观察程序有无错误存在。
3.边界检查
在数据检查过程中,要重视边界可能存在的特殊情况,例如以下循环:
While(cou
文档评论(0)