|
答案来源:www.ybaotk.com《编译原理》模拟题
一.单选题
1.()是两类程序语言处理程序.
A.高级语言程序和低级语言程序
B.解释程序和编译程序
C.编译程序和操作系统
D.系统程序和应用程序
[答案]:B2.解释程序处理语言时,大多数采用的是()方法.
A.源程序命令被逐个直接解释执行
B.先将源程序转化为中间代码,再解释执行
C.先将源程序解释转化为目标程序,再执行
D.以上方法都可以
[答案]:A3.()是一种典型的解释型语言.
A.BASIC
B.C
C.FORTRAN
D.PASCAL
[答案]:A4.与编译系统相比,解释系统().
A.比较简单,可移植性好,执行速度快
B.比较复杂,可移植性好,执行速度快
C.比较简单,可移植性差,执行速度慢
D.比较简单,可移植性好,执行速度慢
[答案]
5.编译程序是一种().
A.汇编程序
B.翻译程序
C.解释程序
D.目标程序
[答案]:B6.编译程序是对().
A.汇编程序的翻译
B.高级语言程序的解释执行
C.机器语言的执行
D.高级语言的翻译
[答案]
7.用高级语言编写的程序经编译后产生的程序叫().
A.源程序
B.目标程序
C.连接程序
D.解释程序
[答案]:B8.将编译程序分成若干个“遍”是为了().
A.提高程序的执行效率
B.使程序的结构更加清晰
C.利用有限的机器内存并提高机器的执行效率
D.利用有限的机器内存但降低了机器的执行效率
[答案]:B9.构造编译程序应掌握().
A.源程序
B.目标语言
C.编译方法
D.以上三项都是
[答案]
10.通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括().
A.模拟执行器
B.解释器
C.表格处理和出错处理
D.符号执行器
[答案]:C11.编译程序绝大多数时间花在()上.
A.出错处理
B.词法分析
C.目标代码生成
D.管理表格
[答案]
12.程序的基本块是指().
A.一个子程序
B.一个仅有一个入口和一个出口的语句
C.一个没有嵌套的程序段
D.一组顺序执行的程序段,仅有一个入口和一个出口
[答案]
13.变量应当().
A.持有左值
B.持有右值
C.既持有左值又持有右值
D.既不持有左值也不持有右值
[答案]:C14.数组的内情向量中肯定不含有数组的()的信息.
A.维数
B.类型
C.维上下界
D.各维的界差
[答案]:A15.一个上下文无关文法G包括四个组成部分:一组终结符,一组非终结符,一个开始符号,以及一组().
A.字符串
B.产生式
C.非开始符号
D.文法
[答案]:B16.一个文法所描述的语言是().
A.唯一的
B.不唯一的
C.可能唯一,也可能不唯一
D.都不对
[答案]:A17.文法G产生的()的全体是该文法描述的语言.
A.句型
B.终结符集
C.非终结符集
D.句子
[答案]:D18.若文法G定义的语言是无限集,则文法必然是().
A.递归的
B.前后文无关的
C.二义性的
D.无二义性的
[答案]:A19.文法分为四种类型,即0型,1型,2型,3型.其中2型文法是().
A.短语文法
B.正则文法
C.上下文有关文法
D.上下文无关文法
[答案]:C20.四种形式语言文法中,1型文法又称为()文法.
A.短语文法
B.正则文法
C.上下文有关文法
D.上下文无关文法
[答案]:D21.正规式M1和M2等价是指().
A.M1和M2的状态数相等
B.Ml和M2的有向弧条数相等
C.M1和M2所识别的语言集相等
D.Ml和M2状态数和有向弧条数相等
[答案]:C22.词法分析器的输出结果是().
A.单词的种别编码
B.单词在符号表中的位置
C.单词的种别编码和自身值
D.单词自身值
[答案]:C23.词法分析器用于识别().
A.字符串
B.语句
C.单词
D.标识符
[答案]:C24.扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即().
A.字符
B.单词
C.句子
D.句型
[答案]:B25.一个句型中称为句柄的是该句型的最左().
A.非终结符号
B.短语
C.句子
D.直接短语
[答案]:D26.下推自动机识别的语言是().
A.0型语言
B.1型语言
C.2型语言
D.3型语言
[答案]:C27.如果文法G是无二义的,则它的任何句子α().
A.最左推导和最右推导对应的语法树必定相同
B.最左推导和最右推导对应的语法树可能不同
C.最左推导和最右推导必定相同
D.可能存在两个不同的最左推导,但它们对应的语法树相同
[答案]:A28.采用自上而下分析,必须().
A.消除左递归
B.消除右递归
C.消除回溯
D.提取公共左因子
[答案]:C29.在规范归约中,用()来刻画可归约串.
A.直接短语
B.句柄
C.最左素短语
D.素短语
[答案]:B30.若a为终结符,则A->α·aβ为()项目.
A.归约
B.移进
C.接受
D.待约
[答案]:B31.高级语言编译程序常用的语法分析方法中,递归下降分析法属于()分析方法.
A.自左向右
B.自顶向下
C.自底向上
D.自右向左
[答案]:B32.在通常的语法分析方法中,()特别适用于表达式的分析.
A.算符优先分析法
B.LR分析法
C.递归下降分析法
D.LL(1)分析法
[答案]:A33.语法分析器则可以发现源程序中的().
A.语义错误
B.语法和语义错误
C.错误并校正
D.语法错误
[答案]:D34.后缀式ab+cd+/可用表达式()来表示.
A.a+b/c+d
B.(a+b)/(c+d)
C.a+b/(c+d)
D.a+b+c/d
[答案]:B35.中间代码生成时所依据的是().
A.语法规则
B.词法规则
C.语义规则
D.等价变换规则
[答案]:C36.()和代码优化部分不是每个编译程序都必需的.
A.语法分析
B.中间代码生成
C.词法分析
D.目标代码生成
[答案]:B37.常用的中间代码形式不含().
A.三元式
B.四元式
C.逆波兰式
D.语法树
[答案]:D38.代码优化的目的是().
A.节省时间
B.节省空间
C.节省时间和空间把编译程序进行等价交换
[答案]:C39.优化可生成()的目标代码.
A.运行时间较短
B.占用存储空间较小
C.运行时间短但占用内存空间大
D.运行时间短且占用存储空间小
[答案]:D40.下列()优化方法不是针对循环优化进行的.
A.强度削弱
B.删除归纳变量
C.删除多余运算
D.代码外提
[答案]:C41.基本块内的优化为().
A.代码外提,删除归纳变量
B.删除多余运算,删除无用赋值
C.强度削弱,代码外提
D.循环展开,循环合并
[答案]:B42.代码生成阶段的主要任务是().
A.把高级语言翻译成汇编语言
B.把高级语言翻译成机器语言
C.把中间代码变换成依赖具体机器的目标代码
D.把汇编语言翻译成机器语言
[答案]:C43.在目标代码生成阶段,符号表用于().
A.目标代码生成
B.语义检查
C.语法检查
D.地址分配
[答案]:D44.程序所需的数据空间在程序运行前就可确定,称为()管理技术.
A.动态存储
B.栈式存储
C.静态存储
D.堆式存储
[答案]:C45.堆式动态分配申请和释放存储空间遵守()原则.
A.先请先放
B.先请后放
C.后请先放
D.任意
[答案]:D46.编译程序使用()区别标识符的作用域.
A.说明标识符的过程或函数名
B.说明标识符的过程或函数的静态层次
C.说明标识符的过程或函数的动态层次
D.标识符的行号
[答案]:B47.生成能被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
[答案]:C48.符号串ab1b2是给定文法G[A]:A→aB,B→bB|b的句子,该句子的句柄是().
A.b1
B.b2
C.c
D..b1b2
[答案]:B49.一般程序设计语言的定义都涉及()三个方面.
①语法 ②语义 ③语用 ④程序基本符号的确定
A.①,②和③
B.①,②和④
C.①,③和④
D.②,③和④
[答案]:B50.下述语句类中,()在编译阶段通常不产生可执行代码.
A.赋值语句
B.流程控制语句
C.说明语句
D.输入输出语句
[答案]:C51.算符文法是指()的文法.
①没有形如U→...VW...的规则(U,V,WVN)
②VT中任意两个符号之间至多存在一种算符优先关系
③没有相同右部的规则
④没有形如U→ε的规则
A.①
B.①和②
C.①,②和③
D.①,②,③和④
[答案]:A52.已知文法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
[答案]:C53.程序的基本块是指().
A.不含无条件转移语句的程序段
B.不含条件转移语句的程序段
C.不含停机的语句程序段
D.仅含有一个入口语句和一个出口语句的顺序程序段
[答案]:D54.在编译程序采用的优化方法中,()是在循环语句范围内进行的.
①合并已知常量 ②删除多余运算 ③删除归纳变量 ④强度削弱 ⑤代码外提
A.①④
B.①⑤
C.①④⑤
D.③④⑤
[答案]:D55.设有文法G[I]:I→I1|I0|Ia|Ic|a|b|c,下列符号串中是该文法的句子的有().
①ab0 ②a0c01 ③aaa ④bc10
A.①
B.②③④
C.③④
D.①②③④
[答案]:B56.LR(0)分析法中,语法分析栈中存放的状态是识别规范句型()的DFA状态.
A.前缀
B.活前缀
C.LR(0)项目
D.句柄
[答案]:B57.常用()来识别一个正规集
A.无穷自动机
B.图灵机
C.下推自动机
D.有穷自动机
[答案]:D58.文法所描述的语言是()的集合.
A.文法的字汇表V中符号组成的符号串
B.文法的字汇表V中终结符号组成的符号串
C.由文法开始符推导的符号串
D.由文法开始符推导的终结符号串
[答案]:D59.LL(1)文法中第一个L表示().
A.最左推导
B.最左归约
C.从左到右识别输入串
D.规范归约
[答案]:C60.编译程序前三个阶段完成的工作是()
A.词法分析,语法分析和代码优化代码生成,代码优化和词法分析
B.词法分析,语法分析,语义分析和中间代码生成
C.词法分析,语法分析和代码优化
[答案]:C二.判断题
1.逆波兰表示法表示表达式时无须使用括号.
[答案]:T2.静态数组的存储空间可以在编译时确定.
[答案]:F3.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用.
[答案]:F4.树形表示和四元式不便于优化,而三元式和间接三元式则便于优化.
[答案]:F5.计算机高级语言翻译成低级语言只有解释一种方式.
[答案]:F6.用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行.
[答案]:F7.在编译中进行语法检查的目的是为了发现程序中所有错误.
[答案]:F8.甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同.
[答案]:T9.编译程序与具体的机器有关,与具体的语言无关.
[答案]:F10.编译程序是对高级语言程序的解释执行.
[答案]:F11.程序语言的语言处理程序是一种应用软件.
[答案]:F12.在程序中标识符的出现仅为使用性的.
[答案]:F13.仅考虑一个基本块,不能确定一个赋值是否真是无用的.
[答案]:T14.符号表中的信息栏中登记了每个名字的属性和特征等有关信息,如类型,种属,所占单元大小,地址等等.
[答案]:F15.一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态.
[答案]:T16.一个有限状态自动机中,有且仅有一个唯一的终态.
[答案]:F17.产生式是用于定义词法成分的一种书写规则.
[答案]:F18.若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄.
[答案]:F19.一个句型的句柄一定是文法某产生式的右部.
[答案]:T20.词法分析作为单独的一遍来处理较好.
[答案]:F21.正则文法其产生式为A->a,A->Bb,A,B∈VN,a,b∈VT.
[答案]:F22.正规文法产生的语言都可以用上下文无关文法来描述.
[答案]:F23.设r和s分别是正规式,则有L(r|s)=L(r)L(s).
[答案]:F24.确定的自动机以及不确定的自动机都能正确地识别正规集.
[答案]:T25.每个文法都能改写为LL(1)文法.
[答案]:T26.一个LL(l)文法一定是无二义的.
[答案]:F27.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义的.
[答案]:T28.语法分析时必须先消除文法中的左递归.
[答案]:F29.综合属性是用于“自上而下”传递信息.
[答案]:F30.规范归约和规范推导是互逆的两个过程.
[答案]:F31.递归下降法允许任一非终极符是直接左递归的.
[答案]:T32.递归下降分析法是自顶向上分析方法.
[答案]:T33.算符优先关系表不一定存在对应的优先函数.
[答案]:F34.一个算符优先文法可能不存在算符优先函数与之对应.
[答案]:T35.自底而上语法分析方法的主要问题是候选式的选择.
[答案]:F36.LR法是自顶向下语法分析方法.
[答案]:F37.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点.
[答案]:T38.构造LR分析器的任务就是产生LR分析表.
[答案]:T39.LR分析技术无法适用二义文法.
[答案]:F40.简单优先文法允许任意两个产生式具有相同右部.
[答案]:F41.程序中的表达式语句在语义翻译时不需要回填技术.
[答案]:T42.削减运算强度破坏了临时变量在一基本块内仅被定义一次的特性.
[答案]:T43.在中间代码优化中循环上的优化主要有不变表达式外提和削减运算强度.
[答案]:F44.对中间代码的优化依赖于具体的计算机.
[答案]:F45.数组元素的地址计算与数组的存储方式有关.
[答案]:F46.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题.
[答案]:F47.逆波兰法表示的表达式亦称前缀式.
[答案]:T三.填空题
1.编译方式与解释方式的根本区别在于 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
上一篇:地大23春安全生产事故案例分析技术_模拟测试答案非答案下一篇:22年11月地大《证券投资学》在线作业二_100分资料非答案
|