课程
1549 字
约 5 分钟
大三下
学堂在线测试 —— 编译原理
编译原理exercises/xuetangx_2026·更新于 2026-09-15
学堂在线测试 —— 编译原理
引论 习题
一、 单项选择题(本题共 10 小题,每小题 1 分,共 10 分)
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. 编译程序各阶段工作都涉及 ______。
- A. 词法分析
- B. 表格管理
- C. 语法分析
- D. 语义分析
7. 一遍扫描的编译程序的优点是 ______。
- A. 算法清晰
- B. 便于分工
- C. 便于优化
- D. 编译速度快
8. 构造编译程序应掌握 ______ 方面的知识。
- A. 源程序
- B. 目标程序
- C. 编译方法
- D. 以上三个都是
9. 目标代码的高效性体现在 ______。
- A. 运行时间较短
- B. 占用存储空间较小
- C. 运行时间短但占用内存空间大
- D. 运行时间短且占用存储空间小
10. 将编译程序分成若干“遍”是为了 ______。
- A. 提高程序的执行效率
- B. 利用有限的内存,提高机器的效率
- C. 使程序的结构更加清晰
- D. 利用有限的内存,降低机器的效率
二、 判断题(本题共 1 小题,每小题 1 分,共 1 分)
1. 下面关于编译过程和编译程序结构之间的关系说法是否正确:词法分析、语法分析和中间代码生成属于编译前段,优化和目标代码生成属于编译后端。 ( )
三、 填空题(本题共 8 小题,各小题分值见题干,共 16 分)
1. 编译过程中编译程序需要不断汇集和反复查证出现在源程序中各种名字的属性和特征等信息,这些信息通常记录在一张或几张 ______ 中。(1分)
2. 编译程序在逻辑上可划分为 ______、______、______、______、______。(5分)
3. 编译程序可以分为 ______ 和 ______。(2分)
4. 计算机执行高级语言有 ______ 和解释两种方式,它们之间的主要区别是是否产生目标代码。(2分)
5. 编译各个阶段都和表格管理有关,其中最重要的一类表格是 ______。(1分)
6. 编译前段是指和 ______ 有关和 ______ 无关的部分。(2分)
7. 目标代码的生成需要着重考虑两个问题,一是 ______,二是 ______。(2分)
8. 编译程序各阶段的工作都要涉及到表格管理和 ______。(1分)













