第一章 单元测试

1、单选题:下述描述错误的是()。
A:高级语言程序必须经过编译或解释,才能被机器执行
B:高级语言程序很接近自然语言,不能被机器直接识别和执行
C:机器语言程序是由0或1组成,能被机器直接识别并执行
D:汇编语言程序是由助记符组成,能被机器直接识别并执行
正确答案:【汇编语言程序是由助记符组成,能被机器直接识别并执行】

2、单选题:编译程序是一种()。
A:翻译程序
B:汇编程序
C:目标程序
D:解释程序
正确答案:【翻译程序】

3、单选题:()不是编译程序的组成部分。
A:接口管理程序
B:词法分析程序
C:中间代码生成程序
D:语法分析程序
正确答案:【接口管理程序】

4、单选题:编译程序中,语法分析器的输入是()。
A:短语
B:表达式
C:句子
D:单词
正确答案:【单词】

5、单选题:编译过程分成若干“遍”的主要目的是()。
A:使程序的结构更为清晰
B:提高程序的执行效率
C:利用有限的机器内存且提高机器的使用效率
D:利用有限的机器内存但降低机器的使用效率
正确答案:【使程序的结构更为清晰】

6、判断题:C语言编写的源程序,每次执行都要边解释边执行。
A:对
B:错
正确答案:【错】

7、判断题:语法分析的任务是将输入的单词序列转换成各种语法短语。
A:对
B:错
正确答案:【对】

8、判断题:编译程序的前端部分是和目标机器无关的分析部分。
A:对
B:错
正确答案:【对】

9、判断题:语义分析是在语法分析之后进行。
A:错
B:对
正确答案:【对】

10、判断题:编程程序生成的目标程序是机器语言编写的指令。
A:对
B:错
正确答案:【错】

第二章 单元测试

1、单选题:符号串abc的前缀有()个。
A:2
B:1
C:4
D:3
正确答案:【4】

2、单选题:符号串x=ab,符号串y=abc,x和y的乘积(或称:连接)得到的符号串是( )。
A:cabab
B:abc
C:a2b2c
D:ababc
正确答案:【ababc】

3、单选题:语法树的构成方法有()种。
A:4
B:2
C:3
D:1
正确答案:【2】

4、单选题:Chomsky文法分类中,2型文法又称为()。
A:一般文法
B:正规文法
C:上下文无关文法
D:上下文有关文法
正确答案:【上下文无关文法】

5、单选题:已知文法:G(E):
E→T | E+T
T→F | T*F
F→i
该文法的一个句子i1+i2*i3中,句柄是()。
A:i2*i3
B:i1
C:i3
D:i2
正确答案:【i1】

6、多选题:词法分析器的输出包括单词的()。
A:种别(也称:类别)
B:自身值
C:地址
D:长度
正确答案:【种别(也称:类别);自身值】

7、判断题:空串ε的长度为0.
A:对
B:错
正确答案:【对】

8、判断题:bc和cb是两个不同的符号串。
A:对
B:错
正确答案:【对】

9、判断题:字母表的克林闭包(kleene)一定包含符号ε。
A:对
B:错
正确答案:【对】

10、判断题:短语、直接短语、句柄都是句型的成分。
A:错
B:对
正确答案:【对】

第六章 单元测试

1、单选题:某属性文法,产生式S→B关联的语义计算包括{ B.f := S.f} ,据此判断.f是()属性。
A:综合属性
B:具体属性
C:继承属性
D:遗传属性
正确答案:【继承属性】

2、单选题:某属性文法,产生式E→T关联的语义计算包括{ E.val := T.val} ,据此判断.val属性应该在()语法分析过程中进行语义计算。
A:自顶向下
B:自底向上
C:从左到右
D:从右到左
正确答案:【自底向上】

3、判断题:某属性文法中,为产生式A→Aa关联的语义计算可以是{ A.n→A.n +1} 。
A:对
B:错
正确答案:【错】

4、判断题:语法制导的语义计算是指在语义分析的同时,顺便进行语法分析和检查。
A:对
B:错
正确答案:【错】

5、判断题:原来的文法G(S)的基础上,为其文法符号关联具有特定意义的属性,并为产生式关联语义计算或条件谓词,就构成属性文法。
A:对
B:错
正确答案:【对】

6、判断题:终结符号的属性值来自词法分析的结果。
A:对
B:错
正确答案:【对】

7、判断题:既有继承属性又有综合属性的文法是L-属性文法。
A:对
B:错
正确答案:【对】

8、判断题:基于属性文法的语义计算更适合在语法分析时实现语义计算。
A:对
B:错
正确答案:【错】

9、单选题:某属性文法,产生式B→Bb关联的语义计算是B→{B1.in_num :=B.in_num }B1b{ B.num := B1.num-1} ,在自顶向下语法分析时,对于应该先计算的属性描述正确的是()。
A:继承属性.in_num
B:综合属性.in_num
C:继承属性.num
D:综合属性.num
正确答案:【继承属性.in_num】

10、判断题:S-属性文法的语义技术是自底向上进行。
A:对
B:错
正确答案:【对】

第七章 单元测试

1、单选题:(a+b)/(c-d)对应的逆波兰式(后缀式)是()。
A:ab+cd-/
B:abcd+/-
C:ab+cd/-
D:abcd-/+
正确答案:【ab+cd-/】

2、多选题:已知产生式 S→ if B then S1,其语义规则{B.true := newlable; B.false := S.next; S1.next:=S.next; S.code := B.code ‖gen(B.true’:’)‖S1.code},下列描述正确的有()
A:newlable表示生成一个新的语句标号
B:此处newlable的值是S1语句块的第一个语句标号
C:S.next是整个语句执行完的下一条语句标号
D:.next是继承属性,所以跳转前需要先确定语句块S的下一条语句标号
正确答案:【newlable表示生成一个新的语句标号;此处newlable的值是S1语句块的第一个语句标号;S.next是整个语句执行完的下一条语句标号;.next是继承属性,所以跳转前需要先确定语句块S的下一条语句标号】

3、判断题:后缀式表示法可以不用括号,因为只要知道每个算符的目数,就能对它进行无歧义的分解计算。
A:对
B:错
正确答案:【对】

4、判断题:在DAG图中,每个节点对应一个运算符。
A:对
B:错
正确答案:【对】

5、判断题:三元式和四元式都属于三地址码。
A:对
B:错
正确答案:【对】

6、判断题:静态语义分析的任务最主要是检查程序结构(控制结构和数据结构)的一致性和完整性。
A:对
B:错
正确答案:【对】

7、判断题:赋值语句x := x+5 的四元式描述是(:= x 5 x)。
A:对
B:错
正确答案:【错】

8、判断题:无条件跳转语句goto L的四元式描述是(goto L – -),其中“-”表示此处不填。
A:对
B:错
正确答案:【对】

9、判断题:算术表达式在语义分析时直接转换成三地址码指令,不需要回填。
A:对
B:错
正确答案:【对】

10、单选题:表达式(a+b)/c-(a+b)*d对应的三元式形式,(a+b)的运算结果用()表示。
A:(a+b)
B:a+b
C:(1)
D:1
正确答案:【(1)】

第八章 单元测试

1、判断题:编译的各个阶段都可能要用到符号表。
A:对
B:错
正确答案:【对】

2、判断题:对一般的程序设计而言,其编译程序的符号表应包含哪些内容及何时填入信息不能一概而论。
A:对
B:错
正确答案:【对】

3、判断题:符号表中符号的常见属性,最关键的是符号名,要求不同符号的符号名尽可能不要相同。
A:对
B:错
正确答案:【对】

4、判断题:符号的作用域是通过其在符号表中是否可见体现的。
A:对
B:错
正确答案:【错】

5、判断题:符号表可以是单表结构,也可以是多表结构,若采用多表结构,还需要维护一个作用域栈。
A:对
B:错
正确答案:【对】

6、判断题:一般来说,符号表中的信息可以视为两大栏:名字栏和信息栏
A:对
B:错
正确答案:【对】

7、判断题:符号表可以用来帮助做名字的作用域分析。
A:对
B:错
正确答案:【对】

8、单选题:符号表常用的操作不包括( )。
A:检查名字是否符合标识符命名的文法
B:删除一个或一组无用的项
C:对给定名字,往表中填写或更新它的某些信息
D:查询给定的名字是否已在表中
正确答案:【检查名字是否符合标识符命名的文法】

9、单选题:目标代码生成阶段,对符号名进行地址分配的依据是()。
A:预测分析表
B:符号栈
C:DFA
D:符号表
正确答案:【符号表】

10、单选题:编译程序使用()区别名字的作用域。
A:说明名字的过程或函数名
B:说明名字的过程或函数的静态层次号
C:说明名字的过程或函数的动态层次号
D:名字的行号
正确答案:【说明名字的过程或函数的静态层次号】

第九章 单元测试

1、单选题:以下关于数据存储的说法错误的是(   )。
A:

目标程序在目标机中运行时,都置身在一个连续的逻辑地址空间

B:

在静态数据区,数据对象并不是一个字节一个字节连续存放,存放时需要“留白”处理,目的是为了“边界对齐”

C:

剩余章节答案支付后查看
如有疑问请及时联系QQ 50895809反馈
如遇卡顿看不了剩余内容请换个浏览器即可打开

没找到的科目也可以提醒我们更新

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注