您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 编译练习题-uploadByMoruo
0637103班《编译原理》复习资料1编者语:编译原理是软件学院的一大天书,很多学长曾经牺牲过,文档里面是学长总结的一些有价值的练习题,并且有答案。这些题有些多,主要是对编译基础知识的考查,大家可以看一下体型,有时间做一做,这些题只是推荐的课外练习,不是往年考题,只是提供的练习。祝愿各位考出好成绩。该文档特别感谢赵天昊刘昌森魏钰卓刘磊宋红博的编辑!一、填空题1-01编译程序的工作过程一般可以划分为--------等几个基本阶段,同时还会伴有--------和---------。1-02若源程序是用高级语言编写的,目标程序是----------,则其翻译程序称为编译程序。1-03编译方式与解释方式的根本区别在于----------。1-04翻译程序是这样一种程序,它能够将--------转换成与其等价的-------。1-05对编译程序而言,输入数据是--------,输出结果是---------。1-06如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为两大阶段:-------和---------。1-07若源程序是用高级语言编写的,目标程序是机器语言程序或汇编程序,则其翻译程序称为---------。1-08一个典型的编译程序中,不仅包括词法分析、语法分析、中间代码生成、代码优化、目标代码生成等五个部分,还应包括---------和----------。其中,词法分析其用于识别单词。1-09编译方式与解释方式的根本区别为-----------。2-01所谓最右推导是指:-----------。2-02一个上下文无关文法所含四个组成部分是------------。2-03产生式是用于定义----------的一种书写规则。2-04设G[S]是给定文法,则由文法G所定义的语言L(G)可描述为:-------------------2-05设G是一个给定的文法,S是文法的开始符号,如果S*x(其中x*V),则称x是文法的一个----------。2-06设G是一个给定的文法,S是文法的开始符号,如果S*x(其中xTV*),则称x是文法的一个--------3-01扫描器的任务是从原程序中识别出一个个-------。4-01语法分析最常用的两类方法是---------和--------分析法。4-02语法分析的任务是识别给定的终极符串是否为给定文法的--------。0637103班《编译原理》复习资料24-03递归下降法不允许任一非终极符是直接------递归的。4-04自顶向下的语法分析方法的关键是---------的问题。4-05递归下降分析法是自---------的分析方法。4-06自顶向下的语法分析方法的基本思想是:从文法的----------开始,根据给定的输入串并按照文法的产生式一步一步地向下进行直接推导,试图推导出文法的--------,使之与给定的输入串匹配。5-01子底向下的语法分析方法的思想是:从给定的终极符开始,根据文法的规则一步一步的向上进行--------,试图----------到文法的------------。5-02自底向上的语法分析方法的基本思想是:从输入串入手,利用文法的产生式一步一步地向上进行---------,力求---------到文法的------------。5-03简单优先方法每次规约当前句型的------,算符优先方法每次归约当前句型的------,二者都是不断移进输入符号,直到符号栈顶出现----------的尾,再向前找到---------的头,然后归约。5-04在LR(0)分析法的名称中,L的含义是----------,R的含义是---------,0的含义是--------------------------------------。5-05在SLR(1)分析法的名称中,S的含义是--------。6-01所谓属性文法是-------------------------------------------------------------------------------------------------------6-02综合属性是用于--------传递信息。6-03继承属性是用于---------传递信息。6-04终结符只有----------,它们由词法分析器提供。7-01在使用高级语言编程时,首先可通过编译程序发现源程序的全部----错误和--------部分错误。a语法b语义c语用d运行8-01符号表的信息栏中登记了每个名字的------------------,如类型、种属、所占单元大小、地址等。8-02一个过程相应的DISPLAY表的内容为---------------------------------------------------。9-01一个过程相应的DISPLAY表的内容为---------------------------------------------------9-02常用的两种动态存贮分配办法是---------动态分配和---------动态分配/9-03常用的参数传递方式有---------,传值和传名。10-01局部优化是局限于一个----------范围内的一种优化/10-02代码优化的主要目标是如何提高-----------------------和---------------------------------。二单选题1-10一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成的五个部分,还应包括(1),其中(2)和代码优化部分不是每个编译程序都必需的,词法分析器用于识别(3),语法分析器则可以发现源程序中的(4)(1)a模拟执行器b解释器c表格处理和出错处理d符号执行器(2)a语法分析b中间代码生成c词法分析d目标代码生成(3)a字符串b语句c单词d标识符(4)a语义错误b语法和语义错误c错误并校正d语法错误1-11程序语言的语言处理程序是一种(1),(2)是两种程序语言处理程序,它们的主要区别在于(3)(1)a系统软件b应用软件c实时软件d分布式系统0637103班《编译原理》复习资料3(2)a高级语言程序和低级语言程序b解释程序和编译程序c编译程序和操作系统d系统程序和应用程序(3)a单用户与多用户的差别b对用户程序的差错能力C机器执行效率d是否生成目标代码1-12汇编程序是将---翻译成----,编译程序是将-----翻译成-----a汇编语言b机器语言程序c高级语言程序da或者bea或者cfb或者c1-13下面关于解释程序的描述正确的是------(1)解释程序的特点是处理程序时不产生目标代码(2)解释程序适用于COBOL和FPORTRAN语言(3)解释程序是为打开编译程序技术的僵局而开发的a(1)(2)b(1)c(1)(2)(3)d(2)(3)1-14高级语言的语言处理程序分为解释程序和编译程序两种,编译程序有五个阶段,而解释程序通常缺少(1)和(1),其中(1)的目的是使最后阶段产生的目标代码更为高效。与编译系统相比,解释系统(2),解释程序处理语言时,大多数采用的是(3)方法,(4)就是一种典型的解释型语言(1)a中间代码生成b目标代码生成c词法分析d语法分析e代码优化(2)a比较简单,可移植性好,执行速度快b.比较复杂,可移植性好,执行速度快c.比较简单,可移植性差,执行速度慢d.比较简单,可移植性好,执行速度慢(3):A.源程序命令被逐个直接解释执行B.先将源程序转化为中间代码,再解释执行C.先将源程序解释转化为目标程序,再执行D.以上方法都可以(4):A.BASICB.CC.FORTHAND.PASCAL1-15用高级语言编写的程序经编译后产生的程序叫(),用不同语言编写的程序产生()后,可用()连接在一起生成机器可执行程序,在机器中真正执行的是()。A.源程序B.目标程序C.函数D.过程E.机器指令代码F.模块G.连接过程H.程序库1-16要在某一台机器上为某种语言构造一个编译程序,必须掌握下述三方面内容:()A.汇编语言B.高级语言C.源语言D.目标语言E.程序设计方法F.编译方法G.测试方法H.机器语言1-17由于受到具体机器主存容量的限制,编译程序几个不同阶段往往被组合成((1)),诸阶段的工作往往是((2))进行的(1)A.过程B.程序C.批量D.遍(2)A.顺序B.并行C.成批D.穿插1-18编译程序与具体的机器(),与具体的语言()A.有关B.无关1-19使用解释程序时,在程序未执行完的情况下,()重新执行已执行过的部分。A.也能B.不可能1-20编译过程中,语法分析器的任务就是()(1)分析单词是怎样构成的(2)分析单词串是如何构成语句和说明的(3)分析语句和说明是如何构成程序的(4)分析程序的结构0637103班《编译原理》复习资料4A.(2)(3)B.(2)(3)(4)C.(1)(2)(3)D.(1)(2)(3)(4)1-21编译程序是一种常用的()软件。A.应用B.系统1-22编写一个计算机高级语言的源程序后,到正式上机运行之前,一般要经过()这几步。(1)编辑(2)编译(3)连接(4)运行A.(1)(2)(3)(4)B.(1)(2)(3)C.(1)(3)D.(1)(4)1-23编译程序必须完成的工作有()(1)记法分析(2)语法分析(3)语义分析(4)代码生成(5)中间代码生成(6)代码优化A.(1)(2)(3)(4)B.(1)(2)(3)(4)(5)C.(1)(2)(3)(4)(5)(6)D.(1)(2)(3)(4)(6)E.(1)(2)(3)(5)(6)1-24“用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行”这种说法()A.不正确B.正确1-25把汇编语言程序翻译成机器可执行的目标程序的工作是由()完成的A.编译器B.汇编器C.解释器D.预处理器1-26编译程序生成的目标程序()是机器语言的程序A.一定B.不一定1-27编译程序生成的目标程序()是可执行的程序A.一定B.不一定1-28编译程序是一种()A.汇编程序B.翻译程序C.解释程序D.目标程序1-29按逻辑上划分,编译程序第二步工作是()A.语义分析B.词法分析C.语法分析D.代码优化1-30通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括()A.模拟执行器B.解释器C.表格处理和出错处理D.符号执行器2-07文法G所描述的语言是()的集合A.文法G的字母表V中所有符号组成的字符串B.文法G的字母表V的闭包V*中的所有符号串C.由文法的开始符号推出的所有终级字符串D.由文法的开始符号推出的所有符号串2-08乔姆斯基(Chomsky)把文法分为四种类型,即0型、1型、2型、3型,其中3型文法是()A.短语文法B.正则文法C.上下文有关文法D.上下文无关文法2-09文法G[N]=({b},{N,B},N,{N-b|bB,B-bN}),该文法所描述的语言是()A.L(G[N])={bi|i=0}B.L(G[N])={b2ii=0}C.L(G[N])={b2i+1|i=0}D.L(G[N])={b2i+1|i=1}2-10一个句型中的最左()称为该句型的句柄A.短语B.简单短语C.素短语D.终结符号2-11设G是一个给定的文法,S是文法的开始符号,如果S=*x(其中xЄV*),则称x是文法G的一个()A.候选式B.句型C.单词D.产生式0637103班《编译原理》复习资料52-12一个上下文无关方法G包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组()A.句子B.句型C.单词D.产生式2-13文法G[E]:E→T|E+TT→F|T*FF→a|(E)该文法句型E+F*(E+F)的简单短语是下列符号串中的()(1)(E+T)(2)E+T(3)F(4)F*(E+T)可选项有:A.(1)(3)B.(2)(3)C.(3)(4)D.(3)2-
本文标题:编译练习题-uploadByMoruo
链接地址:https://www.777doc.com/doc-2141216 .html