C 是编译类高级程序语言 对 错,编译原理复习题(2)

2024-03-19 00:50

本文主要是介绍C 是编译类高级程序语言 对 错,编译原理复习题(2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.乔姆斯基(Chomsky)把文法分为四种类型,即0型、1型、2型、3型。其中3型文法是( )

A.正则文法

B.上下文无关文法

C.上下文有关文法

D.短语文法

答案:A

2.( )文法不是LL(1)的。

A.递归

B.右递归

C.2型

D.含有公共左因子

答案:D

4.LR(K)方法是( )。

A.从左到右分析,每次走K步的一种编译方法

B.从左到右分析,共经过K步的一种编译方法

C.从左到右分析,每次向前预测K步的一种编译方法

D.从左到右分析,是否归约句柄要向后看K个输入符号的一种编译方法

答案:C

5.SLR(1)分析法的名字中,“L”的含义是( )。

A.自左向右进行分析

B.自右向左进行分析

C.采用最右推导的逆过程

D.采用最左推导的逆过程

答案:A

7.在使用高级语言编程时,首先可通过编译程序发现源程序的什么错误?( )

A.语法

B.语义

C.语用

D.运行

答案:A

9.编译程序是将( )翻译成( ) 。

A.汇编语言程序 机器语言程序

B.高级语言程序 汇编语言程序或机器语言程序

C.汇编语言程序或高级语言程序 机器语言程序或高级语言程序

D.高级语言程序 机器语言程序或高级语言程序

答案:B

11.编译器与要编译的源程序的接口阶段是( )。

A.扫描程序

B.语法分析程序

C.语义分析程序

D.代码生成器

答案:A

12.由于受到具体机器主存容量的限制,编译程序几个不同阶段的工作往往被组合成()。

A.过程

B.程序

C.批量

D.遍

答案:D

14.( )不是NFA的成分。

A.有穷字母表

B.初始状态集合

C.终结状态集合

D.有限状态集合

答案:B

·因为只有唯一的初始状态

15.编译过程中,语法分析器的任务是( )。

A.分析单词是怎样构成的

B.分析单词串是如何构成语句和说明的

C.分析语句和说明是如何构成程序的

D.分析程序的结构

答案:Bcd

16.词法分析器的输入是( )。

A.单词符号串

B.源程序

C.语法单位

D.目标程序

答案:B

17.词法分析器用于识别( )。

A.字符串

B.语句

C.单词

D.标识符

答案:C

18.代码生成阶段的主要任务是( )。

A.把高级语言翻译成汇编语言

B.把高级语言翻译成机器语言

C.把中间代码变换成依赖具体机器的目标代码

D.把汇编语言翻译成机器语言

答案:C

19.代码优化时所依据的是( )。

A.语法规则

B.词法规则

C.等价变换规则

D.语义规则

答案:C

20.优化可生成( )的目标代码。

A.运行时间较短

B.占用存储空间较小

C.运行时间短但占用内存空间大

D.运行时间短且占用内存空间小

答案:D

21.下面哪个不是单词的描述工具?( )

A.正规式

B.有穷自动机

C.下推自动机

D.正规文法

答案:C

22.高级语言编译程序常用的语法分析方法中,递归分析法属于( )分析方法。

A.自右至左

B.自左至右

C.自底向上

D.自顶向下

答案:D

23.设有文法G[S]: S→ S*S | S+S | (S) | a,该文法( )二义性文法。

A.是

B.不是

C.不一定

答案:A

25.用高级语言编写的程序经过编译后产生的程序叫( )。

A.源程序

B.目标程序

C.函数

D.过程

答案:B

26.程序语言一般分为( )和( )两大类。

A.高级语言 低级语言

B.低级语言 通用程序语言

C.高级语言 专用程序语言

D.低级语言 专用程序语言

答案:a

29.xabcde-*f/+:=是赋值语句( )相应的后缀式 。

A.x:=a+b+c*d-e/f

B.x:=a+(b+c)*d-e/f

C.x:=a+b+c*(d-e)/f

D.x:=a+b+c+(c*d)-e/f

答案:C

30.表达式(A∨B)∧(C∨¬D∧E)的逆波兰表示为( )。

A.AB∨CD¬∨E∧∧

B.AB∨CDE∧¬∨∧

C.AB∨CD¬E∧∨∧

D.AB∨CD∨¬E∧∧

答案:A

31.以下中间代码的表示形式中,( )更便于优化。

A.三元式

B.四元式

C.树

D.后缀式

答案:B

32.程序基本块是指( )。

A.一个子程序

B.一个仅有一个入口和一个出口的语句

C.一个没有嵌套的程序段

D.一组顺序执行的程序段,仅有一个入口和一个出口

答案:D

33.间接三元式表示法的优点是( )。

A.采用间接码表,便于优化处理

B.节省存储空间,不便于表的管理

C.便于优化处理,节省存储空间

D.节省存储空间,不便于优化管理

答案:A

34.解释程序处理语言时,大多数采用的是( )。

A.源程序命令被逐个直接解释执行

B.先将源程序转化为中间代码,再解释执行

C.先将源程序解释转化为目标程序,再执行

D.以上方法都可以

答案:B

38.经过编译所得到的目标程序是( )。

A.四元式序列

B.间接三元式序列

C.二元式序列

D.机器语言程序或汇编语言程序

答案:D

39.(

)这样一些语言,它们能被确定的有穷自动机识别,但不能用正规表达式表示。

A.存在

B.不存在

C.无法判定是否存在

答案:B

40.在通常的语法分析方法中,( )特别适用于表达式的分析。

A.算符优先分析法

B.LR分析法

C.递归下降分析法

D.LL(1)分析法

答案:A

42.如果文法G是无二义的,则它的任何句子α( )。

A.最左推导和最右推导对应的语法树必定相同

B.最左推导和最右推导对应的语法树可能不同

C.最左推导和最右推导必定相同

D.可能存在两个不同的最左推导,但它们对应的语法树相同

答案:A

43.BNF是一种广泛采用的( )的工具。

A.描述规则

B.描述语言

C.描述文法

D.描述句子

答案:C

44.文法S→abC,bC→ad是几型文法?( )

A.0型文法

B.1型文法

C.2型文法

D.3型文法

答案:B(上下文有关文法)

45.文法G所描述的语言是( )的集合。

A.文法G的字汇表V中所有符号组成的符号串

B.文法G的字汇表V的闭包V*中的所有符号串

C.由文法的识别符号推出的所有符号串

D.由文法的识别符号推出的所有终结符号串

答案:B

46.若一个文法是递归的,则它所产生语言的句子个数( )。

A.必定是无穷的

B.是有限个的

C.根据具体情况而定

答案:A

47.下面的优化项目中,不属于循环优化的是( )。

A.不变运算外提

B.削弱运算强度

C.消除归纳变量?

D.合并已知运算

答案:D

48.有限自动机有( )接受状态。

A.只能一个

B.只能两个

C.只能三个

D.0个、一个或多个

答案:D

50.在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合均是( )。

A.非终极符集

B.终极符集

C.字母表

D.状态集

答案:B

51.编译程序中语法分析器接收以( )为单位的输入。

A.单词

B.表达式

C.产生式

D.句子

答案:A

52.文法E—>E+E|E*E|i的句子i*i+i*i有(

)棵不同的语法树。

A.1

B.3

C.5

D.7

答案:C

54.若文法G定义的语言是无限集,则文法必然是( )。

A.递归的

B.前后文无关的

C.二义性的

D.无二义性的

答案:A

55.某个语言,它能用正规表达式表示,但是它不能使用任何正规文法表示,这个语言必然是(

)

A.1型文法所对应的语言

B.含有二义的语言

C.既含有左递归又含有右递归

D.不存在的语言

答案:D正则表达式与正规文法是等价的

56.给定文法,A::=bA|cc,下面哪些符号串可由其推导出?(

)①cc②b*cc③b*cbcc④bccbcc⑤bbbbcc

A.①

B.①③④⑤

C.①⑤

D.①②⑤

答案:D

57.与正规式r=(a|b)*等价的是( )。

A.a*b*

B.(ab)*

C.(a|b)(a|b)+

D.((a|b)*)*

答案:D

58.中间代码生成时所依据的是( )。

A.语法规则

B.词法规则

C.语义规则

D.等价变换规则

答案:C

59.下面( )不是自底向上的语法分析方法。

A.SLR(1)

B.LR(1)

C.LL(k)

D.算符优先符

答案:C

60.采用自上而下分析,必须( )。

A.消除左递归

B.消除右递归

C.消除回溯

D.提取公共因子

答案:C

61.编写一个计算机高级语言的源程序后,到正式上机运行之前,一般要经过( )。

A.编辑

B.编译

C.连接

D.运行

E.调试

答案:A|B|C

62.编译程序工作时,通常包括( )阶段。

A.词法分析

B.语法分析

C.中间代码生成

D.语义检查

E.目标代码生成

答案:A|B|C|E

63.常用的参数传递方式有( )。

A.传地址

B.传值

C.传声明

D.传变量

E.传名

答案:A|B|E

65.编译程序的输出结果可以是();A.目标代码;B.汇编语言代码;C.中间代码;D.优化后的中间代码;E.可重定位代码;

答案:A|B|C|D|E;

67.计算机执行用高级语言编写的程序有哪些途径?( )

A.链接

B.汇编

C.解释

D.编译

答案:C|D

68.编译过程中扫描器的任务包括( )。

A.组织原程序的输入

B.识别单词属性,并输出

C.删除注解

D.行计数、列计数

E.建立符号表

答案:A|B|C|D|E

71.编译方法中自顶向下的语法分析算法有( )。

A.递归下降法

B.SLR方法

C.LL(K)分析方法

D.LR(K)方法

答案:A|C

72.语法分析的常用方法是( )。

A.自顶向下

B.自底向上

C.自左向右

D.自右向左

答案:A|B

73.常用的两种动态存贮分配办法是( )。

A.栈式动态分配

B.顺序动态分配

C.随机动态分配

D.堆式动态分配

答案:A|D

75.如果文法G存在一个句子,满足下列条件( )之一时,则称该文法是二义文法。

A.该句子的最左推导与最右推导相同

B.该句子有两个不同的最左推导

C.该句子有两棵不同的最右推导

D.该句子有两棵不同的语法树

E.该句子的语法树只有一个

答案:B|C|D

76.(a|b)a+(ba)*与下面的哪些串匹配?( )

A.ba

B.bba

C.ababa

D.aa

E.baa

答案:A|D|E

77.ab*c*(a|b)c与下面的那些串匹配?( )

A.acbbc

B.abbcac

C.abc

D.acc

答案:B|C

78.编译过程中,比较常见的中间语言有( )。

A.波兰表示根据优化所涉及的范围,可将优化分为(

)。

B.逆波兰表示

C.三元式

D.四元式

答案:B|C|D

82.根据优化所涉及的范围,可将优化分为

A.局部优化

B.过程优化

a4c26d1e5885305701be709a3d33442f.png

C.全局优化

D.循环优化

E.四元式优化

答案:A|C|D

83.语法分析的方法大致可分为哪两类?( )

A.算符优先分析法

B.自上而下分析法

C.自下而上分析法

D.LL(1)分析法

答案:B|C

86.令∑={a,b},则∑上所有以b开头,后跟若干个ab的字的全体对应的正规式为( )。

A.b(ab)*

B.b(ab)+

C.(ba)*b

D.(ba)+b

E.b(a|b)

答案:A|B|D

87.对正规文法描述的语言,以下( )有能力描述它。

A.0型文法

B.1型文法

C.上下文无关文法

D.右线性文法

E.左线性文法

答案:A|B|C|D|E能够表达任何正则表达示能够表达的内容。

88.下面( )说法是错误的。

A.有向图是一个状态转换图

B.状态转换图是一个有向图

C.有向图是一个DFA

D.DFA可以用状态转换图表示

E.文法中终结符和非终结符的交集是空集

答案:A|C

89.下列不属于banana的子串的是( )。

A.b

B.baa

C.babn

D.baan

E.nan

答案:B|C|D

90.程序语言的单词符号一般可以分为( )。

A.基本字

B.标识符

C.常量

D.算符

E.界符

答案:A|B|C|D|E

91.最小化的DFA,它的状态数最小。

答案:对

92.最小化的DFA所识别接受的正规集最小。

答案:错

94.LL(1)分析法中,“1”的含义是向输入串中查看一个输入符号。 答案:对

95.LL(1)文法又称为预测分析方法。

答案:对

96.一个LL(1)文法一定是无二义和无回溯方法。

答案:对

107.对于字母表Σ上的任一NFA M',必存在Σ上与NFA M'等价的DFA M。

答案:对

108.在SLR(1)分析法的名称中,S的含义是简单的。

答案:对

109.编译程序是对高级程序的翻译。

答案:对

117.词法分析是编译的第一阶段。

答案:对

118.词法分析作为单独的一遍来处理较好。

答案:错

119.单词的种别提供给语法分析程序使用。

答案:对

120.执行词法分析的程序叫做扫描程序。

答案:对

121.设计词法分析程序可以借助于状态转换图。

答案:对

122.编译程序中错误处理的任务是对检查出的错误进行修改。

答案:错

123.进行代码优化时应着重考虑循环的代码优化,因为这将大大的提高目标代码的效率。 答案:对

124.源程序到目标程序的变换是等价变换,即两者结构不同,但语义是一致的。

答案:对

125.若文法G定义的语言是无限集,则文法必然是递归的。

答案:对

126.递归下降法不允许任一非终极符是直接左递归的。

答案:对

127.由于递归下降子程序方法较LL(1)方法简单,因此它要求文法不必是LL(1)文法。

答案:错

128.LL(1)文法可以有公共左因子。

答案:错

137.静态数组的存储空间可以在编译时确定。

答案:错

146.在任何文法的产生式中,终结符都不能出现在产生式左部。

答案:错

149.使用有限自动机可以实现单词的识别。

答案:对

152.编译过程中,语法分析器的任务是分析单词是怎样构成的。

答案:错

153.语法分析器的输入是单词符号。

答案:对

154.语法分析时必须先消除文法中的左递归。

答案:错(自顶向下的常用两种需要消除左递归)

155.语法分析之所以采用上下文无关文法是因为它的描述能力最强。

答案:错

156.在编译中进行语法检查的目的是为了发现程序中所有错误。

答案:错

157.语法树和推导树不一样。

答案:错

158.语法制导翻译只适用于自下而上的语法分析方法。

答案:错(语法制导翻译分为自下而上语法制导翻译和自上而下语法制导翻译)

165.语义规则中的属性有两种:综合属性与继承属性。

答案:对

166.两个正规集相等的必要条件是他们对应的正规式等价。

答案:错

167.设r和s分别是正规式,则有L(r|s)=L(r)|L(s)。

答案:错(则有L(r|s)=L(r)UL(s)。)

168.词法分析中单词符号是用上下文无关文法描述的,语法分析中语法类是用正规文法描述的。

答案:错(语法分析是用上下文无关文法;词法分析是用上下文无关文法;)

169.等价文法是指两个文法完全相同。

答案:错

170.一个正规式可能对应多个正规文法。

答案:对

173.正规文法、正规表达式、有限自动机这三者之间在某种意义下是互相等价的。

答案:对

174.目标代码生成时,不应考虑如何充分利用计算机的寄存器的问题。 答案:错

175.三地址语句类似于汇编语言代码,可以堪称中间代码的一种抽象形式。 答案:对

176.采用三元式实现三地址代码时,不利于对中间代码进行优化。

答案:对

177.确定的自动机以及不确定的自动机都能正确地识别正规集。

答案:对

178.自动机M和M′的状态数不同,则二者必不等价。

答案:错

179.采用自上而下分析,必须消除左递归。

答案:对

180.综合属性是用于“自上而下”传递信息。

答案:错

这篇关于C 是编译类高级程序语言 对 错,编译原理复习题(2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/824267

相关文章

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO