MOOC 编译技术-西安邮电大学 中国大学慕课答案_第1页
MOOC 编译技术-西安邮电大学 中国大学慕课答案_第2页
MOOC 编译技术-西安邮电大学 中国大学慕课答案_第3页
MOOC 编译技术-西安邮电大学 中国大学慕课答案_第4页
MOOC 编译技术-西安邮电大学 中国大学慕课答案_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MOOC编译技术-西安邮电大学中国大学慕课答案单元测验11、问题:编译过程中,语法分析器的任务不包括()选项:A、分析单词是怎样构成的B、分析单词串是如何构成语句和说明的C、分析语句和说明是如何构成程序的D、分析程序的结构正确答案:【分析单词是怎样构成的】2、问题:编写一个计算机高级语言的源程序后,到正式上机运行之前,一般要经过()这几步a、编辑b、编译c、连接d、运行选项:A、abcdB、abcC、acD、ad正确答案:【abc】3、问题:解释方式和编译方式的主要区别在于选项:A、能否对源程序查错B、能否生成目标代码C、能否多用户运行D、机器资源利用率高低正确答案:【能否生成目标代码】4、问题:若在C语言源程序中出现“#”,且不出现在引号和注释里,在编译时会()选项:A、不报错B、语法分析时报错C、词法分析时报错D、代码生成时报错正确答案:【词法分析时报错】5、问题:若在C语言程序中出现“aa11bb=123;”,且不出现在引号和注释里,在编译时会()选项:A、词法分析时报错B、语义分析时报错C、生成中间代码时报错D、语法分析时报错正确答案:【语法分析时报错】6、问题:面向机器的语言指的是()选项:A、用于解决机器硬件设计问题的语言B、特定计算机系统所固有的语言C、各种计算机系统都通用的语言D、只能在一台计算机上使用的语言正确答案:【特定计算机系统所固有的语言】7、问题:面向机器语言的特点是()选项:A、程序的执行效率低,编制效率低,可读性差B、程序的执行效率高,编制效率高,可读性强C、程序的执行效率低,编制效率高,可读性强D、程序的执行效率高,编制效率低,可读性差正确答案:【程序的执行效率高,编制效率低,可读性差】8、问题:编译程序是对()选项:A、汇编程序的翻译B、高级语言的解释执行C、机器语言的执行D、高级语言的翻译正确答案:【高级语言的翻译】9、问题:编译程序是一种()软件选项:A、系统B、应用C、MISD、ERP正确答案:【系统】10、问题:()不是编译程序的组成部分选项:A、词法分析器程序B、代码生成程序C、设备管理程序D、语法分析程序正确答案:【设备管理程序】11、问题:设有表达式a*b-c,将其中a*b识别为表达式的编译阶段是()选项:A、词法分析B、语法分析C、语义分析D、代码生成正确答案:【语法分析】12、问题:编译原理各阶段的工作都涉及到()选项:A、表格管理B、语法分析C、出错处理D、代码优化正确答案:【表格管理#出错处理】13、问题:程序语言一般分为()和()选项:A、高级语言B、专用程序语言C、低级语言D、通用程序语言正确答案:【高级语言#低级语言】14、问题:高级语言的翻译方式有()和()选项:A、汇编方式B、模拟方式C、解释方式D、编译方式正确答案:【解释方式#编译方式】15、问题:有人说:“用高级语言编写的源程序必须通过编译,得到目标代码后才能投入运行”选项:A、正确B、错误正确答案:【错误】单元作业11、问题:关于遍的概念,正确的是选项:A、遍数越多越好ꢀB、遍数越少越好C、一个编译器分为几遍,如何划分,与很多因素有关D、所有语言都可用单遍编译程序实现正确答案:【一个编译器分为几遍,如何划分,与很多因素有关】2、问题:语法分析器可以发现源程序中的()选项:A、语义错误B、语法和语义错误C、各类型错误D、语法错误正确答案:【语法错误】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、可有可无的正确答案:【编译的第一步#其输入是源程序#输出是单词串】单元测验21、问题:对于文法G[Z],已知u是句型,则判断()是正确的选项:A、只要使用规范推导,无论如何一定可以从Z推导出uB、只要依据产生式进行归约,则u一定可以归约成ZC、都是对的D、都是错的正确答案:【都是错的】2、问题:由“非终结符--符号串”这种产生式构成的文法是()选项:A、0型文法B、1型文法C、2型文法D、3型文法正确答案:【2型文法】3、问题:二义文法是指()选项:A、对应于两棵不同语法树的文法B、对应于两种不同推导的文法C、文法中任何一个非终结符,都存在以它为左部的两个不同产生式D、其它几项都是错的正确答案:【其它几项都是错的】4、问题:文法G[Z]和语言L(G[Z])存在如下关系:选项:A、一一对应,一个文法对应唯一的语言,并且,一个语言对应唯一的文法B、一个语言对应唯一的文法,反之则不然C、一个文法对应唯一的语言,反之则不然D、若为非二义文法,则C正确;若为二义文法,则一个文法不对应唯一的语言正确答案:【一个文法对应唯一的语言,反之则不然】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、问题:文法分为四种类型:0型文法、1型文法、2型文法、3型文法,其中3型文法是()选项:A、短语文法B、正规文法C、上下文有关文法D、上下文无关文法正确答案:【正规文法】11、问题:在编译过程中语法树是()的产物选项:A、语法分析B、语义分析C、词法分析D、目标代码生成正确答案:【语法分析】12、问题:一个上下文无关文法包含四个部分,一组非终结符,一组终结符,一个开始符号以及一组()选项:A、句子B、句型C、产生式D、单词正确答案:【产生式】13、问题:自下而上的语法分析中,应从()开始分析选项:A、开始符号B、句柄C、句子D、句型正确答案:【句子】14、问题:如果一个文法是二义文法,必然有()的现象存在选项:A、文法的某一个句子存在两棵或两棵以上的语法树B、对于文法的某一个句子,存在两种或两种以上的最左(最右)推导C、对于文法的某一个句子,存在两种或两种以上的最左(最右)归约D、在进行归约时,文法的某些规范句柄不唯一正确答案:【文法的某一个句子存在两棵或两棵以上的语法树#对于文法的某一个句子,存在两种或两种以上的最左(最右)推导#对于文法的某一个句子,存在两种或两种以上的最左(最右)归约#在进行归约时,文法的某些规范句柄不唯一】15、问题:给定语法A--bAcc|ε,下面的符号串中为该文法的句子是()选项:A、bccB、bcbcC、bcbccD、bccbccE、bbcccc正确答案:【bcc#bbcccc】单元作业21、问题:如果文法G是无二义的,则它的任何句子α()。选项:A、语法树唯一B、语法树可能不唯一C、最左推导和最右推导必定相同D、可能存在两个不同的最左推导正确答案:【语法树唯一】2、问题:文法分为四种类型,即0型、1型、2型、3型。其中0型文法是()。选项:A、正则文法B、上下文无关文法C、短语文法D、上下文有关文法正确答案:【短语文法】3、问题:一个上下文无关文法G包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组()。选项:A、句子B、句型C、单词D、产生式正确答案:【产生式】4、问题:文法G所描述的语言是()的集合。选项:A、文法G的字母表V中所有符号组成的符号串B、文法G的字母表V的闭包V*中的所有符号串C、由文法的开始符号推出的所有符号串D、由文法的开始符号推出的所有终结符号串正确答案:【由文法的开始符号推出的所有终结符号串】5、问题:文法分为四种类型,即0型、1型、2型、3型。其中2型文法是()。选项:A、短语文法B、正则文法C、上下文有关文法D、上下文无关文法正确答案:【上下文无关文法】6、问题:一个文法所描述的语言是()。选项:A、唯一的B、不唯一的C、可能唯一,可能不唯一D、都不对正确答案:【唯一的】7、问题:若文法G定义的语言是无限集,则文法必然是()。选项:A、上下文无关的B、递归的C、二义性的D、无二义性的正确答案:【递归的】8、问题:文法G[E]:E→T∣E+TT→F∣T﹡FF→a∣(E)该文法句型E+F﹡(E+T)的简单短语是下列符号串中的()。选项:A、(E+T)B、E+TC、FD、F﹡(E+T)正确答案:【E+T#F】9、问题:3型文法等价于正规式,又称正规文法,也可从它的形式将之称为()和()选项:A、右线性文法B、上下文无关文法C、左线性文法D、上下文有关文法正确答案:【右线性文法#左线性文法】10、问题:所谓一个语言的文法是指这样一组规则,用它可以形成和产生一个合法的程序。这些规则包括()和()。选项:A、词法规则B、语义规则C、程序语言D、语法规则正确答案:【词法规则#语法规则】单元作业3单元测验31、问题:某个语言,它能用正规表达式表示,但是不能使用任何正规文法表示,这个语言必然是()选项:A、含二义性语言B、1型文法所对应的语言C、既含左递归又含右递归的语言D、不存在的语言正确答案:【不存在的语言】2、问题:词法分析器的另一个名称是()选项:A、分析器B、扫描器C、划分处理器D、词法探索器正确答案:【扫描器】3、问题:面对众多的源语言的词法分析处理,总体上,超前读入和某种假读处理是()选项:A、可以避免的B、不可避免的C、徒劳无益的D、以上都错误正确答案:【不可避免的】4、问题:下述正则表达式中()与(0*|1)*(+|-)等价选项:A、0*(+|-)|1(+|-)B、0*(+|-)*|1(+|-)*C、0*(+|-)|1*(+|-)D、(0|1)*+|(0|1)*-正确答案:【(0|1)*+|(0|1)*-】5、问题:“以0开头,以1结尾的二进制数字串”的正规式为()选项:A、0(0|1)*1B、0(0|1)1C、0*1*D、0*|1*正确答案:【0(0|1)*1】6、问题:“不以0开头的十进制无符号整数”的正规式为()选项:A、(123456789)*B、(1|2|3|4|5|6|7|8|9)*C、(1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*D、(123456789)(123456789)*正确答案:【(1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*】7、问题:确定的有限自动机是()选项:A、DFAB、NFAC、转换函数是多值映射D、终态唯一正确答案:【DFA】8、问题:非确定的有限自动机是()选项:A、DFAB、NFAC、只能有一个初态D、终态唯一正确答案:【NFA】9、问题:在一个状态转换图中,S1与S2是等价状态,则()选项:A、L(S1)=L(S2)B、S1与S2前驱相同C、S1与S2都不是终态D、到达S1的弧与到达S2的弧完全相同正确答案:【L(S1)=L(S2)】10、问题:关于正则文法,描述错误的是()选项:A、又被称为3型文法B、多数程序设计语言的单词可用正则文法描述C、又被称为线性文法D、不能转换成与之等价的NFA正确答案:【不能转换成与之等价的NFA】11、问题:一个正规式R与一个NFAM等价,是指()选项:A、L(R)=L(M)B、不可能等价C、它们的字母表相同D、各选项都错误正确答案:【L(R)=L(M)】12、问题:无关状态是()选项:A、多余状态和死状态B、互相没有关联的状态C、不能删去的状态D、终态正确答案:【多余状态和死状态】13、问题:关于LEX的描述正确的是()选项:A、是词法分析器的自动生成器B、其源程序是某种高级程序设计语言的代码C、其输出是单词串D、其功能是进行词法分析正确答案:【是词法分析器的自动生成器】14、问题:确定的有穷自动机是一个五元组选项:A、正确B、错误正确答案:【正确】单元作业4单元测验41、问题:递归子程序法属于()语法分析方法选项:A、自顶向下B、自底向上C、自左向右D、自右向左正确答案:【自顶向下】2、问题:采用确定的自顶向下分析时,必须()选项:A、消除左递归B、消除右递归C、避免回溯D、提取左公因子正确答案:【消除左递归】3、问题:自上而下语法分析的主要分析动作是()选项:A、推导B、移进C、归约D、匹配正确答案:【推导】4、问题:一个字符属于FOLLOW(S),这个字符的含义是()选项:A、一定会有一个句型中后随S的终结符B、S可能推导出第一个字符C、S可能推导出最后一个字符D、在某句型中直接跟在S后的字符正确答案:【一定会有一个句型中后随S的终结符】5、问题:在递归子程序方法中,若文法存在左递归,则会使分析过程产生()选项:A、无限循环B、回溯C、非法调用D、有限次调用正确答案:【无限循环】6、问题:编译程序中的语法分析器接受已()为单位的输入,并产生有关信息供以后各阶段使用选项:A、单词B、表达式C、产生式D、语句正确答案:【单词】7、问题:构造一个不带回溯的自顶向下语法分析器,要求文法满足1)对每个形如A→x1|x2|…|xn的产生式,要求FIRST(xi)与FIRST(xj)的交集为空集(i≠j)2)对每个形如A→x1|x2|…|xn的产生式,若xi能推出ε,则要求FIRST(xj)与FOLLOW(A)的交集为空集(i≠j)3)不含左递归选项:A、1)、2)和3)同时满足B、1)和2)同时满足C、1)和3)同时满足D、2)和3)同时满足正确答案:【1)、2)和3)同时满足】8、问题:LL(1)文法()二义性的选项:A、都没有B、都是有C、不一定有D、极少具有正确答案:【都没有】9、问题:语法分析器的常用方法是选项:A、自顶向下B、自底向上C、自左向右D、自右向左正确答案:【自顶向下#自底向上】10、问题:预测分析法是一种LL(1)分析法。选项:A、正确B、错误正确答案:【正确】11、问题:左递归会造成自顶向下分析过程出现无穷的重复选项:A、正确B、错误正确答案:【正确】12、问题:LL(k)文法不一定都是二义性的选项:A、正确B、错误正确答案:【错误】13、问题:考虑文法G[A]:A→A∨B|BB→B∧C|CC→┓C|DD→(A)|i该文法是LL(1)文法选项:A、正确B、错误正确答案:【错误】单元作业5单元测验51、问题:最左简单子树的末端结点构成的符号串称为()选项:A、简单短语B、句柄C、最左素短语D、素短语正确答案:【句柄】2、问题:若a为终结符,则A→α·aβ为()项目选项:A、待约B、接受C、移进D、归约正确答案:【移进】3、问题:下面哪种不是自底向上的语法分析文法()。选项:A、LR(1)B、SLR(1)C、LL(K)D、算符优先法正确答案:【LL(K)】4、问题:LR(k)方法是()。选项:A、从左到右分析,每次向前预测k步的一种编译方法B、从左到右分析,是否归约句柄要向后看k个输入符号的一种编译方法C、从左到右分析,共经过k步的一种编译方法D、从左到右分析,每次走k步的一种编译方法正确答案:【从左到右分析,是否归约句柄要向后看k个输入符号的一种编译方法】5、问题:算符优先分析是一种自底向上的分析方法,它是以()作为每一步归约的对象。选项:A、句柄B、最右直接短语C、最左素短语D、最右素短语正确答案:【最左素短语】6、问题:在通常的语法分析方法中,()特别适用于表达式的分析。选项:A、简单优先法B、LR分析法C、算符优先法D、LL(1)分析法正确答案:【算符优先法】7、问题:若项目集Ik含有A-α·,则在状态k时,仅当面临的输入符号a∈FOLLOW(A)时,才采取“A-α·”动作的一定是()选项:A、LALR文法B、LR(0)文法C、LR(1)文法D、SLR(1)文法正确答案:【SLR(1)文法】8、问题:在规范归约中,任何可归约串的出现都在()选项:A、栈的内部B、剩余的输入串中C、栈顶D、在栈顶和输入串中正确答案:【栈顶】9、问题:一个LR分析器实质上是一个带有先进后出存储栈的()选项:A、DFAB、NFAC、ACTION表D、LR分析表正确答案:【DFA】10、问题:自下而上语法分析的主要分析动作是()选项:A、移进B、推导C、归约D、匹配正确答案:【归约】11、问题:LR分析法属于()选项:A、自顶向下分析法B、LALR分析法C、SLR分析法D、自底向上分析法正确答案:【自底向上分析法】12、问题:一个算符优先文法可能不存在算符优先函数与之对应选项:A、正确B、错误正确答案:【正确】13、问题:LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。选项:A、正确B、错误正确答案:【错误】单元作业6-2单元测验61、问题:中间代码是介于源语言程序和什么之间的一种代码?()选项:A、源代码B、机器语言C、汇编语言D、目标代码正确答案:【目标代码】2、问题:在编译程序中与生成中间代码的目的无关的是。()选项:A、便于目标代码优化B、便于存储空间的组织C、便于目标代码的移植D、便于编译程序的移植正确答案:【便于目标代码优化】3、问题:四元式之间的联系是通过()实现的。选项:A、指示器B、临时变量C、符号表D、程序变量正确答案:【临时变量】4、问题:后缀式ab+cd+/可用表达式()来表示。选项:A、a+b/c+dB、(a+b)/(c+d)C、a+b/(c+d)D、a+b+c/d正确答案:【(a+b)/(c+d)】5、问题:表达式(┐A∨B)∧(C∨D)的逆波兰表示为()。选项:A、┐AB∨∧CD∨B、A┐B∨CD∨∧C、AB∨┐CD∨∧D、A┐B∨∧CD∨正确答案:【A┐B∨CD∨∧】6、问题:间接三元式表示法的优点为()。选项:A、采用间接码表,便于优化处理B、节省存储空间,不便于表的修改C、便于优化处理,节省存储空间D、节省存储空间,不便于优化处理正确答案:【采用间接码表,便于优化处理】7、问题:表达式a*b-c-d$e$f-g-h*i中,运算符的优先级由高到低依次为-、*、$,且均为右结合,则其后缀式为()。选项:A、$*a-b-cd$e*-f-ghiB、bcd--a*efgh--i*$$C、abcd--*efgh--i*$$D、ab*c-d-e$fg-h-i*$正确答案:【abcd--*efgh--i*$$】8、问题:以下()不是中间代码的表示形式。选项:A、DAG图B、后缀式C、三元式D、间接四元式正确答案:【间接四元式】9、问题:表达式a+b*c-d/e↑f的后缀式是()。选项:A、ab+c*d-e↑fB、abc+*def/↑-C、abc*+def↑/-D、abc*+-def↑/正确答案:【abc*+def↑/-】10、问题:编译过程中将源代码翻译成中间代码,具有很多优点,其中()不是中间代码的优点。选项:A、中间代码不能用于解释B、利于在不同目标机上实现同一种语言C、利于进行与机器无关的优化D、编译程序的逻辑结构更为简单明确正确答案:【中间代码不能用于解释】11、问题:中间代码生成时依据的是()。选项:A、语法规则B、词法规则C、语义规则D、等价变换规则正确答案:【语义规则】12、问题:逆波兰表示法表示表达式时无须使用括号。选项:A、正确B、错误正确答案:【正确】13、问题:数组元素的地址计算与数组的存储方式有关。选项:A、正确B、错误正确答案:【正确】14、问题:树形表示和四元式不便于优化,而三元式和间接三元式则便于优化。选项:A、正确B、错误正确答案:【错误】15、问题:采用三元式实现三地址代码时,不利于对中间代码进行优化。选项:A、正确B、错误正确答案:【正确】16、问题:只有表达式可以翻译为后缀式,控制语句没有后缀式。选项:A、正确B、错误正确答案:【错误】单元作业6-11、问题:下面关于“生成中间代码的好处”描述错误的是:选项:A、便于进行与机器无关的代码优化工作;B、使编译程序改变目标机更容易;C、使编译程序执行效率更高;D、使编译程序的结构在逻辑上更为简单明确。正确答案:【使编译程序执行效率更高;】2、问题:以下哪个选项不是三地址码的表示方法:选项:A、三元式B、间接三元式C、四元式D、DAG正确答案:【DAG】3、问题:表达式a*(-b+c)的后缀式是:选项:A、a*-b+cB、ab-c+*C、abc-+*D、a-bc*+正确答案:【ab-c+*】4、问题:中间代码生成时,语义规则是如何表示的()。选项:A、语义子程序B、正则表达式C、产生式D、形式化描述方法正确答案:【语义子程序】5、问题:关系表达式ab的三地址码:选项:A、100ifabT:=1101goto103102T:=0103B、100ifabgoto103101T:=0102goto104103T:=1104C、T:=abD、100ifabgoto103101T:=1102goto104103T:=0104正确答案:【100ifabgoto103101T:=0102goto104103T:=1104】6、问题:E-E1orME2M-插入非终结符M的作用是记下E2的第一个四元式的标号用来回填E1的:选项:A、真链B、假链C、出口链D、nextlist链正确答案:【假链】7、问题:三地址码每条语句通常包含三个地址,所以x:=y不是三地址码选项:A、正确B、错误正确答案:【错误】8、问题:DAG与抽象语法树不同的是,在DAG中代表公共子表达式的结点具有多个父结点,而在抽象语法树中公共子表达式被表示为重复子树。选项:A、正确B、错误正确答案:【正确】9、问题:在翻译中间代码时,相同的子表达式没有必要多次翻译,只需翻译一次即可选项:A、正确B、错误正确答案:【错误】10、问题:相较于四元式,三元式更节省空间且易于在其上进行优化,是对四元式的改进。选项:A、正确B、错误正确答案:【错误】单元作业7-2单元测验71、问题:在目标代码生成阶段,符号表的作用是()。选项:A、目标代码生成B、语义检查C、语法检查D、地址分配正确答案:【地址分配】2、问题:符号表常用的操作不包括()。选项:A、查询给定的名字是否已在表中B、检查名字是否符合标识符命名的文法C、对给定名字,往表中填写或更新它的某些信息D、删除一个或一组无用的项正确答案:【检查名字是否符合标识符命名的文法】3、问题:目标代码生成阶段,对符号名进行地址分配的依据是()选项:A、符号表B、DFAC、符号栈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、错误正确答案:【错误】10、问题:编译一个源程序时,符号表可以是一张统一的表,也可以按名字的不同种属分为几张。选项:A、正确B、错误正确答案:【正确】11、问题:为了提高线性符号表的查找效率,可以将线性组织成自适应线性表。选项:A、正确B、错误正确答案:【正确】12、问题:对于过程嵌套结构型语言,设计符号表时在信息栏中引入一个指针域previous来指向下一个名字。选项:A、正确B、错误正确答案:【正确】13、问题:建立完整的符号表只需要扫描一遍程序。选项:A、正确B、错误正确答案:【错误】14、问题:有些语言没有说明语句也没有隐含的约定,符号表中名字的性质要到目标程序运行时才能确定下来。选项:A、正确B、错误正确答案:【正确】15、问题:符号表中的信息栏中登记了每个名字的有关的性质,如类型、种属、所占单元大小、地址等等。选项:A、正确B、错误正确答案:【正确】单元作业7-11、问题:在整个编译期间,对符号表的操作不包括:选项:A、往表中填入一个新的名字;B、对给定名字,访问它的某些信息;C、删除一个或一组无用项;D、删除一张符号表。正确答案:【删除一张符号表。】2、问题:对于数组标识符,通常将其相关信息全部存放在()表中,在符号表的地址栏中存入此表的入口地址。选项:A、内情向量表B、信息表C、display表D、previous表正确答案:【内情向量表】3、问题:最近嵌套作用域原则是:选项:A、一个名字的作用域是从这个名字的说明语句开始到程序结束。B、一个名字的作用域是包含了这个名字的说明语句的最小过程或函数。C、一个名字的作用域是包含了这个名字的说明语句的过程或函数。D、一个名字的作用域是从程序的第一条语句开始到程序结束。正确答案:【一个名字的作用域是包含了这个名字的说明语句的最小过程或函数。】4、问题:对含有n项元素的符号表采用对折查找,将名字按由小到大排序,若待查名字SYM比中间项小,则选项:A、在表的前半段继续查找B、在表的后半段继续查找C、在整表中继续查找D、查找失败正确答案:【在表的前半段继续查找】5、问题:在目标代码生成阶段,符号表的作用是()。选项:A、词法检查B、语义检查C、语法检查D、地址分配正确答案:【地址分配】6、问题:符号表的每一项包含两大栏,即名字栏和信息栏。其中关键字是名字栏。选项:A、正确B、错误正确答案:【正确】7、问题:采用各项各栏所占存储单元长度固定的方法组织符号表,是最简单、最节省空间的方法。选项:A、正确B、错误正确答案:【错误】8、问题:常见的符号表的三种构造法和处理法有:线性查找、二叉树和杂凑技术。选项:A、正确B、错误正确答案:【正确】9、问题:DISPLAY表称为过程的嵌套层次表,它是一个队列。选项:A、正确B、错误正确答案:【错误】10、问题:对于像Pascal这样的过程嵌套型程序设计语言,其符号表设计为栈符号表比线性表更优。选项:A、正确B、错误正确答案:【正确】单元测验81、问题:FORTRAN这样的语言,不允许过程递归,不含可变体积的数据对象或待定性质的名称,能在编译时完全确定其程序的每个数据对象在运行时存储空间的位置,可采用()选项:A、静态分配策略B、栈式分配策略C、堆式分配策略D、以上以上都有正确答案:【静态分配策略】2、问题:C语言,允许递归过程,还允许用户动态地申请和释放存储空间,应采用以下哪种存储分配策略()选项:A、静态分配策略B、栈式分配策略C、堆式分配策略D、以上以上都有正确答案:【以上以上都有】3、问题:嵌套过程语言的程序,内层过程引用非局部量可通过()跟踪外层过程最新活动记录的位置选项:A、老SPB、静态链C、Previous链D、全局display正确答案:【静态链】4、问题:关于全局display正确的是()选项:A、记录全局变量在存储器中的位置B、记录直接外层过程活动记录的基地址C、记录主调过程display表的基地址D、记录外层过程display表的基地址正确答案:【记录主调过程display表的基地址】5、问题:关于嵌套层次表display表描述正确的是()选项:A、过程的层数为i,则display表有i个单元B、display表只有一个单元C、display表存放主调过程display表的位置D、display表存放各个外层过程最新活动记录的基地址正确答案:【display表存放各个外层过程最新活动记录的基地址】6、问题:过程活动的生存期可以嵌套选项:A、正确B、错误正确答案:【正确】7、问题:传值方式,被调函数无法改变实参的值选项:A、正确B、错误正确答案:【正确】8、问题:用一个连续的存储块存放管理过程的活动所需要的信息,称这样的连续存储块为活动记录选项:A、正确B、错误正确答案:【正确】9、问题:栈式存储分配中,SP指针指向栈顶选项:A、正确B、错误正确答案:【错误】10、问题:活动记录中的“老SP”是指向外层过程最新活动记录基地址的指针选项:A、正确B、错误正确答案:【错误】11、问题:嵌套过程语言的程序,主程序的嵌套层次(简称为层数)定义为1选项:A、正确B、错误正确答案:【错误】12、问题:过程的层数为i,则display表有i+1个单元选项:A、正确B、错误正确答案:【正确】13、问题:过程嵌套层次显示表的生成与主调过程没有任何关系选项:A、正确B、错误正确答案:【错误】14、问题:可以通过主调过程的display表来生成被调过程的display表选项:A、正确B、错误正确答案:【正确】15、问题:利用display表来实现对非局部量的访问比利用静态链更高效选项:A、正确B、错误正确答案:【正确】单元作业8-11、问题:Pascal语言,允许递归过程,还允许用户动态地申请和释放存储空间,应采用以下哪种存储分配策略选项:A、静态分配策略B、栈式分配策略C、堆式分配策略D、各选项都有正确答案:【各选项都有】2、问题:为了管理过程在一次执行中所需的信息,使用一个连续的存储块,该连续的存储块被称作选项:A、内情向量表B、display表C、局部数据区D、活动记录正确答案:【活动记录】3、问题:ProgramPP;y:integer;procedurep1(x:integer);beginx:=3;y:=x+1end;beginy:=2;p1(y);write(y)end写出传值、传地址程序的运行结果选项:A、4,4B、2,4C、3,4D、4,2正确答案:【4,4】4、问题:静态链的作用是选项:A、存放过程的直接外层过程最新活动记录的地址,用以访问非局部数据B、存放主调过程最新活动记录的地址,用以建立主被调的联系C、存放代码的返回地址,用以返回主调过程D、存放静态数据区的地址,用以访问静态数据正确答案:【存放过程的直接外层过程最新活动记录的地址,用以访问非局部数据】5、问题:全局display的作用选项:A、用以访问全局变量B、记录直接外层过程活动记录的基地址C、用以生成本过程的display表D、记录外层过程display表的基地址正确答案:【用以生成本过程的display表】6、问题:老SP的存放的是:选项:A、外层过程最新活动记录的地址B、主调过程最新活动记录的地址C、主调过程display表的地址D、递归过程各个活动记录的地址正确答案:【主调过程最新活动记录的地址】7、问题:过程的活动a、b,它们的生存期或者是不重叠,或者是嵌套的选项:A、正确B、错误正确答案:【正确】8、问题:指针SP指向正在运行的过程的活动记录在栈里的起始地址。选项:A、正确B、错误正确答案:【正确】9、问题:利用静态链实现非局部变量的访问,比利用嵌套层次显示表实现非局部变量的访问效率更高。选项:A、正确B、错误正确答案:【错误】10、问题:通常我们定义主程序的层数为1选项:A、正确B、错误正确答案:【错误】单元作业9-2单元测验91、问题:局部优化是在()范围内进行的优化?选项:A、过程体B、基本块C、函数体D、循环体正确答案:【基本块】2、问题:有关基本归纳变量的作用,错误的是()选项:A、自身定值B、计算其它同族归纳变量C、控制循环D、记录循环的结果正确答案:【记录循环的结果】3、问题:在循环内可以实行的优化有()选项:A、代码外提B、删除归纳变量C、强度削弱D、以上都有正确答案:【以上都有】4、问题:4利用DAG进行局部优化,不能实现()选项:A、删除公共子表达式B、删除无用赋值C、代码外提D、合并已知量正确答案:【代码外提】5、问题:对于基本快内Out集合由In集合计算出来,而对于基本块之间,In集合由前驱基本块的Out集合计算出来。这样的数据流问题属于()选项:A、向前流问题B、向后流问题C、任意路径问题D、全路径问题正确答案:【向前流问题】6、问题:优化应该不计一切代价追求高效的程序。选项:A、正确B、错误正确答案:【错误】7、问题:对于所有相同的表达式,仅保留一个,删除其余,称作删除公共子表达式选项:A、正确B、错误正确答案:【错误】8、问题:只要在循环中不会发生变化的运算,都是可以进行代码外提的选项:A、正确B、错误正确答案:【错误】9、问题:合并已知量是将编译时可以计算出的值计算出来,不必等到运行时再计算选项:A、正确B、错误正确答案:【正确】10、问题:强度削弱是指把程序中执行时间较长的运算替换为执行时间较短的运算选项:A、正确B、错误正确答案:【正确】11、问题:删除公共子表达式是一种局部优化,仅在基本块内可采用此方法选项:A、正确B、错误正确答案:【错误】12、问题:DAG是有向无环图,利用DAG可实现局部优化选项:A、正确B、错误正确答案:【正确】13、问题:分析表达式的可用性,可用来进行全局公共子表达式的优化。选项:A、正确B、错误正确答案:【正确】14、问题:一个变量若在某基本块出口处是活跃的,则其在该基本块入口处也必定是活跃的选项:A、正确B、错误正确答案:【错误】15、问题:交换语句顺序并没有减少语句的数量,所以不是一种优化方法选项:A、正确B、错误正确答案:【错误】单元作业9-11、问题:代码B:=AC:=B优化为B:=AC:=A采用了什么优化技术选项:A、复写传播B、删除公共子表达式C、合并已知量D、删除无用代码正确答案:【复写传播】2、问题:循环中的基本归纳变量的作用不包括:选项:A、给自己递归定值B、计算其它归纳变量的值C、控制循环的进行D、提高循环的执行效率正确答案:【提高循环的执行效率】3、问题:关于基本块描述错误的是:选项:A、不包含任何跳转语句B、是一段顺序执行的语句序列C、只有一个入口D、只有一个出口正确答案:【不包含任何跳转语句】4、问题:代码A:=3.14B:=2*A优化为A:=3.14B:=6.28采用了哪种优化技术:选项:A、合并已知量B、复写传播C、删除无用代码D、删除归纳变量正确答案:【合并已知量】5、问题:In集合由同一基本块的Out集合计算出来,而Out集合由基本块间的In集合计算出来。这样的数据流问题属于()选项:A、向前流问题B、向后流问题C、任意路径问题D、全路径问题正确答案:【向后流问题】6、问题:代码A:=x+yB:=x+y优化为A:=x+yB:=A采用了哪种优化技术:选项:A、删除公共子表达式B、复写传播C、强度削弱D、合并已知量正确答案:【删除公共子表达式】7、问题:应当不计代价地争取好的优化效果。选项:A、正确B、错误正确答案:【错误】8、问题:表达式的值计算过了就没有必要重新计算了,可以删去所有重复计算。选项:A、正确B、错误正确答案:【错误】9、问题:循环不变运算一定可以进行代码外提选项:A、正确B、错误正确答案:【错误】10、问题:DAG是一种中间代码形式,可利用其实现局部优化选项:A、正确B、错误正确答案:【正确】11、问题:构造DAG时,如果某结点上附加的标识符在该基本块后不会被引用,则不生成对该标识符赋值的中间代码选项:A、正确B、错误正确答案:【正确】“编译原理”期末试卷-客观题1、问题:编译程序是这样一种翻译程序,其源语言、目标语言分别是()选项:A、低级语言、高级语言B、高级语言、低级语言C、程序设计语言、自然语言D、没有限制正确答案:【高级语言、低级语言】2、问题:若在C语言程序中出现“aa11bb=123;”,且不出现在引号和注释里,在编译时会选项:A、词法分析时报错B、语法分析时报错C、语义分析时报错D、生成中间代码时报错正确答案:【语法分析时报错】3、问题:对于∑={x,y},描述正规集“每个y都有x直接跟在右边的字符串”的正规式是。选项:A、(x|y|yx)*B、(x|yx)*C、x*(yx)*x*D、yx*(yx)*yx*正确答案:【(x|yx)*】4、问题:C语言,允许递归过程,还允许用户动态地申请和释放存储空间,应采用以下哪种存储分配策略选项:A、静态分配策略B、栈试分配策略C、堆式分配策略D、静态、栈式以及堆式分配策略正确答案:【静态、栈式以及堆式分配策略】5、问题:以下哪一个文法的语言是L={anb2n+1|n≥0}选项:A、S-abbS|bB、S-aSbb|?C、S-aSb|bD、S-aSbb|b正确答案:【S-aSbb|b】6、问题:已知文法G[S]为:S-ABA-aA|?B-bB|?该文法描述的语言是()选项:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论