《编译原理》期中及期末习题
第一章高级语言与编译程序概述典型例题:单项选择题1.1.1.将编译程序分成若干个“遍”是为了___。a.提高程序的执行效率b.使程序的结构更加清晰c.利用有限的机器内存并提高机器的执行效率d.利用有限的机器内存但降低了机器的执行效率1.1.2.构造编译程序应掌握____。(陕西省2000年自考题)a.源程序b.目标语言c.编译方法d.以上三项都是1.1.3.变量应当_。a.持有左值b.持有右值c.既持有左值又持有右值d.既不持有左值也不持有右值1.1.4.编译程序绝大多数时间花在____上。(陕西省1998年自考题)a.出错处理b.词法分析c.目标代码生成d.管理表格1.1.5.____不可能是目标代码。( 陕西省1997年自考题)a.汇编指令代码b.可重定位指令代码c.绝对指令代码d.中间代码1.1.6.数组A[1…20,1…10]的首地址偏移量为0,按列存储,每个元素占一个字节,存储器按字节编址,则A[i,j]的偏移地址为____。a.(i-1)X10+(j-1)b.(i-1)X20+(j-1)c. (i-1)+(j-1)X10d.(i-1)+(j-1)X201.1.7.使用____可以定义一个程序的意义。a.语义规则b.词法规则c.产生规则d.左结合规则1.1.8.表达式X:=5中,变量x____。a.只有左值b.只有右值c.既有左值又有右值d.没有左值也没有右值1.1.9.词法分析器的输入是__。a.单词符号b.源程序c.语法单位d.目标程序1.1.10.中间代码生成时所遵循的是_。a.语法规则b.词法规则c.语义规则d.等价变换规则1.1.11.编译程序是对__。a.汇编程序的翻译b.高级语言程序的解释执行c.机器语言的执行d.高级语言的翻译1.1.12.词法分析应遵循_。(陕西省2000年自考题)a.语义规则b.语法规则c.构词规则d.等价变换规则多项选择题:1.2.1 编译程序各阶段的工作都涉及到___。(陕西省1999年自考题)a.语法分析b.表格管理c.出错处理d.语义分析e.词法分析1.2.2下列各项中,____与数组元素的地址有关。(陕西省1999年自考题)a.数组第一个元素的存储地址b.数组的存储方式c.数组的维数d.内存的编址方式e.编译程序1.2.3 编译程序工作时,通常有__阶段。(陕西省1998年自考题)a.词法分析b.语法分析c.中间代码生成d.语义检查e.目标代码生成1.2.4 过程调用的参数传递方式有__。a传名 b.传值 c.传参数d.传地址e.传结果1.2.5 编译过程中所遵循的规则有____。a.等价变换规则b.短语规则c.构词规则d. 语义规则e.语法规则填空题:1.3.1 解释程序和编译程序的区别在于_。1.3.2 编译过程通常可分为5个阶段,分别是_、语法分析、_、代码优化和目标代码生成。(陕西省1999年自考题)1.3.3 编译程序工作过程中,第一阶段输入是_,最后阶段的输出为一程序。(陕西省1997年自考题)1.3.4 静态数组元素地址的计算公式由两部分确定,一部分是_,它在_时确定;另一部分是_,它在_时确定。1.3.5 把语法范畴翻译成中间代码所依据的是语言的_。(陕西省2000年自考题)1.3.6 目标代码可以是_指令代码或_指令代码或绝对机器指令代码。(陕西省2000年自考题)1.3.7 编译程序是指能将____程序翻译成____程序的程序。1.3.8 数组元素的地址由___和___组成,其中_中的a和c在翻译数组说明语句时填入到数组的_中。1.3.9 过程调用时,参数传递的方式有______、______、_____。1.3.10 词法分析所遵循的是语言的______,而中间代码生成所遵循的是语言的_____。(陕西省1997年自考题)1.3.11 数组元素的地址计算与数组的_____数及____方式有关,也与数组的类型及机器对存储器的编址方式有关。(陕西省2000年自考题)判断题:1.4.1.赋值号左边的变量只持有左值,不持有右值。()1.4.2.二维数组a[3…15,5…20]按行存放,并且每个元素占用一个存储单元,则数组元素a[i ,j]的地址为base-85+i X 16+j (base是数组a存放的起始地址)。()1.4.3.变量的名字用标识符来表示,同时名字代表一定的存储单元,有属性、值、作用域等特性。(陕西省1997年自考题)()1.4.4.指示器变量的右值只持有右值,没有左值。(陕西省2000年自考题)(