2024年大学试题(计算机科学)-编译原理笔试考试历年高频考点试题摘选含答案_第1页
2024年大学试题(计算机科学)-编译原理笔试考试历年高频考点试题摘选含答案_第2页
2024年大学试题(计算机科学)-编译原理笔试考试历年高频考点试题摘选含答案_第3页
2024年大学试题(计算机科学)-编译原理笔试考试历年高频考点试题摘选含答案_第4页
2024年大学试题(计算机科学)-编译原理笔试考试历年高频考点试题摘选含答案_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

2024年大学试题(计算机科学)-编译原理笔试考试历年高频考点试题摘选含答案第1卷一.参考题库(共75题)1.编译过程中,语法分析器的任务是分析单词是怎样构成的。2.一个语言的句子是有穷的。3.若一个文法是递归的,则它所产生的语言的句子是可枚举的吗?4.编译程序必须完成的工作有()。 (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)5.LR分析技术无法适用二义文法。6.叙述由下列正规式描述的语言7.编译程序工作时,通常包括()阶段。A、词法分析B、语法分析C、中间代码生成D、语义检查E、目标代码生成8.四种形式语言文法中,1型文法又称为()文法。A、短语结构文法B、前后文无关文法C、前后文有关文法D、正规文法9.最小化的DFA所识别接受的正规集最小。10.常用的中间语言种类有哪几种?11.虚拟存储器地址变换是指()A、多用户虚地址与实地址如何一一对应B、程序的逻辑地址变换成主存实地址C、程序执行时将虚地址变换成对应的实存地址D、指令的符号地址变换成二进制地址12.词法分析基于()文法进行,即识别的单词是该类文法的句子。13.()是描述语言的语法结构的形式规则。A、文法B、语义C、词法D、语法14.规范规约是最()规约。15.()这样一些语言,它们能被确定的有穷自动机识别,但不能用正规表达式表示。A、存在B、不存在C、无法判定是否存在16.采用自上而下分析,必须()A、消除左递归B、消除右递归C、消除回溯D、提取公共左因子17.语法分析基于()文法进行,即识别的是该类文法的句子。语法分析的有效工具是()。18.后缀式abc-/所代表的表达式是()。19.LR法是自顶向下语法分析方法。20.通常编译过程分成前端和后端,其中前端包括(),后端包括目标代码生成。A、语法分析B、语义分析C、中间代码生成D、词法分析21.编译程序是对高级语言程序的解释执行。22.下面哪个文法具有二义性()。A、A→AAB、E→E+TC、E→(E)D、E→a23.编译和运行是两个独立分开的阶段。24.解释程序处理语言时,大多数采用的是()方法。A、源程序命令被逐个直接解释执行B、先将源程序转化为中间代码,再解释执行C、先将源程序解释转化为目标程序,再执行D、以上方法都可以25.代码生成阶段的主要任务是()A、把高级语言翻译成汇编语言B、把高级语言翻译成机器语言C、把中间代码变换成依赖具体机器的目标代码D、把汇编语言翻译成机器语言26.编译程序的工作过程一般可以划分为词法分析,语法分析,语义分析,中间代码生成,代码优化等几个基本阶段,同时还会伴有()和()。27.(a|b)a+(ba)*与下面的哪些串匹配?()A、baB、bbaC、ababaD、aaE、baa28.同心集的合并有可能产生“归约/归约”冲突。29.词法分析器是用于做什么的?30.编译程序能改正源程序所有错误。31.编译程序中错误处理的任务是对检查出的错误进行修改。32.规范归约(最左归约-最右推导的逆过程)的关键问题是()。A、确定符号表B、寻找单词C、寻找句柄D、定位错误33.每个过程的活动记录的体积在编译时可静态确定。34.在目标代码生成阶段,符号表用()。  A、目标代码生成B、语义检查C、语法检查D、地址分配35.句子的二义性(这里的二义性是指语法结构上的)36.L属性定义不能采用自下而上的方法计算。37.程序语言一般分为()和()两大类。A、高级语言;低级语言B、低级语言;通用程序语言C、高级语言;专用程序语言D、低级语言;专用程序语言38.在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合均是什么集合?39.一个上下文无关文法G包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组()。A、句子B、句型C、单词D、产生式40.词法分析器的输出结果是()A、单词的种别编码B、单词在符号表中的位置C、单词的种别编码和自身值D、单词自身值41.使用间接三元式表示法的主要目的()A、便于优化处理B、便于表的修改C、节省存储空间D、生成中间代码更容易42.LL(1)文法又称为预测分析方法。43.程序中的表达式语句在语义翻译时不需要回填技术。44.语义分析阶段所生成的与源程序等价的中间表示形式可以有()、()与()等。45.编译程序与解释程序的区别?46.一个算符优先文法可能不存在算符优先函数与之对应。47.编译程序的工作分为那几个阶段?48.正规文法产生的语言都可以用上下文无关文法来描述。49.ab*c*(a|b)c与下面的哪些串匹配?()A、acbbcB、abbcacC、abcD、acc50.数组元素的地址计算与数组的存储方式有关。51.把一个高级语言程序翻译成机器可执行的目标程序的工作由下列程序之一完成()。A、汇编程序B、解释程序C、编译程序D、预处理程序52.一个名字的属性包括()和()。53.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。54.若过程p第k次被调用,则p的DISPLAY表中就有k+1个元素。55.一个LR分析器由()组成。A、驱动程序B、分析函数C、分析栈D、向前搜索符集合56.()是指源程序中不符合语义规则的错误,这些错误一般在语义分析时能检测出来。A、语义错误B、语法错误C、短语错误D、短句错误57.一个上下文无关文法 G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组()。A、句子B、句型C、单词D、产生式58.如果文法是无二义的,那么规范归约是指()A、最左推导的逆过程B、最右推导的逆过程C、规范推导D、最左归约的逆过程59.下列不属于banana的子串的是()。A、bB、baaC、babnD、baanE、nan60.数组的内情向量中肯定不含有数组的()的信息。A、维数B、类型C、维上下界D、各维的界差61.下面不属于LL(1)分析器的组成部分是()A、LL(1)总控程序B、LL(1)分析表C、分析栈D、源程序串62.设有一段C语言程序while(i&&++j){c=2.19;j+=k;i++;},经过词法分析后可以识别的单词个数是()A、19B、20C、21D、2363.一个语义子程序描述了一个文法所对应的翻译工作。64.参数的传递方式及其特点65.编译器与要编译的源程序的接口阶段是()。A、扫描程序B、语法分析程序C、语义分析程序D、代码生成器66.变量应当()A、持有左值B、持有右值C、既持有左值又持有右值D、既不持有左值也不持有右值67.文法G所描述的语言是什么的集合?68.算符优先关系表不一定存在对应的优先函数。69.语法分析最常用的两类方法是()和()分析法。70.在规范归约中,用()来刻画可归约串。A、直接短语B、句柄C、最左素短语D、素短语71.编译程序使用()区别标识符的作用域。A、说明标识符的过程或函数名B、说明标识符的过程或函数的静态层次C、说明标识符的过程或函数的动态层次D、标识符的行号72.设有文法G={{S},{a},{S→SaS|ε},S},该文法是()A、LL(1)文法B、二义性文法C、SLR(1)文法D、算法优先文法73.一个编译程序中,不仅包含词法分析,(),中间代码生成,代码优化,目标代码生成等五个部分。A、语法分析B、文法分析C、语言分析D、解释分析74.编译程序和高级语言有什么区别?75.语法分析器的输入是单词符号。第2卷一.参考题库(共75题)1.划分程序的基本块时,确定基本块的入口语句的条件是什么?2.语法分析时必须先消除文法中的左递归。3.一个LR(1)项目可以看成()两个部分组成。A、心B、向前搜索符集合C、分析表D、分析函数4.常见的代码优化包括()。A、常量合并B、公共子表达式删除C、复写传播D、死代码删除5.任何算符优先文法()优先函数。A、有一个B、没有C、有若干个D、可能有若干个6.简要说明语义分析的基本功能。7.何谓翻译程序、编译程序和解释程序?它们三者之间有何种关系?8.写一个文法使其语言为偶数集,且每个偶数不以0开头。9.下列()优化方法不是针对循环优化进行的。A、强度削弱B、删除归纳变量C、删除多余运算D、代码外提10.设计词法分析程序可以借助于状态转换图。11.过程调用的实质是把程序控制转移到子程序(过程段)。12.对中间代码的优化依赖于具体的计算机。13.逆波兰法表示的表达式亦称后缀式。14.若文法G定义的语言是无限集,则文法必然是()A、递归的B、前后文无关的C、二义性的D、无二义性的15.在目标代码生成阶段,符号表用于目标代码的生成。16.规范归约中的可归约串是指()。17.同心集的合并有可能产生新的“移进”/“归约”冲突。18.间接三元式表示法的优点为()。  A、采用间接码表,便于优化处理B、节省存储空间,不便于表的修改C、便于优化处理,节省存储空间D、节省存储空间,不便于优化处理19.如果L(M1)=L(M2),则M1与M2()。A、等价B、都是二义的C、都是无二义的D、它们的状态数相等20.在编译时安排所有数据对象的存储单元的分配策略属于()。A、静态分配策略B、栈式分配策略C、堆分配策略D、动态分配策略21.一个文法能用有穷多个规则描述无穷的符号串集合(语言)是因为文法中存在有()定义的规则。22.经过编译所得到的目标程序是()。A、四元式序列B、间接三元式序列C、二元式序列D、机器语言程序或汇编语言程序23.四元式是一种比较普遍采用的中间代码形式,它的四个组成成分是()。A、算法opB、第一运算对象ARG1C、第二运算对象ARG2D、运算结果RESULT24.综合属性是用于“自上而下”传递信息。25.写一个文法,使其语言是奇数集,且每个奇数不以0开头。26.程序语言的单词符号一般可以分为()。A、基本字B、标识符C、常量D、算符E、界符27.若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄。28.所有的编译程序都需要生成中间代码。29.3型文法是()是语法分析使用的文法。A、短语文法B、上下文有关文法C、上下文无关文法D、正规文法30.已经证明文法的二义性是可判定的。31.在解释方式下,解释程序将按照源程序中语句的动态顺序,逐句地进行分析解释,并立即予以执行。32.编译程序中语法分析器接收以()为单位的输入。A、单词B、表达式C、产生式D、句子33.仅考虑一个基本块,不能确定一个赋值是否真是无用的。34.翻译方案的设计原则35.在SLR(1)分析法的名称中,S的含义是简单的。36.词法分析器用于识别()A、字符串B、语句C、单词D、标识符37.语法分析的常用方法是()。A、自顶向下B、自底向上C、自左向右D、自右向左38.哪个不是编译系统的组成部分()A、词法分析器B、代码生成器C、设备管理程序D、语法分析器39.局部优化是局限于一个什么范围内的一种优化?40.数据表示的意义是()A、它是计算机系统能表示的数据类型B、它是计算机硬件能直接识别的数据类型C、它是计算机硬件能直接识别的数据结构D、它是数据结构的一个子集41.编译程序绝大多数时间花在()上。A、出错处理B、词法分析C、目标代码生成D、管理表格42.非终结符可以有综合属性,但不能有继承属性。43.用高级语言编写的程序经编译后产生的程序叫()。A、源程序B、目标程序C、连接程序D、解释程序44.已知文法G[S]为:S→dAB;A→aA|a;B→Bb|ε;G[S]产生的语言是什么?45.LR(0)分析法是一种规范规约法。46.关于堆式分配,下面说法正确地是()。A、属于动态分配B、属于静态分配C、适用于可递归调用、具有分程序结构的语言D、适用于允许为变量动态申请内存空间的语言47.逆波兰法表示的表达式把运算对象放在运算符的后面。48.产生式是用于定义词法成分的一种书写规则。49.写出表达式(a+b*c)/(a+b)-d的逆波兰表示和三元式序列。50.给定文法:S→ABA→aA|aB→bB|b句型aAB相对于A的短语是()。A、aB、AC、aAD、AB51.逆波兰式(a+b)*c-(a+b)/e所表达的表达式为()。52.编译程序生成的目标程序是不是一定是机器语言的程序?53.编译程序是对()。A、汇编程序的翻译B、高级语言程序的解释执行C、机器语言的执行D、高级语言的翻译54.如果编译程序生成的目标程序是汇编语言程序,则源程序的执行分为哪三个阶段?55.下面关于解释程序的描述正确的是()。 (1)解释程序的特点是处理程序时不产生目标代码 (2)解释程序适用于COBOL和FORTRAN语言 (3)解释程序是为打开编译程序技术的僵局而开发的A、(1)(2)B、(1)C、(1)(2)(3)D、(2)(3)56.如果文法G是无二义的,则它的任何句子()A、最左推导和最右推导对应的语法树必定相同B、最左推导和最右推导对应的语法树可能不同C、最左推导和最右推导必定相同D、可能存在两个不同的最左推导,但它们对应的语法树相同57.2型文法也称为()。A、短语文法B、上下文无关文法C、右线性文法D、左性性文法58.语法制导翻译只适用于自下而上的语法分析方法。59.移进—规约分析器的格局中栈的内容一般是文法符号与状态。60.()和代码优化部分不是每个编译程序都必需的。 A、语法分析B、中间代码生成C、词法分析D、目标代码生成61.编译程序是一种()A、汇编程序B、翻译程序C、解释程序D、目标程序62.翻译程序是这样一种程序,它能够将用什么转换成与其等价的用乙语言书写的程序?63.文法E—>E+E|E*E|i的句子i*i+i*i有()棵不同的语法树。A、1B、3C、5D、764.“用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行”这种说法。65.堆式动态分配申请和释放存储空间遵守()原则。A、先请先放B、先请后放C、后请先放D、任意66.程序所需的数据空间在程序运行前就可确定,称为()管理技术。A、动态存储B、栈式存储C、静态存储D、堆式存储67.数组的内情向量中肯定不含有数组的()的信息。 A、维数B、类型C、维上下界D、各维的界差68.已知文法G[S]为:S->a|^|(T)T->T,S|S (1)计算G[S]的FIRSTVT和LASTVT。 (2)构造G[S]的算符优先关系表并说明G[S]是否未算符优先文法。 (3)计算G[S]的优先函数。 (4)给出输入串(a,a)#的算符优先分析过程。69.()文法不是LL(1)的。A、递归B、右递归C、2型D、含有公共左因子70.在编译的各阶段中,和目标机器关系最为密切的是()。A、词法分析B、语法分析C、语义分析D、目标代码生成71.一个上下文无关文法消除了左递归,提取了左公共因子后是满足LL(1)文法的()A、必要条件B、充分必要条件72.简述代码优化的目的和意义。73.产生正规语言的文法为()A、0型B、1型C、2型D、3型74.扫描器的任务是从()中识别出一个个()。75.编译程序首先要识别出源程序中每个(),然后再分析每个()并翻译其意义。第1卷参考答案一.参考题库1.参考答案:错误2.参考答案:错误3.参考答案: 它所产生的语言的句子不是可枚举的,而是无穷多个。4.参考答案:A5.参考答案:错误6.参考答案: 7.参考答案:A,B,C,E8.参考答案:C9.参考答案:错误10.参考答案: 常用的中间语言种类有逆波兰表示、三元式、四元式和树形表示。11.参考答案:B12.参考答案:正则13.参考答案:A14.参考答案:左15.参考答案:B16.参考答案:C17.参考答案:上下文无关;语法树18.参考答案:a/(b-c)19.参考答案:错误20.参考答案:A,B,C,D21.参考答案:错误22.参考答案:A23.参考答案:正确24.参考答案:B25.参考答案:C26.参考答案:表格处理;出错处理27.参考答案:A,D,E28.参考答案:正确29.参考答案: 词法分析器是用于识别单词的。30.参考答案:错误31.参考答案:错误32.参考答案:C33.参考答案:正确34.参考答案:D35.参考答案: 文法G[S]的一个句子如果能找到两种不同的最左推导(或最右推导),或者存在两棵不同的语法树,则称这个句子是二义性的。36.参考答案:错误37.参考答案:A38.参考答案: 均是终结符集。39.参考答案:D40.参考答案:C41.参考答案:A42.参考答案:正确43.参考答案:正确44.参考答案:逆波兰;四无式表示;三元式表示45.参考答案: 编译程序生成目标程序后,再执行目标程序;然而解释程序不生成目标程序,边解释边执行。46.参考答案:正确47.参考答案: 编译就是要把高级语言的源程序翻译成目标程序的过程。一般整个过程可划分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成6个阶段。48.参考答案:正确49.参考答案:B,C50.参考答案:正确51.参考答案:C52.参考答案:类型;作用域53.参考答案:错误54.参考答案:错误55.参考答案:A,B,C56.参考答案:A57.参考答案:D58.参考答案:B59.参考答案:B,C,D60.参考答案:A61.参考答案:D62.参考答案:B63.参考答案:错误64.参考答案: 1)值调用:是最简单的传递参数的方法。调用者计算实参,并把它的值(右值)传给被调用过程。值调用的显著特征是对形参的运算不影响调用者活动记录中的值 2)引用调用:调用者把实参存储单元的地址(即实参的左值)传给被调用者,被调用者对形参的任何访问就是对对应实参的访问。引用调用的显著特征是对形参的任何赋值都会影响调用者的实参。 3)换名调用:把过程当做宏来对待,也就是在调用点,用被调用过程的体来替换调用者的调用,但是形参用对应的实参正文代换。被调用过程的局部名与调用过程的名字保持区别。65.参考答案:A66.参考答案:C67.参考答案: 是由文法的开始符号推出的所有终结符串的集合。或说是句子的集合。68.参考答案:错误69.参考答案:自上而下;自下而上70.参考答案:B71.参考答案:B72.参考答案:B73.参考答案:A74.参考答案: 用汇编语言或高级语言编写的程序,必须先送入计算机,经过转换成用机器语言表示的目标程序(这个过程即编译),才能由计算机执行。执行转换过程的程序叫编译程序。汇编程序是指没有编译过的汇编语言源文件。编译程序转换过的叫目标程序,也就是机器语言。编译程序的工作情况有三种:汇编型、解释型和编译型。汇编型编译程序用来将汇编语言编写的程序,按照一一对应的关系,转换成用机器语言表示的程序。解释型编译程序将高级语言程序的一个语句,先解释成为一组机器语言的指令,然后立即执行,执行完了,取下一组语句解释和执行,如此继续到完成一个程序止。用解释型编译程序,执行速度很慢,但可以进行人和计算机的"对话",随时可以修改高级语言的程序。BASIC语言就是解释型高级语言。编译型编译程序将级语言编写的程序,一次就会部翻译成机器语言表示的程序,而且过程进行很快,在过程中,不能进行人对话修改。FORTRAN语言就是编译型高级语言。75.参考答案:正确第2卷参考答案一.参考题库1.参考答案: (1)程序第一个语句 (2)能由条件转移语句或无条件转移语句转移到的语句 (3)紧跟在条件转移语句后面的语句。2.参考答案:错误3.参考答案:A,B4.参考答案:A,B,C,D5.参考答案:D6.参考答案: 语义分析的基本功能包括:确定类型、类型检查、语义处理和某些静态语义检查。7.参考答案: 翻译程序是指将用某种语言编写的程序转换成另一种语言形式的程序的程序,如编译程 序和汇编程序等。 编译程序是把用高级语言编写的源程序转换(加工)成与之等价的另一种用低级语言编 写的目标程序的翻译程序。 解释程序是解释、执行高级语言源程序的程序。解释方式一般分为两种:一种方式是,源程序功能的实现完全由解释程序承担和完成,即每读出源程序的一条语句的第一个单词, 则依据这个单词把控制转移到实现这条语句功能的程序部分,该部分负责完成这条语句的功能的实现,完成后返回到解释程序的总控部分再读人下一条语句继续进行解释、执行,如此反复;另一种方式是,一边翻译一边执行,即每读出源程序的一条语句,解释程序就将其翻译成一段机器指令并执行之,然后再读人下一条语句继续进行解释、执行,如此反复。无论是哪种方式,其加工结果都是

温馨提示

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

评论

0/150

提交评论