c语言程序中的错误可分为,C语言程序常见错误与调试方法(1)

《C语言程序常见错误与调试方法(1)》由会员分享,可在线阅读,更多相关《C语言程序常见错误与调试方法(1)(17页珍藏版)》请在人人文库网上搜索。

1、C语言程序常见错误与调试方法,(一)C语言程序常见错误,程序设计很少能够没有错误的一次完成,在编程的过程中由于种种原因,总会出现这样或那样的错误,这些程序的错误也就是常说的“Bug”,而检测并修正这些错误就是“Debug”(调试)。 程序错误可分为三类:语法错误、运行错误和逻辑错误。,1、语法错误,语法错误是指那些由于编程中输入不符合语法规则产生的错误。 例如:表达式不完整、缺少必要的标点符号、关键字输入错误、数据类型不匹配、循环语句或选择语句的关键字不配对等。 通常,编译器对程序进行编译的过程中,会把检测到的语法错误以提示的方式列举出来。,2、运行错误,运行错误是指程序在运行过程中出现错误。。

2、 例如:进行除法运算时除数为零、数组下标越界、文件无法打开等。 这类错误只出现在运行过程中,在程序编译时一般是无法发现的。,3、逻辑错误,逻辑错误是指程序运行后,没有得到预期的结果。这类错误从语法上来说是有效的,但是程序逻辑上存在缺陷。 例如:使用了不正确的变量类型、循环条件不正确、程序设计算法考虑不周等。 一般情况下,编译器在编译程序时,不能检查到程序的逻辑错误,也不会产生逻辑错误提示信息。,(二)语法错误的分类,语法错误的调试,可以由集成开发环境提供的调试功能来完成,在程序进行编译时,编译器会对程序中的语法错误进行诊断。 编译诊断的语法错误分为3类:致命错误、错误和警告。,1、致命错误,“。

3、致命错误”大多数是编译程序内部发生错误。 发生这类错误时,编译被迫终止,只能重新启动编译程序。幸运的是,这类错误很少发生,但是为了安全,编译前最好先保存程序。,2、错误,“错误”通常是在编译时,语法不当所引起的,例如括号不匹配、变量为声明等。 产生这类错误时,编译程序会出现报错提示,根据提示对源程序进行修改即可。这类错误是出现最频繁的。,3、警告,“警告”是指被编译程序怀疑有错,但不确定,有时可强行编译通过。例如:主函数没有返回值时没有加void声明、double型数据被转换为float型数据等。 这些警告中,有些会导致错误,有些则可以编译通过。,(三)C语言程序调试方法,1、先进行人工检查,。

4、即静态检查。 在写好一个程序以后,不要匆匆忙忙上机,而应对程序进行人工检查。这一步十分重要,它能发现由于疏忽而造成的多数错误。这一步往往容易被人忽视,总希望把一切都推给计算机去做,但这样会多占用机器时间,作为一个程序设计人员应当养成严谨的作风,每一步都要严格把关,不把问题留给后面的工序。,(三)C语言程序调试方法,为了更有效地进行人工检查,所编的程序应力求做到以下几点: 1)应当采用结构化程序方法编程,以增加可读性; 2)尽可能多加注释,以帮助理解每段程序的作用; 3)在编写复杂的程序时不要将全部语句都写在main函数中,而要多利用函数,用一个函数来实现一个单独的功能。这样便于分别检查和处理。。

5、,(三)C语言程序调试方法,2、在人工检查无误后,再上机调试。即动态检查。 在编译时会给出语法错误的信息,调试时可以根据提示信息具体找出程序中出错之处并改正。应当注意的是有时提示出错的地方并不是真正出错的位置,如果在提示出错的行找不到错误的话应当到上一行再找。有时提示出错的类型并非绝对准确,由于出错的情况繁多且各种错误互有关联,因此要善于分析,找出真正的错误,而不要只从字面意义上找出错信息,钻牛角尖。,(三)C语言程序调试方法,3、对运行结果作分析,看它是否符合要求。 有的初学者看到运行结果就认为没问题了,不作认真分析,这是危险的。 有时,数据比较复杂,难以立即判断结果是否正确。可以事先考虑好。

6、一批“试验数据”,输入这些数据可以很容易判断结果正确与否。 事实上,当程序复杂时很难把所有的可能情况全部都试到,选择典型的临界数据作试验即可。,(三)C语言程序调试方法,4、运行结果不对,大多属于逻辑错误。 这类错误往往需要仔细检查和分析才能发现。可以采用以下办法: 1)将程序与流程图仔细对照,如果流程图是正确的,程序写错了,是很容易发现的。例如,复合语句忘记写花括弧,只要一对照流程图就能很快发现。,(三)C语言程序调试方法,2)如果实在找不到错误,可以采用“分段检查”的方法。逐段往下检查,直到找到在某一段中数据不对为止。这时就已经把错误局限在这一段中了。不断减小“查错区”,就能发现错误所在。 3)如果在程序中没有发现问题,就要检查流程图有无错误,即算法有无问题。有则改正之,接着修改程序。,(三)C语言程序调试方法,总之,程序调试是一项深入细致的工作,需要下功夫,动脑子,善于积累经验。在程序调试过程中往往反映出一个人的水平、经验和态度。希望大家给以足够的重视。上机调试程序的目的决不是为了“验证程序的正确”,而是“掌握调试的方法和技术”,要学会自己找问题,这样慢慢自己就会写出错误较少的实用程序。,END。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值