中国地质大学(北京)《编译原理(新)》期末考试必备题集

奥鹏期末考核

42379–中国地质大学(北京)《编译原理(新)》奥鹏期末考试题库合集

单选题:
(1)()是两类程序语言处理程序.
A.高级语言程序和低级语言程序
B.解释程序和编译程序
C.编译程序和操作系统
D.系统程序和应用程序
答案问询微信:424329

(2)解释程序处理语言时,大多数采用的是()方法.
A.源程序命令被逐个直接解释执行
B.先将源程序转化为中间代码,再解释执行
C.先将源程序解释转化为目标程序,再执行
D.以上方法都可以
答案问询微信:424329

(3)()是一种典型的解释型语言.
A.BASIC
B.C
C.FORTRAN
D.PASCAL
答案问询微信:424329

(4)与编译系统相比,解释系统().
A.比较简单,可移植性好,执行速度快
B.比较复杂,可移植性好,执行速度快
C.比较简单,可移植性差,执行速度慢
D.比较简单,可移植性好,执行速度慢
答案问询微信:424329

(5)编译程序是一种().
A.汇编程序
B.翻译程序
C.解释程序
D.目标程序
答案问询微信:424329

(6)编译程序是对().
A.汇编程序的翻译
B.高级语言程序的解释执行
C.机器语言的执行
D.高级语言的翻译
答案问询微信:424329

(7)用高级语言编写的程序经编译后产生的程序叫().
A.源程序
B.目标程序
C.连接程序
D.解释程序
答案问询微信:424329

(8)将编译程序分成若干个“遍”是为了().
A.提高程序的执行效率
B.使程序的结构更加清晰
C.利用有限的机器内存并提高机器的执行效率
D.利用有限的机器内存但降低了机器的执行效率
答案问询微信:424329

(9)构造编译程序应掌握().
A.源程序
B.目标语言
C.编译方法
D.以上三项都是
答案问询微信:424329

(10)通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括().
A.模拟执行器
B.解释器
C.表格处理和出错处理
D.符号执行器
答案问询微信:424329

(11)编译程序绝大多数时间花在()上.
A.出错处理
B.词法分析
C.目标代码生成
D.管理表格
答案问询微信:424329

(12)程序的基本块是指().
A.一个子程序
B.一个仅有一个入口和一个出口的语句
C.一个没有嵌套的程序段
D.一组顺序执行的程序段,仅有一个入口和一个出口
答案问询微信:424329

(13)变量应当().
A.持有左值
B.持有右值
C.既持有左值又持有右值
D.既不持有左值也不持有右值
答案问询微信:424329

(14)数组的内情向量中肯定不含有数组的()的信息.
A.维数
B.类型
C.维上下界
D.各维的界差
答案问询微信:424329

(15)一个上下文无关文法G包括四个组成部分:一组终结符,一组非终结符,一个开始符号,以及一组().
A.字符串
B.产生式
C.非开始符号
D.文法
答案问询微信:424329

(16)一个文法所描述的语言是().
A.唯一的
B.不唯一的
C.可能唯一,也可能不唯一
D.都不对
答案问询微信:424329

(17)文法G产生的()的全体是该文法描述的语言.
A.句型
B.终结符集
C.非终结符集
D.句子
答案问询微信:424329

(18)若文法G定义的语言是无限集,则文法必然是().
A.递归的
B.前后文无关的
C.二义性的
D.无二义性的
答案问询微信:424329

(19)文法分为四种类型,即0型,1型,2型,3型.其中2型文法是().
A.短语文法
B.正则文法
C.上下文有关文法
D.上下文无关文法
答案问询微信:424329

(20)四种形式语言文法中,1型文法又称为()文法.
A.短语文法
B.正则文法
C.上下文有关文法
D.上下文无关文法
答案问询微信:424329

(21)正规式M1和M2等价是指().
A.M1和M2的状态数相等
B.Ml和M2的有向弧条数相等
C.M1和M2所识别的语言集相等
D.Ml和M2状态数和有向弧条数相等
答案问询微信:424329

(22)词法分析器的输出结果是().
A.单词的种别编码
B.单词在符号表中的位置
C.单词的种别编码和自身值
D.单词自身值
答案问询微信:424329

(23)词法分析器用于识别().
A.字符串
B.语句
C.单词
D.标识符
答案问询微信:424329

(24)扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即().
A.字符
B.单词
C.句子
D.句型
答案问询微信:424329

(25)一个句型中称为句柄的是该句型的最左().
A.非终结符号
B.短语
C.句子
D.直接短语
答案问询微信:424329

(26)下推自动机识别的语言是().
A.0型语言
B.1型语言
C.2型语言
D.3型语言
答案问询微信:424329

(27)如果文法G是无二义的,则它的任何句子().
A.最左推导和最右推导对应的语法树必定相同
B.最左推导和最右推导对应的语法树可能不同
C.最左推导和最右推导必定相同
D.可能存在两个不同的最左推导,但它们对应的语法树相同
答案问询微信:424329

(28)采用自上而下分析,必须().
A.消除左递归
B.消除右递归
C.消除回溯
D.提取公共左因子
答案问询微信:424329

(29)在规范归约中,用()来刻画可归约串.
A.直接短语
B.句柄
C.最左素短语
D.素短语
答案问询微信:424329

(30)若a为终结符,则A->a为()项目.
A.归约
B.移进
C.接受
D.待约
答案问询微信:424329

(31)高级语言编译程序常用的语法分析方法中,递归下降分析法属于()分析方法.
A.自左向右
B.自顶向下
C.自底向上
D.自右向左
答案问询微信:424329

(32)在通常的语法分析方法中,()特别适用于表达式的分析.
A.算符优先分析法
B.LR分析法
C.递归下降分析法
D.LL(1)分析法
答案问询微信:424329

(33)语法分析器则可以发现源程序中的().
A.语义错误
B.语法和语义错误
C.错误并校正
D.语法错误
答案问询微信:424329

(34)后缀式ab+cd+/可用表达式()来表示.
A.a+b/c+d
B.(a+b)/(c+d)
C.a+b/(c+d)
D.a+b+c/d
答案问询微信:424329

(35)中间代码生成时所依据的是().
A.语法规则
B.词法规则
C.语义规则
D.等价变换规则
答案问询微信:424329

(36)()和代码优化部分不是每个编译程序都必需的.
A.语法分析
B.中间代码生成
C.词法分析
D.目标代码生成
答案问询微信:424329

(37)常用的中间代码形式不含().
A.三元式
B.四元式
C.逆波兰式
D.语法树
答案问询微信:424329

(38)代码优化的目的是().
A.节省时间
B.节省空间
C.节省时间和空间把编译程序进行等价交换
答案问询微信:424329

(39)优化可生成()的目标代码.
A.运行时间较短
B.占用存储空间较小
C.运行时间短但占用内存空间大
D.运行时间短且占用存储空间小
答案问询微信:424329

(40)下列()优化方法不是针对循环优化进行的.
A.强度削弱
B.删除归纳变量
C.删除多余运算
D.代码外提
答案问询微信:424329

(41)基本块内的优化为().
A.代码外提,删除归纳变量
B.删除多余运算,删除无用赋值
C.强度削弱,代码外提
D.循环展开,循环合并
答案问询微信:424329

(42)代码生成阶段的主要任务是().
A.把高级语言翻译成汇编语言
B.把高级语言翻译成机器语言
C.把中间代码变换成依赖具体机器的目标代码
D.把汇编语言翻译成机器语言
答案问询微信:424329

(43)在目标代码生成阶段,符号表用于().
A.目标代码生成
B.语义检查
C.语法检查
D.地址分配
答案问询微信:424329

(44)程序所需的数据空间在程序运行前就可确定,称为()管理技术.
A.动态存储
B.栈式存储
C.静态存储
D.堆式存储
答案问询微信:424329

(45)堆式动态分配申请和释放存储空间遵守()原则.
A.先请先放
B.先请后放
C.后请先放
D.任意
答案问询微信:424329

(46)编译程序使用()区别标识符的作用域.
A.说明标识符的过程或函数名
B.说明标识符的过程或函数的静态层次
C.说明标识符的过程或函数的动态层次
D.标识符的行号
答案问询微信:424329

(47)生成能被5整除的正整数的文法G[Z]是().
A.G(Z):Z→AC,A→BA|B,B→0|1|2|…|9,C→0|5
B.G(Z):Z→AC,A→BA|,B→0|1|2|…|9,C→0|5
C.G(Z):Z→AC|5,A→BA|B,B→0|1|2|…|9,C→0|5
D.G(Z):Z→AC|C,A→BA|B,B→0|1|2|…|9,C→0|5
答案问询微信:424329

(48)符号串ab1b2是给定文法G[A]:A→aB,B→bB|b的句子,该句子的句柄是().
A.b1
B.b2
C.c
D..b1b2
答案问询微信:424329

(49)一般程序设计语言的定义都涉及()三个方面.
①语法 ②语义 ③语用 ④程序基本符号的确定
A.①,②和③
B.①,②和④
C.①,③和④
D.②,③和④
答案问询微信:424329

(50)下述语句类中,()在编译阶段通常不产生可执行代码.
A.赋值语句
B.流程控制语句
C.说明语句
D.输入输出语句
答案问询微信:424329

(51)算符文法是指()的文法.
①没有形如U→…VW…的规则(U,V,W VN)
②VT中任意两个符号之间至多存在一种算符优先关系
③没有相同右部的规则
④没有形如U→的规则
A.①
B.①和②
C.①,②和③
D.①,②,③和④
答案问询微信:424329

(52)已知文法G[E]:E→ABC,A→1|2|3|4|5|6|7|8|9,B→BA|B0|,C→0|2|4|6|8,对符号串128,它的最左推导是().
A.ETABCTAB8TABA8TAB28TA28T128
B.ETABCTABACTAACT1ACT12CT128
C.ETABCT1BCT1BACT1ACT12CT128
D.ETABCT1BCT1BACT1ACT1A8T128
答案问询微信:424329

(53)程序的基本块是指( ).
A.不含无条件转移语句的程序段
B.不含条件转移语句的程序段
C.不含停机的语句程序段
D.仅含有一个入口语句和一个出口语句的顺序程序段
答案问询微信:424329

(54)在编译程序采用的优化方法中,()是在循环语句范围内进行的.
①合并已知常量 ②删除多余运算 ③删除归纳变量 ④强度削弱 ⑤代码外提
A.①④
B.①⑤
C.①④⑤
D.③④⑤
答案问询微信:424329

(55)设有文法G[I]:I→I1|I0|Ia|Ic|a|b|c,下列符号串中是该文法的句子的有().
①ab0 ②a0c01 ③aaa ④bc10
A.①
B.②③④
C.③④
D.①②③④
答案问询微信:424329

(56)LR(0)分析法中,语法分析栈中存放的状态是识别规范句型()的DFA状态.
A.前缀
B.活前缀
C.LR(0)项目
D.句柄
答案问询微信:424329

(57)常用()来识别一个正规集
A.无穷自动机
B.图灵机
C.下推自动机
D.有穷自动机
答案问询微信:424329

(58)文法所描述的语言是()的集合.
A.文法的字汇表V中符号组成的符号串
B.文法的字汇表V中终结符号组成的符号串
C.由文法开始符推导的符号串
D.由文法开始符推导的终结符号串
答案问询微信:424329

(59)LL(1)文法中第一个L表示().
A.最左推导
B.最左归约
C.从左到右识别输入串
D.规范归约
答案问询微信:424329

(60)编译程序前三个阶段完成的工作是()
A.词法分析,语法分析和代码优化代码生成,代码优化和词法分析
B.词法分析,语法分析,语义分析和中间代码生成
C.词法分析,语法分析和代码优化
答案问询微信:424329

判断题:
(1)逆波兰表示法表示表达式时无须使用括号.
答案问询微信:424329

(2)静态数组的存储空间可以在编译时确定.
答案问询微信:424329

(3)进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用.
答案问询微信:424329

(4)树形表示和四元式不便于优化,而三元式和间接三元式则便于优化.
答案问询微信:424329

(5)计算机高级语言翻译成低级语言只有解释一种方式.
答案问询微信:424329

(6)用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行.
答案问询微信:424329

(7)在编译中进行语法检查的目的是为了发现程序中所有错误.
答案问询微信:424329

(8)甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同.
答案问询微信:424329

(9)编译程序与具体的机器有关,与具体的语言无关.
答案问询微信:424329

(10)编译程序是对高级语言程序的解释执行.
答案问询微信:424329

(11)程序语言的语言处理程序是一种应用软件.
答案问询微信:424329

(12)在程序中标识符的出现仅为使用性的.
答案问询微信:424329

(13)仅考虑一个基本块,不能确定一个赋值是否真是无用的.
答案问询微信:424329

(14)符号表中的信息栏中登记了每个名字的属性和特征等有关信息,如类型,种属,所占单元大小,地址等等.
答案问询微信:424329

(15)一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态.
答案问询微信:424329

(16)一个有限状态自动机中,有且仅有一个唯一的终态.
答案问询微信:424329

(17)产生式是用于定义词法成分的一种书写规则.
答案问询微信:424329

(18)若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄.
答案问询微信:424329

(19)一个句型的句柄一定是文法某产生式的右部.
答案问询微信:424329

(20)词法分析作为单独的一遍来处理较好.
答案问询微信:424329

(21)正则文法其产生式为A->a,A->Bb,A,B∈VN,a,b∈VT.
答案问询微信:424329

(22)正规文法产生的语言都可以用上下文无关文法来描述.
答案问询微信:424329

(23)设r和s分别是正规式,则有L(r|s)=L(r)L(s).
答案问询微信:424329

(24)确定的自动机以及不确定的自动机都能正确地识别正奥鹏期末考核规集.
答案问询微信:424329

(25)每个文法都能改写为LL(1)文法.
答案问询微信:424329

(26)一个LL(l)文法一定是无二义的.
答案问询微信:424329

(27)如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义的.
答案问询微信:424329

(28)语法分析时必须先消除文法中的左递归.
答案问询微信:424329

(29)综合属性是用于“自上而下”传递信息.
答案问询微信:424329

(30)规范归约和规范推导是互逆的两个过程.
答案问询微信:424329

(31)递归下降法允许任一非终极符是直接左递归的.
答案问询微信:424329

(32)递归下降分析法是自顶向上分析方法.
答案问询微信:424329

(33)算符优先关系表不一定存在对应的优先函数.
答案问询微信:424329

(34)一个算符优先文法可能不存在算符优先函数与之对应.
答案问询微信:424329

(35)自底而上语法分析方法的主要问题是候选式的选择.
答案问询微信:424329

(36)LR法是自顶向下语法分析方法.
答案问询微信:424329

(37)LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点.
答案问询微信:424329

(38)构造LR分析器的任务就是产生LR分析表.
答案问询微信:424329

(39).LR分析技术无法适用二义文法.
答案问询微信:424329

(40)简单优先文法允许任意两个产生式具有相同右部.
答案问询微信:424329

(41)程序中的表达式语句在语义翻译时不需要回填技术.
答案问询微信:424329

(42)削减运算强度破坏了临时变量在一基本块内仅被定义一次的特性.
答案问询微信:424329

(43)在中间代码优化中循环上的优化主要有不变表达式外提和削减运算强度.
答案问询微信:424329

(44)对中间代码的优化依赖于具体的计算机.
答案问询微信:424329

(45)数组元素的地址计算与数组的存储方式有关.
答案问询微信:424329

(46)目标代码生成时,应考虑如何充分利用计算机的寄存器的问题.
答案问询微信:424329

(47)逆波兰法表示的表达式亦称前缀式.
答案问询微信:424329

填空题:
(1)编译方式与解释方式的根本区别在于##.
1、
答案问询微信:424329

(2)若源程序是用高级语言编写的,目标程序是机器语言程序或汇编程序,则其翻译程序称为##.
1、
答案问询微信:424329

(3)对编译程序而言,输入数据是##,输出结果是目标程序.
1、
答案问询微信:424329

(4)编译程序的工作过程一般划分为5个阶段:词法分析,##,语义分析与中间代码生成,代码优化及目标代码生成.
1、
答案问询微信:424329

(5)一个名字的属性包括##和作用域.
1、
答案问询微信:424329

(6)设G是一个给定的文法,S是文法的开始符号,如果S->x(其中x∈VT*),则称x是文法的一个##.
1、
答案问询微信:424329

(7)扫描器的任务是从源程序中识别出一个个##.
1、
答案问询微信:424329

(8)规范规约是最##规约.
1、
答案问询微信:424329

(9)词法分析基于##文法进行,即识别的单词是该类文法的句子.
1、
答案问询微信:424329

(10)文法符号的属性有综合属性和##.
1、
答案问询微信:424329

(11)语法分析器的输入是##,其输出是语法单位.
1、
答案问询微信:424329

(12)语法分析的有效工具是##.
1、
答案问询微信:424329

(13)语法分析最常用的两类方法是##和自下而上分析法.
1、
答案问询微信:424329

(14)分析句型时,应用算符优先分析技术时,每步被直接归约的是##.
1、
答案问询微信:424329

(15)应用LR分析技术时,每步被直接归约的是##.
1、
答案问询微信:424329

(16)自顶向下的语法分析方法的基本思想是:从文法的开始符号开始,根据给定的输入串并按照文法的产生式一步一步的向下进行##,试图推导出文法的句子,使之与给定的输入串匹配.
1、
答案问询微信:424329

(17)自底向上的语法分析方法的基本思想是:从输入串入手,利用文法的产生式一步一步地向上进行##,力求归约到文法的开始符号.
1、
答案问询微信:424329

(18)自上而下分析法采用##,归约,错误处理,接受等四种操作.
1、
答案问询微信:424329

(19)一个LR分析器包括两部分:一个总控程序和##.
1、
答案问询微信:424329

(20)递归下降法不允许任一非终极符是直接##递归的.
1、
答案问询微信:424329

(21)对于文法的每个产生式都配备了一组属性的计算规则,称为##.
1、
答案问询微信:424329

(22)如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是##.
1、
答案问询微信:424329

(23)预测分析程序是使用一张分析表和一个##进行联合控制的.
1、
答案问询微信:424329

简答题:
(1)简述编译程序各组成部分的主要功能.
答案问询微信:424329

(2)文法G[S]为:S->Ac|aBA->abB->bc写出L(G[S])的全部元素.
答案问询微信:424329

(3)什么是句子?什么是语言?
答案问询微信:424329

(4)一字母表∑={a,b},试写出∑;上所有以a为首的字组成的正规集相对应的正规式.
答案问询微信:424329

提供优质的教育资源

公众号: 超前自学网