编译原理练习题 下载本文

第一章练习题(绪论)

一、选择题

1.编译程序是一种常用的 B 软件。 A) 应用

B) 系统

C) 实时系统

D) 分布式系统

2.编译程序生成的目标代码程序 B 是可执行程序。 A) 一定

B) 不一定

3.编译程序的大多数时间是花在 D 上。 A) 词法分析

B) 语法分析

C) 出错处理

D) 表格管理

4.将编译程序分成若干“遍”将 B 。 A) 提高编译程序的执行效率;

B) 使编译程序的结构更加清晰,提高目标程序质量; C) 充分利用内存空间,提高机器的执行效率。 5.编译程序各个阶段都涉及到的工作有 D 。 A) 词法分析

B) 语法分析

C) 语义分析

D) 表格管理

6.词法分析的主要功能是 C 。

A) 识别字符串 B) 识别语句 C) 识别单词 D) 识别标识符 7.若某程序设计语言允许标识符先使用后说明,则其编译程序就必须 A 。 A) 多遍扫描

B) 一遍扫描

8.编译方式与解释方式的根本区别在于 B 。 A) 执行速度的快慢 C) 是否语义分析

2018-6-11

B) 是否生成目标代码

9.多遍编译与一遍编译的主要区别在于 B 。

A) 多遍编译是编译的五大部分重复多遍执行,而一遍编译是五大部分只执行一遍;

B) 一遍编译是对源程序分析一遍就立即执行,而多遍编译是对源程序重复多遍分析再执行;

C) 多遍编译要生成目标代码才执行,而一遍编译不生成目标代码直接分析执行;

D) 多遍编译是五大部分依次独立完成,一遍编译是五大部分交叉调用执行完成。

10.编译程序分成“前端”和“后端”的好处是 D A)便于移植 B)便于功能的扩充 C)便于减少工作量 D)以上均正确

2018-6-11

第二章练习题(文法与语言)

一、选择题

1. 文法 G 产生的 (1)D 的全体是该文法描述的语言。 A.句型 B. 终结符集 C. 非终结符集 D. 句子 2.若文法 G 定义的语言是无限集,则文法必然是 (2) A A递归的 B 上下文无关的 C 二义性的 D 无二义性的

3. Chomsky 定义的四种形式语言文法中, 0 型文法又称为 (3) A文法; 1 型文法又称为 (4)C 文法; 2 型语言可由 (5) G 识别。 A 短语结构文法 B 上下文无关文法 C 上下文有关文法 D 正规文法 E 图灵机 F 有限自动机 G 下推自动机

4.一个文法所描述的语言是 (6)A ;描述一个语言的文法是 (7) B 。 A 唯一的 B 不唯一的 C 可能唯一,也可能不唯一

二、构造文法以生成下列语言: 1.{an bn︱n≥0} 2.{an bm︱n,m≥1} 3.{an , bm︱n,m≥1}

4. L = {w | w是不含两个相邻1的0、1串}

5.能被5整除的整数集合。

1.G=({S},{a,b}, S, P),其中P = { S→ ? | aSb } 2.G=({S,A,B},{a,b}, S, P), 其中P = { S→ AB,A→a︱aA,B→b︱bB}

2018-6-11