您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 编译原理模拟试卷和答案
北京语言大学网络教育学院《编译原理》模拟试卷一注意:1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。请监考老师负责监督。2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。3.本试卷满分100分,答题时间为90分钟。4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。一、【单项选择题】(本大题共10小题,每小题2分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。1、一个编译程序中,包含词法分析、()、中间代码生成、代码优化、目标代码生成等五个部分。[A]语法分析[B]文法分析[C]语言分析[D]解释分析2、词法分析器用于识别()。[A]字符串[B]语句[C]单词[D]标识符3、语法分析器则可以发现源程序中的()。[A]语义错误[B]语法和语义错误[C]错误并校正[D]语法错误4、下面关于解释程序的描述正确的是()。(1)解释程序的特点是处理程序时不产生目标代码。(2)解释程序适用于COBOL和FORTRAN语言。(3)解释程序是为打开编译程序技术的僵局而开发的。[A](1)(2)[B](1)[C](1)(2)(3)[D](2)(3)5、解释程序处理语言时,大多数采用的是()方法。[A]源程序命令被逐个直接解释执行[B]先将源程序转化为中间代码,再解释执行[C]先将源程序解释转化为目标程序,再执行[D]以上方法都可以6、编译过程中,语法分析器的任务就是()。(1)分析单词是怎样构成的(2)分析单词串是如何构成语句和说明的(3)分析语句和说明是如何构成程序的(4)分析程序的结构[A](2)(3)[B](2)(3)(4)[C](1)(2)(3)[D](1)(2)(3)(4)7、编译程序是一种()。[A]汇编程序[B]翻译程序[C]解释程序[D]目标程序8、文法G所描述的语言是()的集合。[A]文法G的字母表V中所有符号组成的符号串[B]文法G的字母表V的闭包V*中的所有符号串[C]由文法的开始符号推出的所有终极符号串[D]由文法的开始符号推出的所有符号串9、文法分为四种类型,即0型、1型、2型、3型。其中3型文法是()。[A]短语文法[B]正规文法[C]上下文有关文法[D]上下文无关文法10、一个上下文无关文法G包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组()。[A]句子[B]句型[C]单词[D]规则二、【判断题】(本大题共10小题,每小题2分,共20分)正确的填T,错误的填F,填在答题卷相应题号处。11、计算机高级语言翻译成低级语言只有解释一种方式。()12、如果一个文法存在某个句子对应两棵或者两棵以上不同的语法树,则说这个文法是二义的。()13、甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。()14、正则文法其产生式为A-a,A-Bb,A,B∈VN,a、b∈VT。()15、程序所需的数据空间在程序运行前就可确定,称为静态存储管理技术。()16、递归下降法允许任一非终结符是直接左递归的。()17、算符优先关系表不一定存在对应的优先函数。()18、自底而上语法分析方法的主要问题是候选式的选择。()19、LR法是自顶向下语法分析方法。()20、简单优先文法允许任意两个产生式具有相同右部。()三、【填空题】(本大题共10小空,每小空2分,共20分)请将答案填写在答题卷相应题号处。21、扫描器的任务是从()中识别出一个个()。22、若源程序是用高级语言编写的,()是机器语言程序或汇编程序,则其翻译程序称为()。23、编译方式与解释方式的根本区别在于()。24、对编译程序而言,输入数据是(),输出结果是()。25、产生式是用于定义()的一种书写规则。26、语法分析最常用的两类方法是()和()分析法。四、【简答题】(本大题共4小题,每小题10分,共40分)请将答案填写在答题卷相应题号处。27、什么是句子?什么是语言?28、写一文法,使其语言是偶正整数的集合,要求:(假定0为正整数)(1)允许0打头;(2)不允许0打头。29、现有文法G[S]:SaAbABcA|BBidt|请问aidtcBcAb是句型还是句子,为什么?30、构造正规式相应的NFA:1(0|1)*101。《编译原理》模拟试卷一答案一、【单项选择题】(本大题共10小题,每小题2分,共20分)题号12345678910答案ACDBBBCCBD二、【判断题】(本大题共10小题,每小题2分,共20分)题号11121314151617181920答案FTTFTTFFFF三、【填空题】(本大题共10小空,每小空2分,共20分)21、(源程序);(单词符号);22、(目标程序);(编译程序);23、(是否生成目标代码);24、(源程序);(目标程序);25、(语法成分);26、(自上而下);(自下而上);四、【简答题】(本大题共4小题,每题10分,共40分)27、标准答案:(1)设G是一个给定的文法,S是文法的开始符号,如果S-x(其中x∈VT*),则称x是文法的一个句子。(2)设G[S]是给定文法,则由文法G所定义的语言L(G)可描述为:L(G)={x│S-x,x∈VT*}。复习范围或考核目标:考核句子和语言,参考“第四章文法和语言”第1节。28、标准答案:(1)G[S]=({S,P,D,N},{0,1,2,…,9},P,S)P:S-PD|DP-NP|ND-0|2|4|6|8N-0|1|2|3|4|5|6|7|8|9(2)G[S]=({S,P,R,D,N,Q},{0,1,2,…,9},P,S)P:S-PD|P0|DP-NR|NR-QR|QD-2|4|6|8N-1|2|3|4|5|6|7|8|9Q-0|1|2|3|4|5|6|7|8|9复习范围或考核目标:考核文法,参考“第四章文法和语言”第2节。29、标准答案:SaAbaBcAbaidtcAbaidtcBcAb是句型但不是句子。复习范围或考核目标:考核句型和句子,参考“第四章文法和语言”第2节。30、标准答案:1(0|1)*101对应的NFA为复习范围或考核目标:考核正规式和NFA,参考“第三章词法分析程序”第3节。北京语言大学网络教育学院《编译原理》模拟试卷二注意:1.试卷保密,考生不得将试卷带出考场或撕页,否则成绩作废。请监考老师负责监督。2.请各位考生注意考试纪律,考试作弊全部成绩以零分计算。3.本试卷满分100分,答题时间为90分钟。4.本试卷分为试题卷和答题卷,所有答案必须答在答题卷上,答在试题卷上不给分。一、【单项选择题】(本大题共10小题,每小题2分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在答题卷相应题号处。1、通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括()[A]解释器[B]模拟执行器[C]表格管理和出错处理[D]符号执行器2、文法G[N]=({b},{N,B},N,{N→b│bB,B→bN}),该文法所描述的语言是()。[A]L(G[N])={bi│i≥0}[B]L(G[N])={b2i│i≥0}[C]L(G[N])={b2i+1│i≥0}[D]L(G[N])={b2i+1│i≥1}3、一个句型中的最左()称为该句型的句柄。[A]短语[B]简单短语[C]素短语[D]终结符号4、设G是一个给定的文法,S是文法的开始符号,如果S-x(其中x∈V*),则称x是文法G的一个()。[A]候选式[B]句型[C]单词[D]产生式5、文法G[E]:E→T∣E+TT→F∣T﹡FF→a∣(E)该文法句型E+F﹡(E+T)的简单短语是下列符号串中的()。①(E+T)②E+T③F④F﹡(E+T)[A]①和③[B]②和③[C]③和④[D]③6、若一个文法是递归的,则它所产生的语言的句子()。[A]是无穷多个[B]是有穷多个[C]是可枚举的[D]个数是常量7、把汇编语言程序翻译成机器可执行的目标程序的工作是由()完成的。[A]编译器[B]汇编器[C]解释器[D]预处理器8、在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合均是()。[A]非终极符集[B]终极符集[C]字母表[D]状态集9、在自底向上的语法分析方法中,分析的关键是()。[A]寻找句柄[B]寻找句型[C]消除递归[D]选择候选式10、在LR分析法中,分析栈中存放的状态是识别规范句型()的DFA状态。[A]句柄[B]前缀[C]活前缀[D]LR(0)项目二、【判断题】(本大题共10小题,每小题2分,共20分)正确的填T,错误的填F,填在答题卷相应题号处。11、“用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行”这种说法。()12、最左推导常被称为规范推导。()13、一个句型的句柄一定是文法某产生式的右部。()14、在程序中标识符的出现仅为使用性的。()15、仅考虑一个基本块,不能确定一个赋值是否真是无用的。()16、削减运算强度破坏了临时变量在一基本块内仅被定义一次的特性。()17、在中间代码优化中循环上的优化主要有不变表达式外提和削减运算强度。()18、一个有限状态自动机中,有且仅有一个唯一的终态。()19、数组元素的地址计算与数组的存储方式无关。()20、编译程序与具体的机器有关,与具体的语言无关。()三、【填空题】(本大题共10小空,每小空2分,共20分)请将答案填写在答题卷相应题号处。21、后缀式abc-/所代表的表达式是()。22、递归下降法不允许任一非终结符是直接()递归的。23、自顶向下的语法分析方法的基本思想是:从文法的()开始,根据给定的输入串并按照文法的产生式一步一步的向下进行(),试图推导出文法的(),使之与给定的输入串()。24、自底向上的语法分析方法的基本思想是:从输入串入手,利用文法的产生式一步一步地向上进行(),力求归约到文法的()。25、常用的参数传递方式有(),传值和传名。26、在使用高级语言编程时,首先可通过编译程序发现源程序的全部()错误和部分语义错误。四、【简答题】(本大题共4小题,每小题10分,共40分)请将答案填写在答题卷相应题号处。27、现有文法G[S]:SaAbABcA|BBidt|请问aidtccb是句型还是句子,为什么?28、简述DFA与NFA有何区别?29、写出表达式(a+b)/(a-b)-a(a+b*c)的三元式序列及四元式序列。30、已知文法G(S)S→a|∧|(T)T→T,S|S写出句子((a,a),a)的规范归约过程及每一步的句柄。《编译原理》模拟试卷二答案一、【单项选择题】(本大题共10小题,每小题2分,共20分)题号12345678910答案CCBBBABBAC二、【判断题】(本大题共10小题,每小题2分,共20分)题号11121314151617181920答案FFTFTTFFFF三、【填空题】(本大题共10小空,每小空2分,共20分)21、(a/(b-c));22、(左);23、(开始符号);(直接推导);(句子);(匹配);24、(直接归约);(开始符号);25、(传地址);26、(语法);四、【简答题】(本大题共4小题,每题10分,共40分)27、标准答案:SaAbaBcAbaidtcAbaidtcBcAbaidtccAbaidtccAbaidtccBbaidtccbaidtccb是句型,也是句子。复习范围或考核目标:考核句型和句子,参考“第四章文法和语言”第2节。28、标准答案:DFA与NFA的区别表现为两个方面:一是NFA可以若干个开始状态,而DFA仅只一个开始状态。另一方面,DFA的映象M是从K×∑到K,而NFA的映象M是从K×∑到K的子集,即映象M将产生一个状态集合(可能为空集),而不是单个状态。复习范围或考核目标:考核DFA与NFA的区别,参考“第三章词法分析程序”第3节。29.标准答案:三元式:⑴.(+,a,b)
本文标题:编译原理模拟试卷和答案
链接地址:https://www.777doc.com/doc-2068936 .html