一、填空题
- 编译程序的工作过程一般可以划分为___词法分析_______、语法分析_____、中间代码生成__、代码优化____、目标代码生成______t等几个基本阶段,同时还会伴有__表格管理________和___出错处理___。
- 编译方式与解释方式的根本区别在于__是否产生目标程序______________。
- 对编译程序而言,输入数据是___源程序_________,输出结果是___目标程序_________。
- 如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为两大阶段:_编译阶段_____和_运行阶段________。
二、单项选择题 - 在使用高级语言编程时,首先可通过编译程序发现源程序的全部__a__________错误和部分___b_________错误。
a.语法 b.语义 c.语用 d.运行 - 汇编程序是将___a_________翻译成_____b_______;编译程序是将___c_________翻译成____d________。
a.汇编语言程序 b.机器语言程序
c.高级语言程序 d.汇编语言程序或机器语言程序 - 要在某一台机器上为某种语言构造一个编译程序,必须掌握下述三方面的内容:c__、d、f__。
a.汇编语言 b.高级语言 c.源语言 d.目标语言
d.程序设计方法学 f.编译方法 g.测试方法 h.机器语言 - 编译程序与具体的机器___a_______,与具体的语言___a_______。
a.有关 b.无关 - 使用解释程序时,在程序未执行完的情况下,____b______重新执行已执行过的部分。
a.也能 b.不可能 - 编译程序是一种常用的__b________软件。
a.应用 b.系统 - 编译程序生成的目标程序____b______是机器语言程序。
a.一定 b.不一定 - 编译程序生成的目标程序____b______是可执行的程序。
a.一定 b.不一定
三、简答题 - “含有优化部分的编译程序的执行效率高”,这种说法正确吗?
.答:含有优化功能的编译程序,其优化是指对生成的目标代码进行优化,而不是编译程序本身得到优化,它提高目标代码的效率,而不是编译程序的效率。所以,上述说法不对。 - “解释方式与编译方式的区别在于解释程序对源程序并没有真正进行翻译。”这种说法对吗?
答:错。编译方式和解释方式实际上都进行翻译,只是编译相当于笔译,而解释相当于口译,解释方式下,不将源程序彻底翻译成目标代码,而是每读入一条语句,再翻译执行。编译方式和解释方式的根本区别在于“是否生成了目标代码”。 - 有人认为编译程序的五个组成部分缺一不可,这种看法正确吗?
答:不正确。编译程序的五个组成部分中,词法分析,语法分析,语义分析和代码生成是必须完成的,而代码优化是为了提高目标程序的质量,它不是必需的,没有优化部分的编译程序也能生成目标代码