㈠ 编译错误是什么意思
编译错误一般指语法上的错误运行错误或指程序上的bug。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。
编译(compilation , compile) ,利用编译程序从源语言编写的源程序产生目标程序的过程。用编译程序产生目标程序的动作。 编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
编译语言是一种以编译器来实现的编程语言。它不像直译语言一样,由解释器将代码一句一句运行,而是以编译器,先将代码编译为机器码,再加以运行。理论上,任何编程语言都可以是编译式,或直译式的。它们之间的区别,仅与程序的应用有关。
㈡ c++中什么是语法错误,什么是编译错误
程序的错误主要分成三种:
编译链接错误;
编译链接错误又分成编译错和链接错。
编译错就是普通意义上的语法错,编译器进行语法检查不通过,也就是程序违背了计算机语言的语法,例如:括号不匹配、变量名拼写错误、用保留字定义变量名等;
链接错是指程序通过了语法检查,但是无法生成可执行文件,最常见的是链接找不到lib库。初学者有时写了函数的声明,但是缺少函数的定义,此时就会出现链接错。
运行错误;
运行错是程序可以执行,但是在执行过程中发生异常,提前退出程序。最常见的是指针越界,打开文件失败继续读取文件,总而言之是让计算机执行一些不能执行的语句。
逻辑错误
逻辑错是程序也能运行,就是结果不对,主要原因有:程序算法本身错误,程序和算法不同义等。
例如:新手经常将判断相等的==写成=赋值,往往就会导致逻辑错。
你的BD(int,int); 是一句函数调用?还是一句函数声明?
㈢ ,编译时会出现编译错误的是A) char a=’a’; B)char a=’\n’; C) char a=’aa’; D)char a=’\x2d’;
答案:C
简要分析:
char a='aa'; a是字符变量,只能存储一个字符!
具体分析:
A中a等于字符a
B中\为转义字符,\n表示换行符,所以a等于换行符
C中''中只能包含一个字符来表示该字符常量。你可以这样写char *a="aa";表示a指向字符串常量的首地址。
D中x表示十六进制数,16进制的2d转换为十进制为45,即为字符‘-’
'\x2d'就是'\-',所以a=‘-’
所以c选项错误
㈣ compile error是什么错误
compile error 是C语言编辑错误。
1、变量未定义就使用,或定义后使用位置超出了定义的作用域。
说明:如b=25但程序并未在使用前定义好b的类型,还应注意变量作用域。
2、 括号不匹配。
说明:()、[]、{}一定要有始就得有终。
3、使用非法类型。
说明:如__int64在GCC编译器下不识别,你却用它。
4、需少分号。
说明:忘了语句以一个分号结束。
5、用函数未引头文件。
说明:如printf函数在G++中未包含stdio.h文件。GCC较G++稍宽松些此处。
6、 包含非标准头文件。
说明:如conio.h并非标准库中定义的头文件。
7、使用非标准库函数。
说明:如itoa、strupr等并不是C标准库中的函数,不能使用。
8、有非法字符。
说明:一般是你网上或幻灯片里粘贴过来的代码有非常字符引起。
9、自定义函数未声明。
说明:自定义函数一定要先声明再使用。
(4)什么错误被称为编译错误扩展阅读
程序编译特点:
1、数据结构分析和综合时所用的主要数据结构,包括符号表、常数表和中间语言程序。符号表由源程序中所用的标识符连同它们的属性组成,其中属性包括种类(如变量、数组、结构、函数、过程等)、类型(如整型、实型、字符串、复型、标号等),以及目标程序所需的其他信息。
2、常数表由源程序中用的常数组成,其中包括常数的机内表示,以及分配给它们的目标程序地址。中间语言程序是将源程序翻译为目标程序前引入的一种中间形式的程序,其表示形式的选择取决于编译程序以后如何使用和加工它。
3、常用的中间语言形式有波兰表示、三元组、四元组以及间接三元组等。