第八节 习题一、单项选择题 1、将编译程序分成若干个“遍”是为了 b
a.提高程序的执行效率 b.使程序的结构更加清晰 c.利用有限的机器内存并提高机器的执行效率 d.利用有限的机器内存但降低了机器的执行效率 2、构造编译程序应掌握 d
a.源程序 b.目标语言 c.编译方法 d.以上三项都是 3、变量应当 c
a.持有左值 b.持有右值 c.既持有左值又持有右值 d.既不持有左值也不持有右值 4、编译程序绝大多数时间花在 b 上
a.出错处理 b.词法分析 c.目标代码生成 d.管理表格 5、 d 不可能是目标代码
a.汇编指令代码 b.可重定位指令代码 c.绝对指令代码 d.中间代码 6、使用 a 可以定义一个程序的意义
a.语义规则 b.词法规则 c.产生规则 d.词法规则 7、词法分析器的输入是 a
a.单词符号串 b.源程序 c.语法单位 d.目标程序 8、中间代码生成时所遵循的是- d
a.语法规则 b.词法规则 c.语义规则 d.等价变换规则 9、编译程序是对 d
a.汇编程序的翻译 b.高级语言程序的解释执行 c.机器语言的执行 d.高级语言的翻译 10、语法分析应遵循 b
a.语义规则 b.语法规则 c.构词规则 d.等价变换规则 解答 1、将编译程序分成若干个“遍”是为了使编译程序的结构更加清晰,故选b
2、构造编译程序应掌握源程序、目标语言及编译方法等三方面的知识,故选d
3、对编译而言,变量既持有左值又持有右值,故选c
4、编译程序打交道最多的就是各种表格,因此选d
5、目标代码包括汇编指令代码、可重定位指令代码和绝对指令代码 3 种,因此不是目标代码的只能选d
6、词法分析遵循的是构词规则,语法分析遵循的是语法规则,中间代码生成遵循的是语义规则,并且语义规则可以定义一个程序的意义
7、b 8、