高级语言与编译程序概述自测题_第1页
高级语言与编译程序概述自测题_第2页
高级语言与编译程序概述自测题_第3页
高级语言与编译程序概述自测题_第4页
高级语言与编译程序概述自测题_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章高级语言与编译程序概述一、单项选择题1.将编译程序分成若干个 “遍 ”是为了 。a. 提高程序的执行效率b. 使程序的结构更加清晰c. 利用有限的机器内存并提高机器的执行效率d. 利用有限的机器内存但降低了机器的执行效率2.构造编译程序应掌握 。a. 源程序b. 目标语言c. 编译方法d. 以上三项都是3.编译程序绝大多数时间花在 上。a. 出错处理b. 词法分析c. 目标代码生成d. 管理表格4. 不可能是目标代码。a. 汇编指令代码b. 可重定位指令代码c. 绝对指令代码d. 中间代码5.使用可以定义一个程序的意义。a. 语义规则b. 词法规则c. 产生规则d. 左结合规则6.词法分

2、析器的输入是。a. 单词符号b. 源程序c. 语法单位d. 目标程序7.中间代码生成时所遵循的是。a. 语法规则b. 词法规则c. 语义规则d. 等价变换规则8.编译程序是对。a. 汇编程序的翻译b. 高级语言程序的解释执行c. 机器语言的执行d. 高级语言的翻译9.词法分析应遵循。a. 语义规则b. 语法规则c. 构词规则d. 等价变换规则10.若源程序是高级语言编写的程序,目标程序是,则称它为编译程序。a. 汇编语言程序或高级语言程序b. 高级语言程序或机器语言程序c. 汇编语言程序或机器语言程序d. 连接程序或运行程序11.编译过程中,词法分析阶段的任务是。a. 识别表达式b. 识别语言

3、单词c. 识别语句d. 识别程序二、多项选择题:1.编译程序各阶段的工作都涉及到。a. 语法分析b. 表格管理c. 出错处理d. 语义分析e. 词法分析2.如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为两大阶段:和。a. 编译阶段b. 汇编阶段c. 运行阶段d. 置初值阶段3.编译程序工作时,通常有阶段。a. 词法分析b. 语法分析c. 中间代码生成 d. 语义检查e. 目标代码生成f.出错处理g.表格管理4.编译过程中所遵循的规则有。a. 等价变换规则b. 短语规则c. 构词规则d. 语义规则e. 语法规则三、填空题:1.解释程序和编译程序的区别在于。2.编译过程通常可分为5

4、个阶段,分别是、语法分析、代码优化和目标代码生成。3. 编译程序是指能将 程序翻译成 程序的程序。4.把语法范畴翻译成中间代码所依据的是语言的。5.目标代码可以是指令代码或指令代码或绝对机器指令代码。6.词法分析所遵循的是语言的,而中间代码生成所遵循的是语言的。四、判断题:1.编译程序是一种常用的应用软件。()2.c 语言的编译程序可以用c 语言来编写。()3.编译方式与解释方式的根本区别在于是否生成目标代码。()4.编译程序与具体的语言无关。()5.一般而言,中间代码是一种独立于具体硬件的记号系统。()6.编译程序与具体的机器有关。()7.对编译程序而言,代码优化是不可缺少的一部分。()8.

5、对编译程序而言,中间代码生成是不可缺少的一部分。()9.编译程序生成的目标程序一定是可执行的程序。()10.含有优化部分的编译程序的执行效率高。()五、综合题1.计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?2.画出编译程序的总体结构图,简述各部分的主要功能。3.什么叫自展?什么叫交叉编译?4.试分析编译程序是否分遍应考虑的因素及多遍扫描编译程序的优缺点。5.请画出编译程序的总框。如果你是一个编译程序的总设计师,应当考虑哪些问题?(国防6.何谓源程序、目标程序、翻译程序、编译程序和解释程序?它们之间可能有何种关系?7. 选择一种你所熟悉的程序设计语言, 试列出此语言中的全

6、部关键字, 并通过上机使用该语言以判明这些关键字是否为保留字。第一章答案:一、答: 1.b 2.d 3.d 4.d 5.a6.b 7.c 8.d 9.c 10.c 11.b二、答: 1.bc 2ac 3.abcde4.acde三、答:1.是否生成目标程序2.词法分析、中间代码生成3.高级语言所写的源语言等价的机器语言或汇编语言的目标4.语义规则。5.汇编 可重定位6.词法规则语义规则四、答: 1.x 2. 3. 4.x 5. 6.x 7.x 8.x 9.x 10. x五、1.计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?答:计算机执行用高级语言编写的程序主要有两种途径:解

7、释和编译。在解释方式下, 编译程序事先并不采用将高级语言程序全部翻译成机器代码程序,然后执行这个机器代码程序的方法,而是每读入一条源程序的语句,就将其解释(翻译)成对应其功能的机器代码语句串执行之,而所翻译的机器代码语句串在该语句执行后并不保留,然后再读入下一条源程序语句,再解释执行。 这种方法是按照源程序语句中动态的执行顺序逐句解释(翻译)执行的,如果一语句处于一循环体中,则每次循环执行到该语句时,都要将其翻译成机器代码后执行。编译方式下, 高级语言程序的执行是分两步进行的:第一步首先将高级语言程序全部翻译成机器代码程序, 第二步才是执行这个机器代码程序;也即对源程序的处理是先翻译后执行。从

8、执行速度上看, 编译型的高级语言比解释型高级语言要快,但解释方式下的人机界面比编译型好,便于程序调试。两种途径的主要区别在于:解释方式下不生成目标代码程序,而编译方式生成目标代码程序。2.画出编译程序的总体结构图,简述各部分的主要功能。编译程序的总体结构图如下图所示。词法分析程序:输入源程序,进行词法分析,输出单词符号。语法分析程序: 在词法分析的基础上,根据语言的语法规则(文法规则)把单词符号串分解成各类语法单位,并判断输入串是否构成语法正确的“程序”。语义分析和中间代码生成程序:按照语义规则把语法分析器归约(或推导) 出的语法单位翻译成一定形式的中间代码,比如说四元式。代码优化程序:对中间

9、代码进行优化处理。目标代码生成器:把中间代码翻译成目标语言程序。表格管理程序: 保存一系列的表格, 登记源程序的各类信息和编译各阶段的进展情况。编译程序各阶段所产生的中间结果都记录在表格中,所需信息多数都需要从表格中获取,整个翻译过程都在不断地和表格打交道。出错处理程序对出现在源程序中的错误进行处理。此外编译的各阶段都可能出现错误,出错处理程序对发现的错误都及时进行处理。3.什么叫自展?什么叫交叉编译?答:自展是先对程序核心部分构造一个小的编译程序,再以它为工具构造一个能够编译多语言成分的较大的编译程序。 如此扩展下去, 直至最后形成人们所期望的整个编译程序。 交叉编译是在计算机系统 a 上编

10、译能够在于系统 a 不同的计算机系统 b 上运行的程序。4.试分析编译程序是否分遍应考虑的因素及多遍扫描编译程序的优缺点。答:编译程序是否分遍应根据具体情况决定,如语言的大小与结构,是否有先使用后说明的使用方式; 内存容量的大小、设计目标、是否考虑编译的速度或目标程序的运行速度,设计人员的规模与素质等。采用多遍扫描方式可以节省内存空间并提高目标程序质量,同时也缩短编译程序的研制周期。但多遍扫描必然会产生各遍扫描之间要传递一些表格、信息以及一些重复性的工作,这就增加编译花费的时间,降低了编译的效率。5.请画出编译程序的总框。如果你是一个编译程序的总设计师,应当考虑哪些问题?(国防科大 2000

11、年研究生试题)答:编译程序总框如下图所示。 作为一个编译程序的总设计师, 首先要深刻理解被编译的源语言的语法及语义;其次,要充分掌握目标指令的功能及特点,如果目标语言是机器指令,还要搞清楚机器的硬件结构以及操作系统的功能; 第三,对编译的方法及使用的软件工具也必须准确化; 总之必须估量系统功能要求、 硬件设备及软件工具等因素对编译程序构造的影响。6.何谓源程序、目标程序、翻译程序、编译程序和解释程序?它们之间可能有何种关系 ?答:源程序是指以某种程序设计语言所编写的程序。目标程序是指编译程序(或解释程序)将源程序处理加工而得的另一种语言(目标语言) 的程序。 翻译程序是将某种语言翻译成另一种语

12、言的程序的统称。 编译程序与解释程序均为翻译程序,但二者工作方法不同。 解释程序的特点是并不先将高级语言程序全部翻译成机器代码,而是每读入一条高级语言程序语句,就用解释程序将其翻译成一段机器指令并执行之,然后再读入下一条语句继续进行解释、执行, 如此反复。即边解释边执行,翻译所得的指令序列并不保存。编译程序的特点是先将高级语言程序翻译成机器语言程序,将其保存到指定的空间中, 在用户需要时再执行之。即先翻译、后执行。7. 选择一种你所熟悉的程序设计语言,试列出此语言中的全部关键字, 并通过上机使用该语言以判明这些关键字是否为保留字。答: c 语言的关键字有: auto break case char constcontinue default do double elseenum extern float for goto if int long register return short signed sizeof static struct switch typedefunion unsigned void volatile while。上述关键字在c 语言中均为保留字。8.选取一种

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论