C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第11章 C语言程序常见错误与调试方法 .ppt

C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第11章 C语言程序常见错误与调试方法 .ppt

ID:49937045

大小:424.50 KB

页数:21页

时间:2020-03-04

C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第11章 C语言程序常见错误与调试方法 .ppt_第1页
C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第11章 C语言程序常见错误与调试方法 .ppt_第2页
C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第11章 C语言程序常见错误与调试方法 .ppt_第3页
C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第11章 C语言程序常见错误与调试方法 .ppt_第4页
C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第11章 C语言程序常见错误与调试方法 .ppt_第5页
资源描述:

《C语言程序设计教学课件ppt作者 冯茂岩 孙炯宁第11章 C语言程序常见错误与调试方法 .ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言程序设计——第11章C语言程序常见错误与调试方法C语言程序设计中常见错误分析与出错信息分析C语言程序调试方法典型错误与分析本章主要内容提示11.1C语言程序设计中常见错误分析与出错信息C的源程序错误分为三种类型:致命错误、一般错误和警告。其中,致命错误通常是内部编译出错;一般错误指程序的语法错误、磁盘或内存存取错误或命令行错误等;警告则只是指出一些得怀疑的情况,它并不防止编译的进行。下面按字母顺序A~Z分别列出致命错误及一般错误信息,英汉对照及处理方法:11.1.1致命错误英汉对照及处理方法11.1C语言程序设计中常见错误分析与

2、出错信息Badcallofin-linefunction(内部函数非法调用)分析与处理:在使用一个宏定义的内部函数时,没能正确调用。一个内部函数以两个下划线(__)开始和结束。Irreducableexpressiontree(不可约表达式)分析与处理:这种错误指的是文件行中的表达式太复杂,使得代码生成程序无法为它生成代码。这种表达式必须避免使用。Registerallocationfailure(存储器分配失败)分析与处理:这种错误指的是文件行中的表达式太复杂,代码生成程序无法为它生成代码。此时应简化这种繁杂的表达式或干脆避免使用它

3、。11.1C语言程序设计中常见错误分析与出错信息11.1.2一般错误信息英汉照及处理方法#operatornotfollowedbymacoargumentname(#运算符后没跟宏变元名)分析与处理:在宏定义中,#用于标识一宏变串。“#”号后必须跟一个宏变元名。'xxxxxx'notanargument('xxxxxx'不是函数参数)分析与处理:在源程序中将该标识符定义为一个函数参数,但此标识符没有在函数中出现。Ambiguoussymbol'xxxxxx'(二义性符号'xxxxxx')分析与处理:两个或多个结构的某一域名相同,但具

4、有的偏移、类型不同。在变量或表达式中引用该域而未带结构名时,会产生二义性,此时需修改某个域名或在引用时加上结构名。Argument#missingname(参数#名丢失)分析与处理:参数名已脱离用于定义函数的函数原型。如果函数以原型定义,该函数必须包含所有的参数名。11.1C语言程序设计中常见错误分析与出错信息Argumentlistsyntaxerror(参数表出现语法错误)分析与处理:函数调用的参数间必须以逗号隔开,并以一个右括号结束。若源文件中含有一个其后不是逗号也不是右括号的参数,则出错。Arrayboundsmissing(

5、数组的界限符"]"丢失)分析与处理:在源文件中定义了一个数组,但此数组没有以下右方括号结束。Arraysizetoolarge(数组太大)分析与处理:定义的数组太大,超过了可用内存空间。Assemblerstatementtoolong(汇编语句太长)分析与处理:内部汇编语句最长不能超过480字节。Badconfigurationfile(配置文件不正确)分析与处理:TURBOC.CFG配置文件中包含的不是合适命令行选择项的非注解文字。配置文件命令选择项必须以一个短横线开始。Badfilenameformatinincludedire

6、ctive(包含指令中文件名格式不正确)分析与处理:包含文件名必须用引号("filename.h")或尖括号()括起来,否则将产生本类错误。如果使用了宏,则产生的扩展文本也不正确,因为无引号没办法识别。11.2C语言程序调试方法所谓程序调试是指对程序的查错和排错。1.先进行人工检查,即静态检查。在写好一个程序以后,不要匆匆忙忙上机,而应对程序进行人工检查。这一步十分重要,它能发现程序设计人员由于疏忽而造成的多数错误。这一步往往容易被人忽视,总希望把一切都推给计算机去做,但这样会多占用机器时间,作为一个程序设计人员应

7、当养成严谨的作风,每一步都要严格把关,不把问题留给后面的工序。为了更有效地进行人工检查,所编的程序应力求做到以下几点:①应当采用结构化程序方法编程,以增加可读性;②尽可能多加注释,以帮助理解每段程序的作用;③在编写复杂的程序时不要将全部语句都写在main函数中,而要多利用函数,用一个函数来实现一个单独的功能。各函数之间除用参数传递数据外,尽量少出现耦合关系,这样便于分别检查和处理。11.2C语言程序调试方法2.在人工检查无误后,再上机调试。通过上机发现错误称为动态检查。在编译时会给出语法错误的信息,调试时可以根据提示信息具体找出程序中

8、出错之处并改正。应当注意的是有时提示出错的地方并不是真正出错的位置,如果在提示出错的行找不到错误的话应当到上一行再找。有时提示出错的类型并非绝对准确,由于出错的情况繁多且各种错误互有关联,因此要善于分析,找出真正的错误,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。