大学MOOC 编译原理(哈尔滨学院)1452289171 最新慕课完整章节测试答案
第1讲 引论
文章目录
第一讲预习测验题
1、单选题:
若源程序是高级语言编写的程序,目标程序是( ),则称它为编译程序。
选项:
A: 汇编语言程序或高级语言程序
B: 高级语言程序或机器语言程序
C: 汇编语言程序或机器语言程序
D: 连接程序或运行程序
答案: 【 汇编语言程序或机器语言程序】
2、单选题:
编译程序是对( )程序进行翻译。
选项:
A: 高级语言
B: 机器语言
C: 自然语言
D: 汇编语言
答案: 【 高级语言 】
3、单选题:
编译过程中,词法分析阶段的任务是( )。
选项:
A: 识别表达式
B: 识别语言单词
C: 识别语句
D: 识别程序
答案: 【 识别语言单词】
4、多选题:
编译程序的工作过程一般可划分为下列5个基本阶段:词法分析、( )、( )、优化和目标代码生成。
选项:
A: 出错处理
B: 语法分析
C: 语义分析和中间代码生成
D: 表格管理
答案: 【 语法分析;
语义分析和中间代码生成】
5、多选题:
编译程序各阶段的工作通常都会涉及使用到( )。
选项:
A: 语法分析
B: 表格管理
C: 出错处理
D: 语义分析
答案: 【 表格管理;
出错处理】
6、判断题:
编译程序是一种常见的应用软件。
选项:
A: 正确
B: 错误
答案: 【 错误】
7、判断题:
编译方式与解释方式的根本区别在于是否生成目标代码。
选项:
A: 正确
B: 错误
答案: 【 正确】
8、判断题:
将编译程序分成若干个“遍”可以使程序的结构更加清晰,提高程序的执行效率。
选项:
A: 正确
B: 错误
答案: 【 错误】
9、判断题:
编译程序可以采用高级语言书写,利用已有的某种语言的编译程序实现另一语言的编译程序。
选项:
A: 正确
B: 错误
答案: 【 正确】
10、判断题:
编译程序可以自动生成,通过编译程序产生器实现。例如能自动产生词法分析程序的工具YACC,和自动产生语法分析程序的工具LEX。
选项:
A: 正确
B: 错误
答案: 【 错误】
预习测试题
1、判断题:
编译程序可以采用高级语言书写,利用已有的某种语言的编译程序实现另一语言的编译程序。
选项:
A: 正确
B: 错误
答案: 【 正确】
2、判断题:
编译程序可以自动生成,通过编译程序产生器实现。例如能自动产生词法分析程序的工具YACC,和自动产生语法分析程序的工具LEX。
选项:
A: 正确
B: 错误
答案: 【 错误】
第2讲 文法和语言1
第二讲预习测试题
1、单选题:
字母表中的元素可以是( )。
选项:
A: 字母
B: 字母和数字
C: 数字
D: 字母、数字和其他符号
答案: 【 字母、数字和其他符号】
2、单选题:
设x是符号串,符号串的幂运算x0=( )。
选项:
A: 1
B: x
C: Ɛ
D: 空集
答案: 【 Ɛ】
3、单选题:
为了使编译程序能对程序设计语言进行正确的翻译,必须采用( )方法定义程序设计语言。
选项:
A: 非形式化
B: 自然语言描述问题
C: 形式化
D: 自然语言和符号体系相结合
答案: 【 形式化】
4、单选题:
在规则(产生式)中,符号“→”(“:: =”)表示( )。
选项:
A: 恒等于
B: 等于
C: 取决于
D: 定义为
答案: 【 定义为】
5、单选题:
在规则(产生式)中,符号“|”表示( )。
选项:
A: 与
B: 或
C: 非
D: 引导开关参数
答案: 【 或】
6、多选题:
一般程序设计语言的描述都涉及哪3个方面( )。
选项:
A: 语法
B: 语用
C: 语义
D: 基本符号的确定
答案: 【 语法;
语用;
语义】
7、多选题:
文法用来描述语言的语法结构,它由如下4个部分组成:( )和文法开始符号。
选项:
A: 文法终结符集合
B: 文法规则的集合
C: 文法非终结符集合
D: 字母数字串
答案: 【 文法终结符集合;
文法规则的集合;
文法非终结符集合】
8、多选题:
设A是符号串的集合,则A*=( )。
选项:
A: A1 U A2 … U An …
B: A0 U A1 U A2 … U An …
C: {Ɛ} U A+
D: A0 U A+
答案: 【 A0 U A1 U A2 … U An …;
{Ɛ} U A+;
A0 U A+】
9、多选题:
设文法G[A]的规则如下:A→A1|A0|Aa|Ac|a|b|c,下列符号串( )是该文法的句子。
选项:
A: ab0
B: a0c01
C: aaa
D: bc10
答案: 【 a0c01;
aaa;
bc10】
10、判断题:
空符号串的集合{ε}={ }=Φ。
选项:
A: 正确
B: 错误
答案: 【 错误】
11、判断题:
设A是符号串的集合,则A0=ε。
选项:
A: 正确
B: 错误
答案: 【 错误】
12、判断题:
设G是一个文法,S是文法开始符号,如果S⇒x且x∈VT*,则称x为文法G[S]的句型。
选项:
A: 正确
B: 错误
答案: 【 错误】
13、判断题:
一个语言的文法是唯一的。
选项:
A: 正确
B: 错误
答案: 【 错误】
第3讲 文法和语言2
第三讲预习测试题
1、单选题:
文法:G:S→xSx | y所识别的语言是( )。
选项:
A: xyx
B: (xyx)*
C: x*yx*
D: (x^n)y(x^n) (n>=0)
答案: 【 (x^n)y(x^n) (n>=0)】
2、单选题:
设有文法G[S]=( {S,B},{b},{S→bB | b,B→bS },S),该文法所描述的语言是( )。
选项:
A: L(G[S])={ b^n | n≥0 }
B: L(G[S])={ b^(2n) | n≥0 }
C: L(G[S])={ b^(2n+1) | n≥0 }
D: L(G[S])={ b^(2n+1) | n≥1}
答案: 【 L(G[S])={ b^(2n+1) | n≥0 }】
3、多选题:
已知文法:E→ E + E | E - E | E * E | E / E | ( E ) | i下面的推导过程是句子i+i*i的最右推导的是( )。
选项:
A: E=>E+E=>E+E*E=>E+E*i=>E+i*i=>i+i*i
B: E=>E+E=>E+E*E=>E+i*E=>E+i*i=>i+i*i
C: E=>E*E=>E*i=>E+E*i=>E+i*i=>i+i*i
D: E=>E*E=>E*i=>E+E*i=>i+E*i=>i+i*i
答案: 【 E=>E+E=>E+E*E=>E+E*i=>E+i*i=>i+i*i;
E=>E*E=>E*i=>E+E*i=>E+i*i=>i+i*i】
4、多选题:
例如,设有文法G[N1] N1→NN→ND | DD→0 | 1 | 2以下哪些是句子 12 的推导序列( )
选项:
A: N1=>N=>ND=>N2=>D2=>12
B: N1=>N=>ND=>1N=>1D=>12
C: N1=>N=>ND=>DD=>1D=>12
D: N1=>N=>ND=>DD=>D2=>12
答案: 【 N1=>N=>ND=>N2=>D2=>12;
N1=>N=>ND=>DD=>1D=>12;
N1=>N=>ND=>DD=>D2=>12】
5、判断题:
从一个句型到另一个句型的推导是唯一的。
选项:
A: 正确
B: 错误
答案: 【 错误】
6、判断题:
文法的每个句型(句子)都至少存在一棵对应的语法树。
选项:
A: 正确
B: 错误
答案: 【 正确】
7、判断题:
一棵语法树是不同推导过程的共性抽象。
选项:
A: 正确
B: 错误
答案: 【 正确】
8、判断题:
最左推导是对于一个推导序列中的每一步直接推导 α=>β , 都是对α中的最左非终结符进行替换。
选项:
A: 正确
B: 错误
答案: 【 正确】
第4讲 文法和语言3
第4讲预习测试题
1、单选题:
乔姆斯基把法文分成四种类型,即0型、1型、2型和3型。2型文法也称为( )。
选项:
A: 上下文无关文法
B: 正规文法
C: 上下文有关文法
D: 无限制文法
答案: 【 上下文无关文法】
2、单选题:
语言L={ a^nb^n |n>=1}不能由哪个文法描述( )。
选项:
A: 0型文法
B: 1型文法
C: 2型文法
D: 3型文法
答案: 【 3型文法】
3、多选题:
若一个文法满足( ),则称该文法是二义文法。
选项:
A: 文法的某一个句子存在两棵(包括两棵)以上的语法树。
B: 文法的某一个句子,它有两个(包括两个)以上的最右(最左)推导。
C: 文法的某一个句子,它有两个(包括两个)以上的最右(最左)归约。
D: 文法的某一个句子存在一棵(包括一棵)以上的语法树。
答案: 【 文法的某一个句子存在两棵(包括两棵)以上的语法树。;
文法的某一个句子,它有两个(包括两个)以上的最右(最左)推导。;
文法的某一个句子,它有两个(包括两个)以上的最右(最左)归约。】
4、判断题:
用二义性文法定义的语言也是二义性的。
选项:
A: 正确
B: 错误
答案: 【 错误】
5、判断题:
任何正规文法都是上下文无关文法。
选项:
A: 正确
B: 错误
答案: 【 正确】
6、判断题:
如果文法G中的一个句子存在多个推导序列,则称文法G是二义性的。
选项:
A: 正确
B: 错误
答案: 【 错误】
7、判断题:
一个文法是二义的,则这个文法的每个句子都对应两个不同的语法树。
选项:
A: 正确
B: 错误
答案: 【 错误】
8、判断题:
每一个左线性文法G,一定存在一个右线性文法G’,使得L(G)=L(G’)。
选项:
A: 正确
B: 错误
答案: 【 正确】
第5讲 词法分析1
第5讲预习测试题
1、单选题:
编译程序中词法分析器所完成的任务是从源程序中识别出一个一个具有独立意义的( )。
选项:
A: 表达式
B: 语句
C: 过程
D: 单词符号
答案: 【 单词符号】
2、单选题:
正规式的运算符“*”读作( )。
选项:
A: 或
B: 连接
C: 闭包
D: 乘
答案: 【 闭包】
3、单选题:
用l代表字母,d代表数字,∑={l,d},则定义标识符单词的正规式是( )。
选项:
A: ld*
B: ll*
C: l(l|d)*
D: ll*|d*
答案: 【 l(l|d)*】
4、单选题:
字母表={0,1},下列( )是描述所有以0开头,以1结尾的串的正规式。
选项:
A: (0|1)*
B: 00*1*1
C: 0(0|1)*1
D: 0*1*
答案: 【 0(0|1)*1】
5、多选题:
编译程序中的词法分析器的输出是二元组表示的单词符号,其二元组的两个元素是( )。
选项:
A: 单词种别
B: 单词参数
C: 单词自身的值
D: 单词数据类型
答案: 【 单词种别;
单词自身的值】
6、多选题:
通常程序设计语言中的单词符号都能用( )描述。
选项:
A: 正规文法
B: 上下文无关文法
C: 正规式
D: 上下文有关文法
答案: 【 正规文法;
正规式】
7、多选题:
程序设计语言的单词符号一般可分为5种,它们是( )及运算符和界符。
选项:
A: 常数
B: 表达式
C: 基本字
D: 标识符
答案: 【 常数;
基本字;
标识符】
8、多选题:
ε是( )。
选项:
A: 字符
B: 字
C: 正规式
D: 正规集
答案: 【 字;
正规式】
9、多选题:
ф是( )。
选项:
A: 集合
B: 字
C: 正规式
D: 字符
答案: 【 集合;
正规式】
10、多选题:
a(a∈∑)是( )。
选项:
A: 字符
B: 字
C: 正规式
D: 正规集
答案: 【 字符;
字;
正规式】
11、判断题:
编译程序中的词法分析程序以字符形式的源程序作为输入,输出的单词符号常采用二元组的形式。
选项:
A: 正确
B: 错误
答案: 【 错误】
12、判断题:
若两个正规式所表示的正规集相同,则认为二者是等价的。
选项:
A: 正确
B: 错误
答案: 【 正确】
13、判断题:
使用正规式运算能够描述定义在字母表上的任意符号串子集。
选项:
A: 正确
B: 错误
答案: 【 错误】
第6讲 词法分析2
第6讲测试题
1、单选题:
如图所示自动机M,请问下列哪个字符串不是M所能识别的()。
![]()
选项:
A: bbaa
B: abba
C: abab
D: aabb
答案: 【 aabb】
2、单选题:
如图所示DFA M接受的字集为()。
![]()
选项:
A: 以0开头的二进制数组成的集合
B: 以1开头的二进制数组成的集合
C: 含奇数个0的二进制数组成的集合
D: 含偶数个0的二进制数的组成的集合
答案: 【 含偶数个0的二进制数的组成的集合】
3、单选题:
( )不是DFA的成分。
选项:
A: 有穷字母表
B: 多个初始状态的集合
C: 多个终态的集合
D: 转换函数
答案: 【 多个初始状态的集合】
4、单选题:
()不是NFA的成分。
选项:
A: 有穷输入字母表
B: 文法符号集合
C: 终止状态集合
D: 有限状态集合
答案: 【 文法符号集合】
5、单选题:
一个确定的有穷自动机DFA是一个()。
选项:
A: 五元组(K,∑,f,S,Z)
B: 四元组(Vn,Vt,P,S)
C: 四元组(K,∑,f,S)
D: 三元组(Vn,Vt,P)
答案: 【 五元组(K,∑,f,S,Z)】
6、单选题:
如果一个正规式所代表的集合是无穷的,则该正规式一定含有的运算是( )。
选项:
A: 连接运算
B: 或运算
C: 闭包运算
D: 括号
答案: 【 闭包运算】
7、单选题:
通常程序设计语言的词法规则可用正规式描述,词法分析器可用( )来实现。
选项:
A: 语法树
B: 有穷自动机
C: 栈
D: 堆
答案: 【 有穷自动机】
8、单选题:
已知文法G[S]:S→A1, A→A1|S0|0,与G等价的正规式是( )。
选项:
A: 0(0|1)*
B: 1*|0*1
C: 0(1|10)*1
D: 1(10|01)*0
答案: 【 0(1|10)*1】
9、判断题:
一张状态转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。
选项:
A: 正确
B: 错误
答案: 【 错误】
10、判断题:
一个非确定的有穷自动机NFA N的转换函数f是一个从K×Σ*到K的映像。
选项:
A: 正确
B: 错误
答案: 【 错误】
11、判断题:
DFA的状态转换图中不会出现ε弧,所以DFA无法识别ε空串。
选项:
A: 正确
B: 错误
答案: 【 错误】
12、判断题:
一个确定的有限自动机,识别一个符号串只可能通过唯一的一条路。
选项:
A: 正确
B: 错误
答案: 【 正确】
13、判断题:
一个正规式只能等价于一个确定的有限状态自动机。
选项:
A: 正确
B: 错误
答案: 【 错误】
14、判断题:
如果一个有限自动机接受空串ε,则它的状态转换图一定含有ε弧。
选项:
A: 正确
B: 错误
答案: 【 错误】
第7讲 词法分析3
第7讲测试题
1、单选题:
有限自动机M和N等价是指( )。
选项:
A: M和N的字母表相同
B: M和N的状态数和有向边数相等
C: M和N状态数或有向边数相等
D: M和N识别的字符串集合相同
答案: 【 M和N识别的字符串集合相同】
2、单选题:
如下图所示,e-closure({3,4,5})=( )。

选项:
A: {1,2,3,4,5,6,7,8}
B: {2,3,4,5,6,7,8}
C: {3,4,5}
D: {1,3,4,5,6,7,8}
答案: 【 {2,3,4,5,6,7,8}】
3、单选题:
DFA化简时对状态集合S进行第一次划分,正确的分法是( )。
选项:
A: 初态和非初态
B: 终态和非终态
C: 初态、终态、其他状态
D: 以上分法都不对
答案: 【 终态和非终态】
4、单选题:
如图所示的自动机,其对应的正规式为( )。
![]()
选项:
A: (10|01)(10|01)*
B: (10|01)(10)*
C: 10(10|01)*
D: (10|01)(10|01)* 01
答案: 【 (10|01)(10|0
