[计算机类试卷]软件水平考试中级软件设计师上午(基础知识)历年真题试卷汇编2及答案与解析.doc

上传人:bonesoil321 文档编号:506718 上传时间:2018-11-29 格式:DOC 页数:18 大小:76.50KB
下载 相关 举报
[计算机类试卷]软件水平考试中级软件设计师上午(基础知识)历年真题试卷汇编2及答案与解析.doc_第1页
第1页 / 共18页
[计算机类试卷]软件水平考试中级软件设计师上午(基础知识)历年真题试卷汇编2及答案与解析.doc_第2页
第2页 / 共18页
[计算机类试卷]软件水平考试中级软件设计师上午(基础知识)历年真题试卷汇编2及答案与解析.doc_第3页
第3页 / 共18页
[计算机类试卷]软件水平考试中级软件设计师上午(基础知识)历年真题试卷汇编2及答案与解析.doc_第4页
第4页 / 共18页
[计算机类试卷]软件水平考试中级软件设计师上午(基础知识)历年真题试卷汇编2及答案与解析.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、软件水平考试中级软件设计师上午(基础知识)历年真题试卷汇编 2及答案与解析 1 (2013年下半年上午试题 48)将高级语言程序翻译为机器语言程序的过程中,常引入中间代码,其好处是 _。 ( A)有利于进行反编译处理 ( B)有利于进行与机器无关的优化处理 ( C)尽早发现语法错误 ( D)可以简化语法和语义分析 2 (2013年下半年上午试题 49)对高级语言源程序进行编译的过程中,有穷自动机(NFA或 DFA)是进行 _。 ( A)词法分析 ( B)语法分析 ( C)语义分析 ( D)出错处理 3 5(2013年下半年上午试题 50)弱类型语言 (动态类型语言 )是指不需要进行变量对象类型

2、声明的语言。 _属于弱类型语言。 ( A) Java ( B) C C+ ( C) Python ( D) C# 4 (2013年上半年上午试题 20)以下关了二解释程序和编译程序的叙述中,正确的是 _。 ( A)编译程序和解释程序都生成源程序的目标程序 ( B)编译程序和解释程序都不生成源程序的目标程序 ( C)编译程序生成源程序的目标程序,解释程序则不然 ( D)编译程序不生成源程 序的目标程序,而解释程序反之 5 (2013年上半年上午试题 21)以下关于传值调用与引用调用的叙述中,正确的是_。 在传值调用方式下,可以实现形参和实参间双向传递数据的效果 在传值调用方式下,实参可以是变量,

3、也可以是常量和表达式 在引用调用方式下,可以实现形参和实参间双向传递数据的效果 在引用调用方式下,实参可以是变量,也可以是常量和表达式 ( A) ( B) ( C) ( D) 6 (2013年上半年上午试题 22)在对高级语言源程 序进行编译的过程中,为源程序中变量所分配的存储单元的地址属于 _。 ( A)逻辑地址 ( B)物理地址 ( C)接口地址 ( D)线性地址 7 (2013年上半年上午试题 48)以下关于语言 L=anbn n 1的叙述中,正确的是_。 ( A)可用正规式 “aa*bb*”描述,但不能通过有限自动机识别 ( B)可用正规式 “ambm”表示,也可用有限自动机识别 (

4、C)不能用正规式表示,但可以用有限自动机识别 ( D)不能用正规式表示,也不能通过有限自动机识别 7 (2013年上半年上午 试题 49、 50)编译过程中,对高级语言程序语句的翻译主要考虑声明语句和可执行语句。对声明语句,主要是将需要的信息正确地填入合理组织的 _中;对可执行语句,则是 _。 8 (49) ( A)符号表 ( B)栈 ( C)队列 ( D)树 9 (50) ( A)翻译成机器代码并加以执行 ( B)转换成语法树 ( C)翻译成中间代码或目标代码 ( D)转换成有限自动机 10 (2012年下半年上午试题 20)可用于编写独立程序和快速脚本的语言是 _。 ( A) Python

5、 ( B) Prolog ( C) Java ( D) C# 11 (2012年下半年上午试题 21)语言 L=ambm m0, n1的正规表达式是_。 ( A) aa*bb* ( B) a*bb* ( C) aa*b* ( D) a*b* 12 (2012年下半年上午试题 22)算术表达式 (a b)*cc+d的后缀式是 _(-、 +、 *表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例 )。 ( A) a b c d-*+ ( B) a b-c d*+ ( C) a b-c*d+ ( D) a b c-d*+ 13 (2012年下半年上午试题 48)将高级语言源程序翻译成目标程序的

6、是 _。 ( A)解释程序 ( B)编译程序 ( C)链接程序 ( D)汇编程序 14 (2012年下半年上午试题 49)在对程序语言进行翻译的过程中,常采用一些与之等价的中间代码表示形式。常用的中间代码表示不包括 _。 ( A)树 ( B)后缀式 ( C)四元式 ( D)正则式 15 (2012年下半年上午试题 50)以下关于程序错误的叙述中,正确的是 _。 ( A)编译正确的程序必然不包含语法错误 ( B)编译正确的程序必然不包含语义错误 ( C)除数为 0的错误可以在语义分析阶段检查出来 ( D)除数为 0的错误可以在语法分析阶段检查出来 16 (2012年上半年上午试题 20)对于逻辑

7、表达式 “x and y or not z”, and、 or、 not分别是逻辑与、或、非运算,优先级从高到低为 not、 and、 or, and、 or为左结合,not为右结合,若进行短路计算,则 _。 ( A) x为真时,整个表达式的值为真,不需要计算 y和 z的值 ( B) x为假时,整个表达式的值为假,不需要计算 y和 z的值 ( C) x为真时,根据 y的值决定是否需要计算 z的值 ( D) x为假时,根据 y的值决定是否需要计算 z的值 17 (2012年上半年上午试题 21)对二维数组 a1 N, 1 N中的一个元素 ai,j(1i, jN),存储在 ai, j之前的元素个数

8、 _。 ( A)与按行存储或按列存储方式无关 ( B)在 i=j时与按行存储或按列存储方式无关 ( C)在按行存储方式下比按列存储方式下要多 ( D)在按行存储方式下比按列存储方式下要少 18 (2012年上半年上午试题 22)算术表达式 x-(y+c)*8的后缀式是 _(-、 +、 *表示算术的减、加、乘运算,运算符的优先级和结合型遵循惯例 )。 ( A) x y c 8-+* ( B) x y-c+8* ( C) x y c 8*+- ( D) x y c+8*- 19 (2012年上半年上午试题 48)图 2-4所示为一个有限自动机 (其中, A是初态、 C是终态 ),该自动机所识别的宁

9、符串的特点是 _。 ( A)必须以 11结尾的 0、 1串 ( B)必须以 00结尾的 0、 1串 ( C)必须以 01结尾的 0、 1串 ( D)必须以 10结尾的 0、 1串 20 (2012年上半年上午试题 50)函数 (过程 )调用时,常采用传值与传地址两种方式在实参和形参间传递信息。以下叙述中,正确的是 _。 ( A)在传值方式下,将形参的值传给实参,因此,形参必须是常量或变量 ( B)在传值方式下,将实参的值传给形参,因此,实参必须是常量或变量 ( C)在传地址方式下,将形参的值传给实参,因此,形参必须有地址 ( D)在传地址方式下,将实参的值传给形参,因此,实参必须有地址 21

10、(2012年上半年上午试题 51)编译和解释是实现高级程序设计语言翻译的两种基本形式。以下关 于编译与解释的叙述中,正确的是 _。 ( A)在解释方式下,对源程序不进行词法分析和语法分析,直接进行语义分析 ( B)在解释方式下,无须进行词法、语法和语义分析,而是直接产生源程序的目标代码 ( C)在编译方式下,必须进行词法、语法和语义分析,然后产生源程序的目标代码 ( D)在编译方式下,必须先形成源程序的中间代码,然后再产生与机器对应的目标代码 22 (2013年下半年上午试题 23)假设系统采用 PV操作实现进程同步与互斥,若有n个进程共享一台扫描仪,那么当信号量 S的值为一 3时,表示系统

11、中有 _个进程等待使用扫描仪。 ( A) 0 ( B) n-3 ( C) 3 ( D) n 23 (2013年下半年上午试题 24)假设段页式存储管理系统中的地址结构如图 3 5所示,则系统中 _。( A)页的大小为 4K,每个段的大小均为 4096个页,最多可有 256个段 ( B)页的大小为 4K,每个段最大允许有 4096个页,最多可有 256个段 ( C)页的大小为 8K,每个段的大小均为 2048个页,最多可有 128个段 ( D)页的大小为 8K,每个段最大允许有 2048个页,最多可有 128个段 23 (2013年下半年上午试题 25、 26)某文件管理系统采用位示图 (bit

12、map)记录磁盘的使用情况。如果系统的字长为 32位,磁盘物理块的大小为 4MB,物理块依次编号为: 0、 1、 2、 ,位示图字依次编号为: 0、 1、 2、 ,那么 16385号物理块的使用情况在位示图中的第 _个字中描述;如果磁盘的容量为 1000GB,那么位示图需要 _个字来表示。 24 (25) ( A) 128 ( B) 256 ( C) 512 ( D) 1024 25 (26) ( A) 1200 ( B) 3200 ( C) 6400 ( D) 8000 25 (2013年下半年上午试题 27、 28)假设系统中有三类互斥资源 R1、 R2和 R3,可用资源数分别为 10、

13、5和 3。在 T0时刻系统中有 P1、 P2、 P3、 P4和 P5五个进程,这些进程对资源的最大需求量和已分配资源数如表 3 2所示,此时系统剩余的可用资源数分别为 _。如果进程按 _序列执行,那么系统状态是安全的。26 (27) ( A) 1、 1和 0 ( B) 1、 1和 1 ( C) 2、 1和 0 ( D) 2、 0和 1 27 (28) ( A) P1P2P4P 5P3 ( B) P5P2P4P3P1 ( C) P4P2P1P5P3 ( D) P5P1P4P2P3 软件水平考试中级软件设计师上午(基础知识)历年真题试卷汇编 2答案与解析 1 【正确答案】 B 【试题解析】 本题考

14、查程序语言基础知识。 中间代码是一种简单且含义明确的记号系统,与具体的机器无关,可以有若干种形式。可以将不同的高级程序语言翻译成同一种中间代码。由于与具体机器无关,使用中间代码有利于进行与机器无关的优化处理,以及提高编译程序的可移植性。 【知识模块 】 程序语言基础知识 2 【正确答案】 A 【试题解析】 DFA对于同一个输入只有一个确定的下一状态,所以词法分析器优先采用它。 【知识模块】 程序语言基础知识 3 【正确答案】 C 【试题解析】 根据定义可知,由于 Java、 C C+、 C都需要进行变量对象声明,所以其均为强类型语言。而 Python不需要,它属于弱类型语言。 【知识模块】 程

15、序语言基础知识 4 【正确答案】 C 【试题解析】 编译程序也称编译器,将源程序翻译成目标语言程序,然后住计算机上运行目 标程序。 解释程序也称解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中问代码后再加以执行。 【知识模块】 程序语言基础知识 5 【正确答案】 C 【试题解析】 传值调用最显著的特征是被调用的函数内部对形参的修改不影响实参的值。传值调用的参数传递和被调用函数内对参数的使用主要按下述原则处理:函数定义时形参被当作局部变量看待,在函数被调用时为形参分配存储单元;调用函数前,首先计算实参的值,调用时将实参的值放入形参的存储单元;被调用函数内部对形参单元中的数据进行直接访问

16、。 引用调用是将实参的地址传递给形参,使得形参的地址就是对应实参的地址。引用调用的参数传递和被调用函数内对参数的使用主要按下述原则处理:函数定义时形参被当作局部变量看待,在函数被调用时为形参分配存储单元;调用时将实参的地址放入形参的存储单元;被调用函数内部对形参单元中的数据 (地址 )进行间接访问。 【知识模块】 程序语言基础知识 6 【正确答案】 A 【试题解析】 在编译时产生的目标文件都是从地址 0开始的,在连接时将各个目标文件进行符号替换,这时会修改相应的地址,最后产生一个从地址 0开始的 可执行文件。在该可执行文件中的地址称为逻辑地址。 【知识模块】 程序语言基础知识 7 【正确答案】

17、 D 【试题解析】 根据正规式和有限自动机的规范,结合题中给出的语言 L,很明显都无法将语言 L表示和识别出来。 【知识模块】 程序语言基础知识 【知识模块】 程序语言基础知识 8 【正确答案】 A 【试题解析】 编译程序的功能是把用高级语言书写的源程序翻译成与之等价的目标程序 (汇编语言或机器语言 )。编译程序的工作过程可以分为 6个阶段:词法分析、语法分析、语义分析、中间代码生成 、代码优化、目标代码生成。实际的编译器中可能会将其中的某些阶段结合在一起进行处理。各个阶段在逻辑上可以划分为前端和后端两部分。前端包括从词法分析到中间代码生成各个阶段的工作,后端包括代码优化和目标代码生成阶段。这

18、样,以中间代码为分水岭,把编译器分成了与机器有关的部分和与机器无关的部分。符号表的作用是记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成,在编译过程中需要对符号表进行快速有效地查找、插入、修改和删除等操作。 【知识模块】 程序语言基础知识 9 【正确答案】 C 【知识 模块】 程序语言基础知识 10 【正确答案】 A 【试题解析】 Python是一种面向对象的解释型程序设计语言,可用于编写独立程序、快速脚本和复杂应用的原型。 Python也是一种脚本语言,它支持对操作系统底层的访问。 Prolog是一种逻辑型语言。 Prolog程序是一系列事实、数据对象或事实间的具体关系和规则

19、的集合。 Prolog有很强的推理功能,适用于书写自动定理证明、专家系统、自然语言理解等问题的程序。 Java是一种面向对象的程序设计语言,能开发应用在 Internet上且具有软 、硬件独立性和交互能力的程序。 Java可以一次编写而到处运行。 C#是微软公司发布的一种面向对象的、运行于 NET Framework之上的高级程序设计语言。 C#看起来与 Java有着惊人的相似:它包括了诸如单一继承、接口、与 Java几乎同样的语法和编译成中间代码再运行的过程。但是 C#与 Java也有着明显的不同,它借鉴了 Delphi的一个特点,与 COM(组件对象模型 )是直接集成的,而且它是微软公司

20、NET windows网络框架的主角。 【知识模块】 程序语言基础知识 11 【正确答案】 B 【试题解析】 m0, am说明可以有 0个 a或者多个 a; n1, bn说明至少有 1个 b或者多个 b。 a*表示由 0个或者多个 a构成的集合,可以表示 am m0; b*表示由 0个或者多个 b构成的集合, bb*才可以表示 bn n1。 【知识模块】 程序语言基础知识 12 【正确答案】 C 【试题解析】 后缀表达式的计算是通过栈来实现的。算术表达式 (a-b)*c+d首先计算 a-b,因此 a、 b先入栈,当遇到 “一 ”号时出栈,得出结果并压入栈;然后计算与 c相乘的结果,将 c入栈,

21、遇到 “*”号时出栈,计算 乘积并将结果入栈;最后进行与 d的加法运算,将 d入栈,遇到 “+”时出栈,计算结果。 【知识模块】 程序语言基础知识 13 【正确答案】 B 【试题解析】 编译程序的功能是把某高级语言书写的源程序翻译成与之等价的目标程序。解释程序是另一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但在运行用户程序时,它直接执行源程序或源程序的中间表示形式。解释程序不产生源程序的目标程序,这是它和编译程序的主要区别。 【知识模块】 程序语言基础知识 14 【正确答案】 D 【试题解析】 常用的中间代码有后缀式、三元式、四元式和树等形式。 【知识模块】 程序

22、语言基础知识 15 【正确答案】 C 【试题解析】 用户编写的源程序不可避免地会有一些错误,这些错误大致可以分为静态错误和动态错误。动态错误也称动态语义错误,它们发生在程序运行时,如除数为 0、引用数组元素下标错误等。静态错误是指编译阶段发现的程序错误,可分为语法错误和静态语义错误。单词拼写错误、标点符号错误、表达式缺少操作数、括号不匹配等有关语言结构上的错误称为语法错误,而语义分析时发现的运算符与运算对象不 合法等错误属于静态语义错误。 【知识模块】 程序语言基础知识 16 【正确答案】 C 【试题解析】 “x and y or not z”可以表示为 “(x and y)or(not z)

23、”。 x为真时,如果y为真,则 x and y的结果为真,此时不需要计算 z的值,整个表达式的值为真;如果 y为假,则 x and y的结果为假,此时整个表达式的值由 z决定,如果 z为真,则 not z为假,最终结果为假,反之则为真。 x为假时,不需要计算 y的值, x and y的结果为假,整个表达式的值由 z决定。 【知识 模块】 程序语言基础知识 17 【正确答案】 B 【试题解析】 存储在 ai, j之前的元素个数与按行存储或按列存储方式有关。按行存储时,存储在 ai, j之前的元素个数为 (i-1)*N+j-1=iN+j-N-1;按列存储时,存储在 ai, j之前的元素个数为 (j

24、-1)*N+i-1=jN+i-N-1。很显然, i j时,在按行存储方式下比按列存储方式下要多; i j时,在按行存储方式下比按列存储方式下要少。 【知识模块】 程序语言基础知识 18 【正确答案】 D 【试题解析】 后缀表达 式不包含括号,运算符放在两个运算对象的后面,所有的汁算按运算符出现的顺序,严格从左向右进行 (不再考虑运算符的优先规则 ),如(2+1)*3的后缀式为 21+3*。运用后缀表达式进行计算的具体做法是:建立一个栈S,从左到右读后缀表达式,如果读到操作数就将它压入栈 S中,如果读到 n冗运算符 (即需要参数个数为 n的运算符 )则取出由栈项向下的 n项按操作符运算,再将运算

25、的结果代替原栈顶的 n项,压入栈 S中。如果后缀表达式未读完,则重复上面过程,最后输出栈项的数值则为结束。 【知识模块】 程序语言基础知识 19 【正确 答案】 C 【试题解析】 有限自动机可识别的字符串,是指从有限自动机的初态出发,存在一条到达终态的路径,其上的标记所构成的字符串。本题 C是终态, C的前一状态只能是 B,由 B到 C输入的是 1; B的前一状态可以是 A,也可以是 B,也可以是 C,但输入的都是 0。可见,该有限自动机识别的串必须以 01结尾。 【知识模块】 程序语言基础知识 20 【正确答案】 D 【试题解析】 传值调用是指传递变量值的调用方式。在这种调用方式中,实参使用

26、变量名或者表达式,形参使用变量名。在调用时,调用函数将实参值拷贝到一个副本给形参,即使形参按顺序从对应的实参中获得值,这就相当于将实参值对应地赋给形参,使形参获值。传地址调用是指在调用时传递变量地址值的传值调用。传地址调用时要求调用函数的实参用地址值,而被调用函数的形参用指针,于是函数之间进行地址值的传递。这种传递是将实参的变量地址值传递给形参指针,即让形参指针指向实参变量,这种传递方式与调用函数拷贝实参值的副本给形参是不同的,它是让形参指针直接指向实参的变量。 【知识模块】 程序语言基础知识 21 【正确答案】 C 【试题解析】 编译程序是将高级语言书写的 源程序翻译成与之等价的低级语言的目

27、标程序,编译的工作阶段包括词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成。解释程序直接执行源程序或源程序的内部形式,一般是读一句源程序,翻译一句,执行一句,不产生目标代码,如 Basic解释程序。编译程序与解释程序最大的区别之一在于前者生成目标代码,而后者不生成;此外,前者产生的目标代码的执行速度比解释程序的执行速度要快;后者人机交互好,适合于初学者使用。 【知识模块】 程序语言基础知识 22 【正确答案】 C 【试题解析】 本题考查操作系 统的设备管理。 PV操作与信号量的处理相关, P表示通过的意思, V表示释放的意思。执行 P操作时信号量 S的值减 1,若结果大于等于

28、 0,则 P(S)执行完毕,否则执行 P操作的进程暂停以等待释放。 S为 -3时,表示有 3个进程等待扫描。 【知识模块】 操作系统知识 23 【正确答案】 B 【试题解析】 页内地址位数是 12位,大小为 4K。页号地址为 12 24位,最多可以容纳 4096个页。段号地址为 8位,最多可以容纳 256个段。 【知识模块】 操作系统知识 【知识模块】 操作系统知识 24 【正确 答案】 C 【试题解析】 16385 32=512,所以可以有 512个字描述; 10001024 432=8000,所以位图需要 8000个字来表示。 【知识模块】 操作系统知识 25 【正确答案】 D 【知识模块

29、】 操作系统知识 【知识模块】 操作系统知识 26 【正确答案】 D 【试题解析】 可用资源数减去已分配资源数就是剩余的可用资源数,所以第 (27)题答案选 D。对于第 (28)题,由于 R1、 R2、 R3的可用资源数为 2、 0、 1,如果执行 P1,需要 R1资源数为 5-1=4 2,所以选项 A错;执行 P5后会将已分配的资源数还给 R1、 R2、 R3,此时 R1、 R2、 R3的可用资源数为 3、 1、 1,再执行 P1时仍然会出现死锁,即需要 R1资源数为 5-1=4 3,所以选项 D错;如果执行P4,需要 R2资源数为 3-1=2 0,所以选项 C错。 【知识模块】 操作系统知识 27 【正确答案】 B 【知识模块】 操作系统知识

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1