预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共77页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PAGE\*MERGEFORMAT77 如何修改程序的语法错误 在程序开发的过程中,调试是一个不可缺少的重要环节。“三分编程七分调试”,说明程序调试的工作量要比编程大得多。C程序的错误可以分为两种:语法错误和逻辑错误 (1)语法错误,这是C语言初学者出现最多的错误,比如,分号“;”是每个C语句的结束的标志,在C语句后忘记写“;”就是语法错误,发生语法错误的程序,编译通不过,用户可以软件的提示信息来修改。 (2)逻辑错误就是用户编写的程序已经没有语法错误,可以运行,但得不到所期望的结果(或正确的结果),也就是说由于程序设计者原因程序并没有按照程序设计者的思路来运行。比如一个最简单例子是:我的目的是求两个数的和的,应该写成z=x+y;由于某种原因却写成了z=x-y;这就是逻辑错误。 发生逻辑错误的程序编译软件是发现不了,要用户跟踪程序的运行过程才能发现程序中逻辑错误,这是最不容易修改的。比如软件的BUG就是逻辑错误,发行补丁程序就是修改逻辑错误(用户最常见就是Windows操作系统经常发布补丁程序) 下面介绍如何用本软件修改这语法错误。 一、修改语法错误 在运行程序时,如果程序发生语法错误,软件会在错误信息输出窗口显示错误信息。C语言的错误表现形式如下。 C语言的错误信息的形式:(下面例子是的TurboC/C++错误信息,如图1) 错误文件名行号冒号错误内容↓↓↓↓↓ErrorE:\WinTc\WinTc\frist.c5:Functioncallmissing)infunctionmainC语言的错误信息的形式:(下面例子是VisualC++6.0错误信息,如图2) 文件名行号冒号错误代码冒号错误内容↓↓↓↓↓↓e:\wintc\wintc\frist.c(5):errorC2143:syntaxerror:missing')'before';' 图1TurboC2.0错误信息表现形式(上面是英文错误信息,下面是对应的中文错误信息) 图2VisualC++6.0错误信息表现形式(上面是英文错误信息,下面是对应的中文错误信息) 三、VisualC++6.0编译器的解决方法 从错误信息来看:VisualC++6.0的错误信息更准确(missing')'before';'第5行的分号前丢失')',并中文的同步翻译也比TurboC准确,双击图2中文错误信息可以打开更详细的解决方法 图3VisualC++6.0更详细的错误解决方法 图1和图2中C程序如下: #include"stdio.h" voidmain() { printf("HelloWorld!"; } 从图3的错误提示信息中知道第5行程序发生错误即: printf("HelloWorld!"; 原因是:在main函数中调用printf函数时漏写了右括号“)”,解决方法很简单,加上扩号即可printf("HelloWorld!"); 四、TurboC2.0编译器的解决方法 图3打开“TurboC2.0常见错误信息表” 图4TurboC2.0常见错误信息表 在图4中找到错误信息“Functioncallmissing)”,可以看到其右边有发生错误的原因“如果函数调用的参数表漏掉了右括号或括号不匹配,则会发生此类错误”,知道了错误的原因修改很简单: 将printf("HelloWorld!";,添上右“)”即可 printf("HelloWorld!"); 说明:在“中英文编译信息修正表“中有C语言编译错误信息及发生错误的原因。 用户可以用上述方法学习C语言常见的语法错误发生的原因、积累修改语法错误的经验与技巧。 五、语法错误表现形式 说明:使用本软件调试程序时,当发生错误时,软件会自动定位源程序中错误所在行的位置并高亮显示该行(如图1、图2中自动选中错误行第5行),修改好第一条发生错误行后,双击任一条错误信息,该软件定位源程序中与之相对应错误所在行的位置并高亮显示该行,以便改正错误。 六、C语言初学者易犯语法错误: 将英文符号输入成中文符号、使用未定义的变量、标示符(变量、常量、数组、函数等)不区分大小写、漏掉“;”、“{”与“}”、“(”与“)”不匹、控制语句(选择、分支、循环)的格式不正确、调用库函数却没有包含相应的头文件、调用未C声明的自定义函数、调用函数时实参与形参不匹配、数组的边界超界等。七、修改C语言语法错误时要注意以下两点: 1、由于C语言语法比较自由、灵活,因此错误信息定位不是特别精确。例如,当提示第10行发生错误时,如果在第10行没有发现错误,从第10行开始往前查找错误并修改之。 2、一条语句错误可能会产生若干条错误信息只要修改了这条错误,其他错误会随之消失。特别提示:一般情况下,第一条错误信息最能反映错误的位置和类型,所以调试程序时务必根