Ⅰ 为什么高级语言中存在编译和解释两种编译方式
编译方式:事先编好的一个叫做编译程序的机器语言程序放在计算机中。当高级语言编的源程序输入计算机时,编译程序就把源程序自动整个地翻译成用机器指令表示的目标程序。
解释方式:事先编好的一个叫做解释程序的机器语言程序放在计算机中,当高级语言源程序输入计算机后,解释程序自动地逐句翻译源程序,译一句执行一句。
因此往往需要特定的平台,由于程序执行的是编译好的二进制文件,这种编译一旦完成,那么就只能在特定平台上运行了:编译是指将源语言转化为目标计算机的可执行二进制代码两者互有优劣,因此速度比较快(相对下面的解释)。
解释方式:事先编好的一个叫做解释程序的机器语言程序放在计算机中,当高级语言源程序输入计算机后,解释程序自动地逐句翻译源程序,译一句执行一句。 可以这么理解,编译的结果是另外一种语言,而解释的就是一种中间语言。
Ⅱ 国家计算机二级C语言考试题
一 、选择题
(1)下列数据结构中,按先进后出原则组织数据的是
A)线性链表
B)栈
C)循环链表
D)顺序表
正确答案: B
(2)具有3个结点的二叉树有
A)2种形态
B)4种形态
C)7种形态
D)5种形态
正确答案: D
(3)设有下列二叉树:
对此二叉树前序遍历的结果为
A)ZBTYCPXA
B)ATBZXCYP
C)ZBTACYXP
D)ATBZXCPY
正确答案: B
(4)结构化程序设计主要强调的是
A)程序的规模
B)程序的效率
C)程序设计语言的先进性
D)程序易读性
正确答案: D
(5)程序的3种基本控制结构是
A)过程、子过程和分程序
B)顺序、选择和重复
C)递归、堆栈和队列
D)调用、返回和转移
正确答案: B
(6)下列叙述中,不属于测试的特征的是
A)测试的挑剔性
B)完全测试的不可能性
C)测试的可靠性
D)测试的经济性
正确答案: C
(7)需求分析中开发人员要从用户那里了解
A)软件做什么
B)用户使用界面
C)输入的信息
D)软件的规模
正确答案: A
(8)下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是
A)选择
B)连接
C)投影
D)并
正确答案: B
(9)下列叙述中,正确的是
A)用E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系
B)用E-R图只能表示实体集之间一对一的联系
C)用E-R图只能表示实体集之间一对多的联系
D)用E-R图表示的概念数据模型只能转换为关系数据模型
正确答案: C
(10)"年龄在18~25之间"这种约束是属于数据库当中的
A)原子性措施
B)一致性措施
C)完整性措施
D)安全性措施
正确答案: C
11)以下说法错误的是
A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式
B)计算机只能处理由0和1的代码构成的二进制指令或数据
C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件
D)每一种高级语言都有它对应的编译程序
正确答案: C
(12)算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是
A)有零个输入或多个输入
B)高效性
C)有穷性
D)确定性
正确答案: B
(13)已知int a=6; 则执行a+=a-=a*a;语句后,a的值为
A)36
B)0
C)-24
D)-60
正确答案: D
(14)下面各选项中,均是C语言标识符的选项组是
A)forchinato
B)long_123short56_do
C)voinion_342
D)text.txt _023_3ew
正确答案: B
(15)下列表达式中,结果为5的是
A)6*5%6
B)5*-2+15
C)5+75%10
D)6+-2/3
正确答案: B
(16)下列常量中,为不合法的实型常量表示的是
A).0032
B)0.0
C)0.3242E8
D).E3
正确答案: D
(17)关于C语言的主函数描述正确的是
A)C程序可以有多个main函数
B)C程序必有一个而且只能有一个main函数
C)C程序可以没有main函数
D)C程序的执行不一定在main函数开始执行
正确答案: B
(18)已知int a=1,b=-1;则语句printf("%d\n",(a--,++b));的输出结果是
A)-1
B)0
C)1
D)语句错误
正确答案: B
(19)已知int a,b;double c;则以下语句中错误的函数调用是
A)scanf("%d,%x,%lf",&a,&b,&c);
B)scanf("%d,%d,%le",&a,&b,&c);
C)scanf("%o,%x,%o",&a,&b);
D)scanf("%d,%o,%e",&a,&b,&c);
正确答案: D
(20)已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为
A)1
B)2
C)3
D)4
正确答案: C
Ⅲ 是不是每个高级语言都有其自带的编译系统我这样理解对不对
不明白。。。每个语言都有自己的编译系统或者解析系统。不然怎么用啊。
Ⅳ 为什么高级程序语言需要编译程序
计算机语言是人与计算机之间交流的媒介,其种类非常多,但大体上分为机器语言、汇编语言、高级语言三大类。
计算机不能直接理解高级语言,只能直接理解机器语言,因此必须将高级语言翻译成机器语言,翻译的过程分为两种,一种是解释,一种是编译。两种方式的区别在于翻译的时间,编译是在程序运行之前,需要一个专门的过程,将程序编译成为机器语言的文件,比如EXE文件,以后要运行的话就不用再重新编译了,直接使用之前的编译结果就行了,因为只翻译一次,运行时不需要再翻译,所以编译型语言的程序执行效率高。
解释性语言则不同,解释性语言不需要编译,其程序在运行时才翻译,每个语句都是执行时才翻译。这样解释性语言每执行一次就要翻译一次,其执行效率则相对较低。
另外,编译型语言以二进制形式保存,源代码不可见;解释性语言以代码形式保存。
Ⅳ 所有高级语言使用相同的编译程序完成翻译工作.这句话对吗
错,不同的高级语言除了C和C++可以共用一个编译器,其余的编译器都是不同的
Ⅵ 电脑高级语言(c语言,等)和编译软件的关系麻烦详细解释,,谢谢!!
把用高级程序设计语言书写的源程序,翻译成等价的计算机汇编语言或机器语言的目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。编译程序的实现算法较为复杂。这是因为它所翻译的语句与目标语言的指令不是一一对应关系,而是一多对应关系;同时也因为它要处理递归调用、动态存储分配、多种数据类型,以及语句间的紧密依赖关系。但是,由于高级程序设计语言书写的程序具有易读、易移植和表达能力强等特点,编译程序广泛地用于翻译规模较大、复杂性较高、且需要高效运行的高级语言书写的源程序。
Ⅶ 高级语言的编译过程,经过哪几个步骤
开发C程序有四个步骤:编辑、编译、连接和运行。
任何一个体系结构处理器上都可以使用C语言程序,只要该体系结构处理器有相应的C语言编译器和库,那么C源代码就可以编译并连接到目标二进制文件上运行。
1、预处理:导入源程序并保存(C文件)。
2、编译:将源程序转换为目标文件(Obj文件)。
3、链接:将目标文件生成为可执行文件(EXE文件)。
4、运行:执行,获取运行结果的EXE文件。
(7)每一种高级语言都有对应的编译程序扩展阅读:
将C语言代码分为程序的几个阶段:
1、首先,对源代码文件进行测试。以及相关的头文件,比如Stdio。H.CPP预处理为。我的文件。预编译。该文件不包含任何宏定义,因为所有宏都已展开,且包含的文件已插入。我提起。
2、编译过程是对预处理后的文件进行词法分析、语法分析、语义分析和优化,生成相应的汇编代码文件。这个过程通常是整个程序的核心部分,也是最复杂的过程之一。
3、汇编程序不直接输出可执行文件,而是输出目标文件。汇编程序可以调用LD来生成可运行的可执行程序。也就是说,您需要链接到大量文件以获得最终可执行文件“a.out”。
4、在链接过程中,其他目标文件中定义的函数调用指令需要重新调整,而其他目标文件中定义的变量也存在同样的问题。
Ⅷ 任何高级语言都是编译成汇编代码然后运行的吗
编译器,是将便于人编写,阅读,维护的高级计算机语言翻译为计算机能识别,运行的低级机器语言的程序。编译器将源程序(Source program)作为输入,翻译产生使用目标语言(Target language)的等价程序。源程序一般为高级语言(High-level language),如Pascal,C++等,而目标语言则是汇编语言或目标机器的目标代码(Object code),有时也称作机器代码(Machine code)。一个现代编译器的主要工作流程如下:
源程序(source code)→预处理器(preprocessor)→编译器(compiler)→汇编程序(assembler)→目标程序(object code)→连接器(链接器,Linker)→可执行程序(executables])工作原理
翻译是从源代码(通常为高级语言)到能直接被计算机或虚拟机执行的目标代码(通常为低级语言或机器言)。然而,也存在从低级语言到高级语言的编译器,这类编译器中用来从由高级语言生成的低级语言代码重新生成高级语言代码的又被叫做反编译器。也有从一种高级语言生成另一种高级语言的编译器,或者生成一种需要进一步处理的的中间代码的编译器(又叫级联)。典型的编译器输出是由包含入口点的名字和地址以及外部调用(到不在这个目标文件中的函数调用)的机器代码所组成的目标文件。一组目标文件,不必是同一编译器产生,但使用的编译器必需采用同样的输出格式,可以链接在一起并生成可以由用户直接执行的可执行程序。
肯定是要先编译成机器码,计算机才能识别。
Ⅸ 每种计算机高级编程语言,如C语言,自身都带有编译的功能吧
高级语言是各种符号以及约束,是人看的懂的东西,而计算机看不懂,计算机只识别二进制,而要把高级语言转换成计算机看的懂的东西就要先编译,而编译要用到编译器,编译器也是软件
就比如你不懂英语而只懂汉语,但是你要用汉语告诉一个美人国该做什么的话就要一个翻译,你说汉语自身有带翻译的功能吗???
Ⅹ 每一种高级语言都有它对应的编译程序这句话是不是对的
这句话是错的,并不是所有的高级程序设计语言都是编译执行的,有些高级程序设计语言就是解释执行的。
这里的关键是理解编译执行和解释执行的不同,编译执行是由编译程序编译链接之后,生成可执行文件,以后只要执行可执行文件就好了;而解释执行,是由解释器来执行代码的,每次执行都是解释执行代码的过程。解释执行的典型高级程序设计语言就是JAVA,另外还有VB等脚本语言。