模拟习题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、使用
可以定义一个程序的意义。
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、将编译程序分成若干个“遍”是为了使编译程序的结构更加清晰,故选b。
2、构造编译程序应掌握源程序、目标语言及编译方法等三方面的知识,故选d。
3、对编译而言,变量既持有左值又持有右值,故选c。
4、编译程序打交道最多的就是各种表格,因此选d。
5、目标代码包括汇编指令代码、可重定位指令代码和绝对指令代码3种,因此不是目标代码的
只能选d。
6、词法分析遵循的是构词规则,语法分析遵循的是语法规则,中间代码生成遵循的是语义规则,
并且语义规则可以定义一个程序的意义。因此选a。
7、b8、c9、d10、c
1
f二、多项选择题
1、编译程序各阶段的工作都涉及到
。
a.语法分析
b.表格管理
c.出错处理
d.语义分析
e.词法分析
2、编译程序工作时,通常有
阶段。
a.词法分析
b.语法分析
c.中间代码生成
d.语义检查
e.目标代码生成
解答
1.b、c2a、b、c、e
三、填空题
1、解释程序和编译程序的区别在于
。
2、编译过程通常可分为5个阶段,分别是
、语法分析
、代码优化和目标代码生成。
3、编译程序工作过程中,第一段输入是
,最后阶段的输出为
程序。
4、编译程序是指将
程序翻译成
程序的程序。
解答
是否生成目标程序2、词法分析中间代码生成3、源程序目标代码生成4、源程序目
标语言
2
f模拟习r