编译原理试题与答案

第1讲 绪论

本讲模拟练习题(不计分)

1. 编译是对( )。

A. 机器语言的执行
B. 汇编语言的翻译
C. 高级语言的翻译
D. 高级语言程序的解释执行

正确答案:C你选对了

2. 用高级语言编写的程序经编译后产生的程序叫( )。

A. 源程序
B. 目标程序
C. 连接程序
D. 解释程序

正确答案:B你选对了

3. ( )不是编译程序的组成部分。

A. 词法分析程序
B. 代码生成程序
C. 设备管理程序
D. 语法分析程序

正确答案:C你选对了

4. 源程序是句子的集合,( )可以较好地反映句子的结构。

A. 线性表
B. 树
C. 完全图
D. 堆栈

正确答案:B你选对了

5. 编译程序是一种( )。

A. 汇编程序
B. 翻译程序
C. 解释程序
D. 目标程序

正确答案:B你选对了

6. 按逻辑上划分,编译程序第三步工作是( )。

A. 语义分析
B. 词法分析
C. 语法分析
D. 代码生成

正确答案:A你选对了

7. 编译程序中语法分析器接收以( )为单位的输入。

A. 单词
B. 表达式
C. 产生式
D. 句子

正确答案:A你选对了

8. 编译过程中,语法分析器的任务就是( )。

A. 分析单词是怎样构成的
B. 分析单词串是如何构成语句和声明的
C. 分析语句和声明是如何构成程序的
D. 分析程序的结构

正确答案:B你选对了

9. 语法分析时所依据的是( )

A. 语法规则
B. 词法规则
C. 语义规则
D. 等价变换规则

正确答案:A你选对了

第1讲 测验(计分)

1. 单选(1分) ‎把汇编语言程序翻译成机器可执行的目标程序的工作是由( )完成的。

A. 编译器
B. 解释器
C. 预处理器
D. 汇编器

正确答案:D你选对了

2. 单选(1分) ‍( )不是编译程序的组成部分。

A. 词法分析程序
B. 语法分析程序
C. 代码生成程序
D. 设备管理程序

正确答案:D你选对了

3. 单选(1分) 通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六个部分,还应包括( )。

A. 符号执行器
B. 表格处理和出错处理
C. 模拟执行器
D. 解释器

正确答案:B你选对了

4. 单选(1分) ‏编译程序是一种( )。

A. 解释程序
B. 目标程序
C. 汇编程序
D. 翻译程序

正确答案:D你选对了

5. 单选(1分) ‌按逻辑上划分,编译程序第三步工作是( )。

A. 词法分析
B. 代码生成
C. 语法分析
D. 语义分析

正确答案:D你选对了

6. 单选(1分) ‍语法分析时所依据的是( )。

‌A. 语法规则
B. 等价变换规则
C. 词法规则
D. 语义规则

正确答案:A你选对了


第2讲 程序设计语言及其文法

本讲模拟练习题(不计分)

1. 文法:(G:S→xSx|y) 所识别的语言是( )。

A. (xyx)
B. ((xyx)^*)
C. (x^*yx^*)
D. (x^nyx^n(nge 0))

正确答案:D你选对了

2. 给定文法(A→bA|ca),为该文法句子的是( )。

A. (bba)
B. (cab)
C. (bca)
D. (cba)

正确答案:C你选对了

3. 设有文法(G[S]:S→S1|S0|Sa|Sc|a|b|c),下列符号串中是该文法的句子有( )。

A. (ab0)
B. (a0b01)
C. (a0b0a)
D. (bc10)

正确答案:D你选对了

4. 文法G产生的( )的全体是该文法描述的语言。

A. 句型
B. 终结符集
C. 非终结符集
D. 句子

正确答案:D你选对了

5. 若文法G定义的语言是无限集,则文法必然是( )。

A. 递归的
B. 上下文无关的
C. 二义性的
D. 无二义性的

正确答案:A你选对了

6. 乔姆斯基(Chomsky)把文法分为四种类型,即0型、1型、2型、3型。其中3型文法是( )。

A. 非限制文法
B. 正则文法
C. 上下文有关文法
D. 上下文无关文法

正确答案:B你选对了

7. 一个上下文无关文法G包括四个组成部分,它们是一组非终结符号,一组终结符号,一个开始符号,以及一组( )。

A. 句子
B. 产生式
C. 单词
D. 句型

正确答案:B你选对了

8. 若一个文法是递归的,则它所产生的语言的句子( )。

A. 是无穷多个
B. 是有穷多个
C. 是可枚举的
D. 个数是常量

正确答案:A你选对了

9. 给定文法A→bA|cc,则符号串①cc ②bcbc ③bcbcc ④bccbcc ⑤bbbcc中,是该文法句子的是( )。

A. ①
B. ③④⑤
C. ②④
D. ①⑤

正确答案:D你选对了

10. 文法(E→E+E|E*E|i)的句子(i*i+i*i)有( )棵不同的语法树。

A. 1
B. 3
C. 5
D. 7

正确答案:C你选对了

11. 文法 (S→aaS|abc) 定义的语言是( )。

A. ({a^{2k}bc|k>0})
B. ({a^{k}bc|k>0})
C. ({a^{2k-1}bc|k>0})
D. ({a^{k}b^{k}c|k>0})

正确答案:C你选对了

12. 文法 (G:S→xSx| xS|y) 所识别的语言是()。

A. (x^myx^n(m ge n ge 0))
B. ((xyx)^*)
C. (x^nyx^n(n ge 0))
D. (x^*yx^*)

正确答案:A你选对了

13. 由文法的开始符号出发经过若干步(包括0步)推导产生的文法符号序列称为( )。

A. 语言
B. 句型
C. 句子
D. 句柄

正确答案:B你选对了

14. 下列符号串不可以由符号集(S={a,b})上的正闭包运算产生的是( )。

A. ε
B. a
C. aa
D. ab

正确答案:A你选对了

15. 文法 (G:S→xxS|y) 所识别的语言是( )。

A. (xxy^*)
B. ((xxy)^*)
C. (xx^{*}yx)
D. ((xx)^{*}y)

正确答案:D你选对了

16. 文法 (G:S→xS|y) 所识别的语言是( )。

A. (xy^*)
B. ((xy)^*)
C. (xx^*yx)
D. (x^*y)

正确答案:D你选对了

第3讲 词法分析

本讲模拟练习题(不计分)

1. 词法分析器的输出结果是( )。

A. 单词自身值
B. 单词在符号表中的位置
C. 单词的种别编码
D. 单词的种别编码和自身值

正确答案:D你选对了

2. 词法分析器不能( )。

A. 识别出数值常量
B. 过滤源程序中的注释
C. 扫描源程序并识别记号
D. 发现括号不匹配

正确答案:D你选对了

3. ( )这样一些语言,它们能被确定的有穷自动机识别,但不能用正则表达式表示。

A. 存在
B. 不存在
C. 无法判定是否存在
D. 以上答案都不对

正确答案:B你选对了

4. 两个有穷自动机等价是指它们的( )。

A. 状态数相等
B. 有向弧数相等
C. 所识别的语言相等
D. 状态数和有向弧数相等

正确答案:C你选对了

5. 词法分析器用于识别( )。

A. 句子
B. 产生式
C. 单词
D. 句型

正确答案:C你选对了

6. 正则表达式(R_{1})(R_{2})等价是指( )。

A. (R_{1})(R_{2})都是定义在一个字母表上的正则表达式
B. (R_{1})(R_{2})使用的运算符相同
C. (R_{1})(R_{2})代表同一正则集
D. (R_{1})(R_{2})代表不同正则集

正确答案:C你选对了

7. 已知文法 (G[S]:S→A1)(A→A1|S0|0),与G等价的正规式是( )。

A. (0(0|1)^2)
B. (1^{*}|0^{*}1)
C. (0(1|10)^{*}1)
D. (1(10|01)^{*}0)

正确答案:C你选对了

8. 与((a|b)^*(a|b))等价的正规式是( )。

A. (a^{*}|b^{*})
B. ((ab)^{*}(a|b))
C. ((a|b)(a|b)^*)
D. ((a|b)^*)

正确答案:C你选对了

9. 如图所示自动机M,请问下列哪个字符串不是M所能识别的( )。

自动机M

A. bbaa
B. abba
C. abab
D. aabb

正确答案:D你选对了

10. 有限状态自动机能识别( )。

A. 上下文无关语言
B. 上下文有关语言
C. 正规语言
D. 0 型文法定义的语言

正确答案:C你选对了

11. ( )不是DFA的成分。

A. 有穷字母表
B. 多个初始状态的集合
C. 多个终态的集合
D. 转换函数

正确答案:B你选对了

12. DFA M(见图)接受的字集为( )。

DFA M

A. 以0开头的二进制数组成的集合
B. 以0结尾的二进制数组成的集合
C. 含奇数个0的二进制数组成的集合
D. 含偶数个0的二进制数组成的集合

正确答案:D你选对了

13. 同正规式等价的正规式是( )。

A. ((a|b)^*)
B. ((a|b)(a|b)^*)
C. ((ab)^{*}(ab))
D. ((a|b)(a|b)^*)

正确答案:B你选对了

14. 称有限自动机(A_1)(A_2)等价是指( )。

A. (A_1)(A_2)都是定义在一个字母表上的有限自动机
B. (A_1)(A_2)状态数和有向边数相等
C. (A_1)(A_2)状态数或有向边数相等
D. (A_1)(A_2)所能识别的字符串集合相等

正确答案:D你选对了

15. 同正规式((a|b)^*)等价的正规式为( )。

A. ((a|b)^+)
B. (a^{*}|b^{*})
C. ((ab)^*)
D. ((a^*|b^*)^+)

正确答案:D你选对了

16. 词法分析器的加工对象是( )。

A. 中间代码
B. 单词
C. 源程序
D. 元程序

正确答案:C你选对了

17. 如果一个正规式所代表的集合是无穷的,则它必含有的运算是( )。

A. 接运算“·”
B. 或运算“|”
C. 闭包运算“* ”
D. 括号“(”和“)”

正确答案:C你选对了

18. 同正规式(a^{*}b^{*})等价的文法是( )。

A. (G1:S o aS mid bS mid varepsilon)
B. G2:S→aSb|ε
C. G3:S→aS|Sb|ε
D. G4:S→abS|ε

正确答案:C你选对了

19. 一个正规式只能对应一个确定的有限状态自动机。

A. (surd)
B. ( imes)

正确答案:B你选对了

20. 一个正规语言可能对应多个正规文法。

A. (surd)
B. ( imes)

正确答案:A你选对了

本文来自博客园,作者:袁克波,转载请注明原文链接:https://www.cnblogs.com/ezrealiu/p/compilers_exercises_and_answers.html

原文地址:https://www.cnblogs.com/ezrealiu/p/compilers_exercises_and_answers.html