编译原理试题与答案
第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(n\ge 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所能识别的( )。
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(见图)接受的字集为( )。
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\to aS \mid bS \mid \varepsilon\)
B. G2:S→aSb|ε
C. G3:S→aS|Sb|ε
D. G4:S→abS|ε
正确答案:C你选对了
19. 一个正规式只能对应一个确定的有限状态自动机。
A. \(\surd\)
B. \(\times\)
正确答案:B你选对了
20. 一个正规语言可能对应多个正规文法。
A. \(\surd\)
B. \(\times\)
正确答案:A你选对了
本文来自博客园,作者:袁克波,转载请注明原文链接:https://www.cnblogs.com/ezrealiu/p/compilers_exercises_and_answers.html