C++中逻辑错误、语法错误、编译错误分别出现什么情况

来源:百度知道 编辑:UC知道 时间:2024/05/21 16:18:26
V C++ 6.0编译器中,以上三种错误分别会出现什么情况?

比如逻辑错误能够通过编译、连接,出现警告,能运行出错误结果……

语法错误 就会导致 编译错误
编译错误和连接错误不能生成可执行程序

逻辑错误 没办法检查,只能影响结果

编译错误:
(1)警告:可运行,但结果有可能不正确
(2)错误:无法生成可执行文件

语法错误:无法生成可执行文件

逻辑错误:可运行,但结果很可能错误

1、语法错误:是指由于编程中输入不符合语法规则而产生的。例如:表达式不完整、缺少必要的标点符号、关键字输入错误、数据类型不匹配、循环语句或选择语句的关键字不匹配等。通常,编译器对程序进行编译的过程中,会把检测到的语法错误以提示的方式列举出来,又称为编译错误。
语法错误的调试,则可以由集成开发环境提供的调试功能来实现,在程序进行编译时,编译器会对程序中的语法错误进行诊断。编译诊断的语法错误分为3中:致命错误、错误和警告。
(1)致命错误:这个错误大多是编译程序内部发生的错误,发生这类错误时,编译被迫中止,只能重新启动编译程序,但是这类错误很少发生,为了安全,编译前最好还是先保存程序。
(2)错误:这个错误通常是在编译时,语法不当所引起的。例如:括号不匹配,变量未声明等。产生这类错误时,编译程序会出现报错提示,我们根据提示对源程序进行修改即可。这类错误是出现最多的。
(3)警告:是指被编译程序怀疑有错,但是不确定,有时可强行通过。例如:没有加void声明的主函数没有返回值,double数据被转换为float类型等。这些警告中有些会导致错误,有些可以通过。
2、运行错误:指程序在运行过程中出现的错误。例如:除法运算时除数为0 、数组下标越界、文件打不开、磁盘空间不够等。
3、逻辑错误:程序运行后,没有得到设计者预期的结果。这就说明程序存在逻辑错误。这种错误在语法上是有效的,但是在逻辑上是错误的。例如:使用了不正确的变量,指令的次序错误,循环的条件不正确,程序设计的算法考虑不周全等。通常,逻辑错误也会附带产生运行错误。在一般情况下,编译器在编译程序时,不能检测到程序中的逻辑错误,也不会产生逻辑错误的提示,因此逻辑错误比肩难排除,需要程序员仔细的分析程序,并借助集成开发环境提供的调试工具,才能找到出错的原因,并排除错误。