第一章 单元测试
1、判断题:
编译器(Compiler)能捕捉的错误都是静态错误(Static errors)。
选项:
A:对
B:错
答案: 【对】
2、判断题:
编译器只能识别动态(Dynamic)语义,但不能识别静态(Static)语义。
选项:
A:对
B:错
答案: 【错】
3、单选题:
对源程序进行编译正确处理顺序为()
选项:
A:其他选项都不对
B:语法分析、词法分析、语义分析、代码生成
C:语义分析,语法分析、词法分析,代码生成
D:词法分析、语法分析、语义分析、代码生成
答案: 【词法分析、语法分析、语义分析、代码生成】
4、单选题:
编译器的各个阶段的产物分别是( )、中间代码和目标代码。
选项:
A:语法树、分析树、注释树
B:其他选项都错
C:记号序列、语法树、注释树
D:记号序列、注释树、分析树
答案: 【记号序列、语法树、注释树
】
5、单选题:
( )执行翻译代码的功能,且立即执行源程序,而不产生中间代码。
选项:
A:连接程序
B:编译器
C:汇编程序
D:解释程序
答案: 【解释程序
】
6、单选题:
将编译程序分成若干个“遍”是为了____。
选项:
A:使程序的结构更加清晰
B:利用有限的机器内存但降低了机器的执行效率
C:提高程序的执行效率
D:利用有限的机器内存并提高机器的执行效率
答案: 【利用有限的机器内存并提高机器的执行效率】
7、单选题:
词法分析器用于识别_____。
选项:
A:语句
B:字符串
C:单词
D:标识符
答案: 【单词
】
8、单选题:
在编译器的功能模块中,扫描器的功能是( )。
选项:
A:词法分析
B:代码优化
C:语法分析
D:语义分析
答案: 【词法分析】
9、单选题:
编译器进行的是( )
选项:
A:静态语义分析
B:其他选项都不对
C:动态语义分析
D:静态和动态语义分析
答案: 【静态语义分析
】
10、单选题:
编译器中词法分析的输入和输出分别是( )
选项:
A:记号串、注释树
B:语法树、注释树
C:字符串、记号串
D:记号串、语法树
答案: 【字符串、记号串
】
第二章 单元测试
1、判断题:
确定的自动机以及不确定的自动机都能正确地识别正规集。
选项:
A:错
B:对
答案: 【对】
2、判断题:
正则文法、 DFA和正则表达式均可以用于描述高级程序设计语言的词法。
选项:
A:错
B:对
答案: 【对】
3、单选题:
在有穷自动机中,两个状态是等价的条件是( )。
选项:
A:两个状态都不是无用状态
B:同为可接受状态或不可接受状态
C:对于所有输入,两个状态迁移到等价状态里
D:A和B
答案: 【A和B】
4、单选题:
扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即( )
选项:
A:句型
B:单词
C:句子
D:字符
答案: 【单词】
5、判断题:
设∑为{a,b},则a,ba,{},Ø都是∑上的正规式。
选项:
A:对
B:错
答案: 【对】
6、单选题:
以下( )不是DFA的组成部分。
选项:
A:有穷字母表
B:初始状态集合
C:终止状态集合
D:有限状态集合
答案: 【初始状态集合
】
7、判断题:
在有穷自动机中, 有穷自动机的状态s和t不等价,则称这两个状态是可区别的。
选项:
A:错
B:对
答案: 【对】
8、单选题:
“由大写字母组成的、以Z开头并且不以Z结尾的字符串”的正则表达式是()
选项:
A:Z [a-Y]*
B:Z [a-Z]*[A-Y]
C:Z [a-z]*Z
D:Z [a-z]+[a-Y]
答案: 【Z [a-Z]*[A-Y]】
9、单选题:
下面( )是词法分析的理论基础。
选项:
A:正规式
B:下推自动机
C:有穷自动机
D:正规文法
答案: 【有穷自动机】