[计算机类试卷]软件水平考试(中级)软件设计师上午(基础知识)历年真题试卷汇编3及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师上午(基础知识)历年真题试卷汇编3及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师上午(基础知识)历年真题试卷汇编3及答案与解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师上午(基础知识)历年真题试卷汇编 3及答案与解析 1 将高级语言程序翻译为机器语言程序的过程中,常引入中间代码,其好处是 (48)的适当工具。 ( A)有利于进行反编译处理 ( B)有利于进行与机器无关的优化处理 ( C)尽早发现语法错误 ( D)可以简化语法和语义分析 2 以下关于程序错误的叙述中,正确的是 (50)。 ( A)编译正确的程序必然不包含语法错误 ( B)编译正确的程序必然不包含语义错误 ( C)除数为 0的错误可以在语义分析阶段检查出来 ( D)除数为 0的错误 可以在语法分析阶段检查出来 3 在对程序语言进行翻译的过程中,常采用一些与之等价的中
2、间代码表示形式。常用的中间代码表示不包括 (49)。 ( A)树 ( B)后缀式 ( C)四元式 ( D)正则式 4 编译和解释是实现高级程序设计语言翻译的两种的基本形式。以下关于编译与解释的叙述中,正确的是 (51)。 ( A)在解释方式下,对源程序不进行词法分析和语法分析,直接进行语义分析 ( B)在解释方式下,无须进行词法、语法和语义分析,而是直接产生源程序的目标代码 ( C)在编译方式下,必须进行词法、语法和语义 分析,然后产生源程序的目标代码 ( D)在编译方式下,必须先形成源程序的中间代码,然后再产生与机器对应的目标代码 5 编译程序分析源程序的阶段依次是 (21)。 ( A)词法
3、分析、语法分析、语义分析 ( B)语法分析、词法分析、语义分析 ( C)语义分析、语法分析、词法分析 ( D)语义分析、词法分析、语法分析 6 编译程序对 C语言源程序进行语法分析时,可以确定 (22)。 ( A)变量是否定义 (或声明 ) ( B)变量的值是否正确 ( C)循环语句的执行次数 ( D)循环条件是否正确 7 以下关于高 级语言程序的编译和解释的叙述中,正确的是 (48)。 ( A)编译方式下,可以省略对源程序的词法分析、语法分析 ( B)解释方式下,可以省略对源程序的词法分析、语法分析 ( C)编译方式下,在机器上运行的目标程序完全独立于源程序 ( D)解释方式下,在机器上运行
4、的目标程序完全独立于源程序 8 以下关于语言 L=anbn1n 1)的叙述中,正确的是 (48)。 ( A)可用正规式 “aa*bb*”描述,但不能通过有限自动机识别 ( B)可用正规式 “ambm”表示,也可用有限自动机识别 ( C)不能用正规式表示,但 可以用有限自动机识别 ( D)不能用正规式表示,也不能通过有限自动机识别 9 已知文法 G: SA0 81, AS111 , BS010 ,其中 S是开始符号。从 S出发可以推导出 (21)。 ( A)所有由 0构成的字符串 ( B)所有由 1构成的字符串 ( C)某些 0和 1个数相等的字符串 ( D)所有 0和 1个数不同的字符串 10
5、 算术表达式 a+(bc)*d的后缀式是 (22)。 (一、 +、 *表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例 ) ( A) bcd*a+ ( B) abcd*+ ( C) ab+cd*: ( D) abcd一 *+ 11 对高级语言源程序进行编译的过程中,有穷自动机 (NFA或 DFA)是进行 (49)。 ( A)词法分析 ( B)语法分析 ( C)语义分析 ( D)出错处理 12 语言 L=ambn1m0, n11的正规表达式是 (21)。 ( A) aa*bb* ( B) a*bb* ( C) aa*b* ( D) a*b* 13 算术表达式 (a-b)*c+d的后缀式是
6、 (22)(一、 +、 *表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例 )。 ( A) abcd一 *+ ( B) ab一 cd*+ ( C) abc*d+ ( D) abcd*+ 14 算术表达式 x一 (y+c)*8的后缀式 (22)(一、 +、 *表示算术的减、加、乘运算,运算符的优先级和结合型遵循惯例 )。 ( A) xyc8一 +* ( B) xyc+8* ( C) xyc8*+一 ( D) xyc+8*一 15 图 28所示为一个有限自动机 (其中, A是初态, C是终态 ),该自动机所识别的字符串的特点是 (48)。 ( A)必须以 11结尾的 0、 1串 ( B)必
7、须以 00结尾的 0、 1串 ( C)必须以 01结尾的 0、 1串 ( D)必须以 10结尾的 0、 1串 16 图 2 9所示为一个有限自动机 (其中, A是初态、 C是终态 ),该自动机识别的语言可用正规式 (48)表示。 ( A) (011)*01 ( B) 1*0*10*1 ( C) 1*(0)*01 ( D) 1*(0110)*1* 17 包含 8个成员的开发小组的沟通路径最多有 (15)条。 ( A) 28 ( B) 32 ( C) 56 ( D) 64 18 图 210所示为一个有限自动机 (其中, A是初态、 C是终态 ),该自动机可识别(49)。 ( A) 0 ( B) 1
8、111 ( C) 101 ( D) 1010 19 图 2一 11所示的有限自动机中, 0是初始状态, 3是终止状态,该自动机可以识别 (22)。 ( A) abab ( B) aaaa ( C) bbbb ( D) abba 20 (48)。( A) M1和 M2都是确定的有限自动机 ( B) M1和 M2都是不确定的有限自动机 ( C) M1是确定的有限自动机, M2是不确定的有限自动机 ( D) M1是不确定的有限自动机, M2是确定的有限自动机 21 逻辑表达式 “a b c (b x0)”的后缀式为 (21)。 (其中 、 分别表示逻辑与、逻辑或, 表示关系运算 大于,对逻辑表达式进
9、行短路求值 ) ( A) abcbx0 ( B) ab c b x0 ( C) ab cb x0 ( D) ab cbx0 22 对于正规式 0*(10*1)*0*,其正规集中字符串的特点是 (50)。 ( A)开头和结尾必须是 0 ( B) 1必须出现偶数次 ( C) 0不能连续出现 ( D) 1不能连续出现 23 以下关于传值调用与引用调用的叙述中,正确的是 (21)。 在传值调用方式下,可以实现形参和实参问双向传递数据的效果 在传值调用方式下,实参可以是变量,也可以是 常量和表达式 在引用调用方式下,可以实现形参和实参间双向传递数据的效果 在引用调用方式下,实参可以是变量,也可以足常量和
10、表达式 ( A) ( B) ( C) ( D) 24 程序运行过程中常使用参数在函数 (过程 )间传递信息,引用调用传递的是实参的 (20)。 ( A)地址 ( B)类型 ( C)名称 ( D)值 25 弱类型语言 (动态类型语言 )是指不需要进行变量对象类型声明的语言。( 50)属于弱类型语言。 ( A) Java ( B) C C+ ( C) Pvthon ( D) C# 26 可用于编写独立程序和快速脚本的语言是 (20)。 ( A) Python ( B) Prolog ( C) JaVa ( D) C# 27 对于逻辑表达式 “xandyornotz”, and、 or、 not分别
11、是逻辑与、或、非运算,优先级从高到低为 not、 and、 or, and、 or为左结合, not为右结合,若进行短路计算,则 (20). ( A) x为真时,整个表达式的值为真,不需要计算 y和 z的值 ( B) x为假时,整个表达式的值为假,不需要计算 y和 z的值 ( C) x为真时,根据 y的值决定是否需要计算 z的值 ( D) x为假时,根据 y的值决定是否需要计算 z的值 28 函数 (过程 )调用时,常采用传值与传地址两种方式在实参和形参间传递信息。以下叙述中,正确的是 (50)。 ( A)在传值方式下,将形参的值传给实参,因此,形参必须是常量或变量 ( B)在传值方式下,将实
12、参的值传给形参,因此,实参必须是常量或变量 ( C)在传地址方式下,将形参的值传给实参,因此,形参必须有地址 ( D)在传地址方式下,将实参的值传给形参,因此,实参必须有地址 29 若 C程序的表达式中引用了未赋初值的变量,则 (20)。 ( A)编译 时一定会报告错误信息,该程序不能允许 ( B)可以通过编译并运行,但运行时一定会报告异常 ( C)可以通过编译,但链接时一定会报告错误而不能运行 ( D)可以通过编译并运行,但运行结果不一定是期望的结果 30 在 KMP模式匹配算法中,需要求解模式串 p的 next函数值,其定义如下 (其中, i为模式串字符的序号 )。对于模式串 “abaab
13、aca”,其 next函数值序列为 (57)。( A) 1111111 ( B) 1122341 ( C) 1234567 ( D) 1122334 31 若一种程序设计语言规定其程 序中的数据必须具有类型,则有利于 (22)。 在翻译程序的过程中为数据合理分配存储单元 埘参与表达式计算的数据对象进行检查 定义和应用动态数据结构 规定数据对象的取值范围及能够进行的运算 对数据进行强制类型转换 ( A) ( B) ( C) ( D) 32 以下关于高级程序设计语言翻译的叙述中,正确的是 (48)。 ( A)可以先进行语法分析,再进行词法分析 ( B)在语法分析阶段可以发现程序中的所有错误 ( C
14、)语义分析阶段的工作与目标机器的体系结构密切相关 ( D)目标 代码生成阶段的工作与目标机器的体系结构密切相关 33 传值与传地址是函数调用时常采用的信息传递方式, (50)。 ( A)在传值方式下,是将形参的值传给实参 ( B)在传值方式下,形参可以是任意形式的表达式 ( C)在传地址方式下,是将实参的地址传给形参 ( D)在传地址方式下,实参可以足任意形式的表达式 34 以下关于汇编语言的叙述中,错误的是 (50)。 ( A)汇编语言源程序中的指令语句将被翻译成机器代码 ( B)汇编程序先将源程序中的伪指令翻译成机器代码,然后再翻译指令语句 ( C)汇编程序以汇 编语言源程序为输入,以机器
15、语言表示的目标程序为输出 ( D)汇编语言的指令语句必须具有操作码字段,可以没有操作数字段 35 下面 C程序段中 count+语句执行的次数为 (64)。 for(inti=1; i*=2) for(intj=1; j ( A) 15 ( B) 16 ( C) 3l ( D) 32 36 程序的三种基本控制结构是 (33)。 ( A)过程、子程序分程序 ( B)顺序、选择和重复 ( C)递归、堆栈和队列 ( D)调用、返回和跳转 37 以下关于解释程序和编译程序的叙述中,正确的是 (20)。 ( A)编译程序和解释程序都生成源程序的目标程序 ( B)编译程序和解释程序都不生成源程序的目标程序
16、 ( C)编译程序生成源程序的目标程序,解释程序则不然 ( D)编译程序不生成源程序的目标程序,而解释程序反之 38 在对高级语言源程序进行编译的过程中,为源程序中变量所分配的存储单元的地址属于 (22)。 ( A)逻辑地址 ( B)物理地址 ( C)接口地址 ( D)线性地址 38 函数 t、 f的定义如下所示,其中, a是整型全局变量。设调用函数 t前 a的值为5,则在函数中以传值调用 (call byvalue)方式调用函数 f时,输出为 (49);在函数 t中以引用调用 (callbyreference)方式调用函数时,输出为 (50)。39 (49) ( A) 12 ( B) 16
17、( C) 20 ( D) 24 40 (50) ( A) 12 ( B) 16 ( C) 20 ( D) 24 40 编译过程中,对高级语言程序语句的翻译主要考虑声明语句和可执行语句。对声明语句,主要是将需要的信息正确地填入合理组织的 (49)中;对可执行语句,则是 (50)。 41 (49) ( A)符号表 ( B)栈 ( C)队列 ( D)树 42 (50) ( A)翻译成机器代码并加以执行 ( B)转换成语法树 ( C)翻译成中间代码或目标代码 ( D)转换成有限自动机 软件水平考试(中级)软件设计师上午(基础知识)历年真题试卷汇编 3答案与解析 1 【正确答案】 B 【试题解析】 本题
18、考查程序语言基础知识。 “中间代码 ”是一种简单且含义明确的记号系统,与具体的机器无关,可以有若干种形式。可以将不同的高级程序语言翻译成同一种中间代码。由于与具体机器无关,使用中间代码有利于进行与机器无关的优化处理,以及提高编译程序的可移植 性。 【知识模块】 程序语言 2 【正确答案】 C 【试题解析】 用户编写的源程序不可避免地会有一些错误,这些错误大致可以分为静态错误和动态错误。动态错误也称动态语义错误,它们发生在程序运行时,例如除数为 0、引用数组元素 F标错误等。静态错误是指编译阶段发现的程序错误,可分为语法错误和静态语义错误,如单词拼写错误、标点符号错、表达式缺少操作数、括号不匹配
19、等有关语言结构上的错误称为语法错误,而语义分析时发现的运算符与运算对象不合法等错误属丁二静态语义错误。 【知识模块】 程序语言 3 【正确答案】 D 【试题解析】 常用的中间代码有后缀式、三元式、四元式和树等形式。 【知识模块】 程序语言 4 【正确答案】 C 【试题解析】 编译程序是将高级语言书写的源程序翻译成与之等价的低级语言的目标程序,编译的工作阶段包括:词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成。解释程序直接执行源程序或源程序的内部形式,一般是读一句源程序,翻译一句,执行一句,不产生目标代码,如 BASIC解释程序。编译程序与解释程序最大的区别之一在于前者生成目
20、标代码,而后者不生成;此 外,前者产生的目标代码的执行速度比解释程序的执行速度要快;后者人机交互好,适于初学者使用。 【知识模块】 程序语言 5 【正确答案】 A 【试题解析】 词法分析是编译过程的第一个阶段,其任务是对源程序从前到后(从左到右 )逐个字符地扫描,从中识别出一个个 “单词 ”符号。语法分析的任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单位。如果源程序中没有语法错误,语法分析后就能正确地构造其语法树。语义分析阶段的主要任务是检查源程序是否含有静态语义错误,并收集类型信息供后面的代码 生成阶段使用。 【知识模块】 程序语言 6 【正确答案】 A 【试题解
21、析】 语法分析是编译过程的一个逻辑阶段。语法分析的任务是在词法分析的基础上将单词序列组合成各类语法短语,如 “程序 ”、 “语句 ”、 “表达式 ”等等。语法分析程序判断源程序在结构上是否正确。题目中,只选项 A可以在语法分析时可以确定。 【知识模块】 程序语言 7 【正确答案】 C 【试题解析】 编译和解释是语言处理的两种基本方式。编译过程包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等阶段,以 及符号表管理和出错处理模块。解释过程在词法、语法和语义分析方面与编译程序的工作原理基本相同,但是在运行用户程序时,它直接执行源程序或源程序的内部形式。这两种语言处理程序的根本
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 上午 基础知识 历年 汇编 答案 解析 DOC
