[计算机类试卷]软件水平考试中级软件设计师上午基础知识(程序语言与语言处理程序)模拟试卷1及答案与解析.doc
《[计算机类试卷]软件水平考试中级软件设计师上午基础知识(程序语言与语言处理程序)模拟试卷1及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试中级软件设计师上午基础知识(程序语言与语言处理程序)模拟试卷1及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试中级软件设计师上午基础知识(程序语言与语言处理程序)模拟试卷 1及答案与解析 1 下面关于编程语言的各种说法中, ( )是不正确的。 ( A)逻辑型语言适用于书写自动定理证明 ( B) Smalltalk、 C+、 Java、 C#都是面向对象语言 ( C)函数型语言适用于人工智能领域 ( D)由于 C语言程序是由函数构成的,因此它是一种函数型语言 2 序言性注释是指在每个程序或模块开头的一段说明,起辅助理解程序的作用,一般包括:程序的表示、名称和版本号,程序功能描述,接口与界面描述,输入输出数据说明,开发历史,与运行环境有关的信息等。下列叙述中不属于序言性注释功能的是 ( )。
2、( A)程序对硬件、软件资源的要求 ( B)重要变量和参数说明 ( C)嵌入在程序中的 SQL语句 ( D)程序开发的原作者、审查者、修改者、编程日期等 3 传值调用和引用调用是常用的函数调用方式,下列描述中正确的是 ( )。 ( A)在传值调用方式下,是将形参的值传给实参 ( B)在传值调用方式下,形参可以是任意形式的表达式 ( C)在引用调用方式下,是将实参的地址传给形参 ( D)在引用调用方式下,实参 可以是任意形式的表达式 4 编译器对高级语言源程序的处理过程可以划分为词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成等几个阶段,其中, ( )并不是每种编译器都必需的。
3、 ( A)语法分析和语义分析 ( B)中间代码生成和目标代码生成 ( C)中间代码生成和代码优化 ( D)代码优化和目标代码生成 5 高级语言程序编译的过程可以分成干个阶段,其中把单词符号分解成句子属于( )阶段的工作。 ( A)词法分析 ( B)语法分析 ( C)语义分析 ( D)代码生成 6 有限 自动机可分为确定的有限自动机和不确定的有限自动机。那么确定的有限自动机 A与不确定的有限自动机 B等价,则 ( )。 ( A) A与 B的状态个数相等 ( B) A与 B可识别的记号完全相同 ( C) B能识别的正规集是 A所识别正规集的真子集 ( D) A能识别的正规集是 B所识别正规集的真子
4、集 7 以下关于编译和解释程序的描述,正确的是 ( )。 ( A)解释程序不需要进行词法和语法分析,而是直接分析源程序的语义并产生目标代码 ( B)编译程序不需要进行词法和语法分析,而是直接分析源程序的语义并产生目标代码 ( C)编译程序不生成源程序的目标代码,而解释程序则产生源程序的目标代码 ( D)编译程序生成源程序的目标代码,而解释程序则不产生源程序的目标代码 8 某确定性有限自动机 (DFA)的状态转换图如图 2 1所示,令 d=0 1 2 9,则以下字符串中,能被该 DFA接受的是 ( )。 ( A) 80008 ( B) 12 E+5 ( C)一 968 12 ( D) 12 57
5、6E10 9 关于以下描述错误的是 ( )。 ( A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式 ( B)计算机只 能处理由 0和 1的代码构成的二进制指令或数据 ( C)每一种高级语言都有它对应的编译程序 ( D) C语言源程序经过 C语言编译程序编译之后生成一个后缀为 EXE的二进制文件 10 下列关于编译系统对某高级语言进行翻译的叙述中,错误的是 ( )。 ( A)不同的高级程序语言可以产生同一种中间代码 ( B)在机器上运行的目标程序完全独立于源程序 ( C)目标代码生成阶段的工作与目标机器的体系结构相关 ( D)经过反编译,可以将目标代码还原成源代码 11 对于
6、以下编号为 、 、 的正则式,正确的说法是 ( )。 (a*b)*b (a b)*b (b* a*)*b ( A)正则式 、 等价 ( B)正则式 、 等价 ( C)正则式 、 等价 ( D)正则式 、 , 等价 12 集合 L=ambm m0)( )。 ( A)可用正规式 “a*b”表示 ( B)不能用正规式表示,但可用非确定的有限自动机识别 ( C)可用正规式 “ambm”表示 ( D)不能用正规式表示,但可用上下文无关文法表示 13 程序语言的大多数语法现象可用上下文无关文法描述。对于一个上下文无关文法 G=(N, T, P, S), 其中 N是非终结符号的集合, T是终结符号的集合,
7、P是产生式集合, S是开始符号。令集合 V=N T,那么 G所描述的语言是 ( )的集合。 ( A)从 S出发推导出的包含 V和 T中所有符号的串 ( B)从 S出发推导出的只包含 V中所有符号的串 ( C)从 S出发推导出的只包含 T中符号的串 ( D) T中所有符号组成的串 14 某一确定有限自动机 (DFA)的状态转换图如图 2-2所示,与该 DFA等价的正规式是 ( )。 ( A) 10*(0 1)* ( B) (0 0)*1*)* ( C) 1*(011)00)* ( D) (1*(01*0)*)* 15 图 2-3所示为一确定有限自动机的状态转换图,图中的 ( )是可以合并的状态。
8、( A) 0和 1 ( B) 2和 3 ( C) 1和 2 ( D) 0和 3 16 已知函数 f1()、 f2()的定义如下所示,设调用函数 n时传递给形参 x的值是 10,若函数调用 f2(a)以引用调用 (Call By Reference)方式传递信息和以值调用 (Call By Value)方式传递信息,则函数 f1的返回值分别为 ( )。 ( A) 20和 20 ( B) 59和 20 ( C) 59和 98 ( D) 20和 98 17 序设计语言一般都提供多种循环语句,有先判断循环条件再执行循环体的 while语句,也有先执行循环体再判断循环条件的 do-while语句,那么下
9、列描述中正确的是 ( )。 ( A) while循环语句能够实现的功能 dowhile不一定能实现 ( B)循环条件相同时, while语句的执行效率更高 ( C) while语句的循环体执行次数比循环条件的判断次数少 1,而 do一 while语句的循环体执行次数等于循环条件的判断次数 ( D) while语句的循环体执行次数比循环条件的判断次数少 1,而 do一 while语句的循环体执行次数比循环条件的判断次数多 1 18 某一确定性有限自动机 (DFA)的状态转换如图 2-4所示,则以下字符串中,不能被该 DFA接受的是 ( )。 0010 0001 0101 ( A) , ( B)
10、, ( C) , ( D) , , 19 设某程序中定义了全局整型变量 x和 y,且函数 f()的定义如下所示,则在语句“x=3*y+1; ”中 ( )。 int f(int y) int x; x=3*y+1 ; return x; ( A) x和 y均是全局变量 ( B) x是全局变量、 y是局部变量 ( C) x是局部变量、 y是局部变量 ( D) x是局部变量、 y是全局变量 20 下列叙述中正确的是 ( )。 ( A)算法的时间、空间复杂性与实现该算法所采用的程序设计语言相关 ( B)面向对象程序设计语言不支持对一个对象的成员变量进行直接访问 ( C)与汇编语言相比,采用脚本语言编程
11、可获得更高的运行效率 ( D)面向对象程序设计语言不支持过程化的程序设计,只支持面向对象程序设计 21 若程序中存在死循环,那么这属于 ( )错误。 ( A)语法 ( B)语用 ( C)语义 ( D)语境 22 由终结符 0、 1组成且仅包含偶数个 0的串的集合用正规式表示为 ( )。 ( A) (0*0)*1* ( B) (1*(01*0)*)* ( C) (0*0*)*1)* ( D) (011)*(00)* 23 许多程序设计语言规定,程序中的数据都必须具有类型,其作用不包括 ( )。 ( A)便于系统数据分配合理的存储单元 ( B)便于了解数据的取值范围 ( C)便于对参与表达式计算的
12、数据对象进行检查 ( D)便于定义动态数据结构 24 以下关于程序设计语言的描述中,正确的是 ( )。 ( A)在 C语言中,对指针变量进行算术运算是没有意义的 ( B)在 C语言中,指针变量必须由动态产生的数据对象来赋值 ( C)在 C语言中,变量和常量都具有类型属性 ( D)在 C语言中,变量和常量都可以被赋值 25 表达式 a*(b+c)一 d的后缀表达式为 ( )。 ( A) abed*+一 ( B) abe+*d一 ( C) abe*+d一 ( D)一 +*abed 26 已知某文法 GS: SaSa Sb ,从 S推导出的符号串可用 ( )(n0)描述。 ( A) (aba)n (
13、 B) anban ( C) bn ( D) abna 27 下列程序语言, ( )最早是为了教学的目的开发而成的。 ( A) C语言 ( B) Fortran ( C) Prolog ( D) Pascal 28 对于正规式 0*(010101)*0,其正规集中字符串的特点是 ( )。 ( A)开头和结尾必须是 0 ( B) 1必须出现奇数次 ( C) 0不能连续出现 ( D) 1不能连续出现 29 下面的 C程序代码段在运行中会出现 ( )错误。 int i=0; while(i”或标以 “-”,终态结点用双圈表示或标以 “+”,若 f(ki,a)=kj,则从状态结点 ki到状态结点 kj
14、画标记为 a的弧;被 DFA所接受是指从初态开始来终态,所输入的字符串能够按顺序的执行下去,若到某个状态不能往下走得到下一个字符,则认为不可接受。本题的状态图的状态间的字符有一、 d、 E、 .,下面来逐个分析 4个选项: A选项不能被接受。由于 80008都是数字,所以从初态 0出发不经过状态 4,而是直接到状态 1,因为 0和 1之间产生字符为 d,又在状态 1处有 d*,所以表面可以接受 “dddd”形式的 字符串;但是,状态 l之后的产生字符是 E和 .,不再是数字d,若输入全数字则到不了终态 6。所以输入 3857是不能接受的。 B选项不能被接受。从初态 0412 ,就不能再往下走了
15、,因为状态 2后的产生字符是 “一、 d”,不是 “+”,也无法到达终态 6。 C选项能被接受。从初态 04156 ,由于状态 1和 6处的可以反复多个字符,所以本选项正确。 D选项不能被接受。从初态 0156 ,虽然从初态到终态,但无法接受字符E了,所以错误。 9 【正确答案】 D 【试题解析】 本题主要考查 高级程序设计语言的基础知识。下面分别分析一下本题的 4个选项。 由于高级程序设计语言具有可读写、可理解性好等特点,这就要求高级程序设计语言用接近人们习惯的自然语言和数学语言作为语言的表达形式,选项 A的说法正确。 在计算机中,机器可以接受和处理的只能是由 0和 1组成的二进制代码,用高
16、级语言编写的程序都需要经过编译和连接,使其转化为二进制代码才能被机器执行。因此,选项 B的说法正确。 由于高级语言编写的程序都需要经过编译和连接,才能被计算机执行,因此每一种高级语言都有它对应的编译程序, C选项的说法正确。 C语言源程序经过 C语言编译程序编译之后生成一个后缀为 OBJ的二进制文件(称为目标文件 );最后要由 “连接程序 ”把此 OBJ文件与 C语言提供的各种库函数连接起来生成一个后缀为 EXE的可执行文件。因此,选项 D的说法不正确。 10 【正确答案】 D 【试题解析】 本题主要考查对编译系统的理解。 求解这个题目,首先要了解源程序、中间代码、目标代码的关系。其中源程序是
17、指用高级语言编写 的程序,将源程序经过编译,就可以得到中间代码并最终得到目标代码,目标代码就是可以在具体机器上执行的代码,这时源程序和编译程序都不再参与目标程序的执行过程,所以在机器上运行的目标程序是完全独立于源程序的。 另外,目标代码是在机器上运行的代码,所以它的生产与目标机器的体系结构是密切相关的。 中间代码是一种简单且含义明确的记号系统,与具体的机器无关,可以有若干种形式。可以将不同的高级程序语言翻译成同一种中间代码,另外由于与具体机器无关,使用中间代码有利于进行与机器无关的优化处理,以及提高编译程序的可移植性。 编译是将高级语言源程序翻译成机器语言程序 (即目标代码 ),反编译是编译的
18、逆过程。反编译通常不能把可执行文件还原成高级语言源代码,只能转换成功能上等价的汇编程序。 11 【正确答案】 C 【试题解析】 本题主要体现对闭包的理解。 正则闭包:A+=A1 A2 A3 An ( 也就是所有幂的组合 )。闭包: A*=A0 A+(在正则闭包的基础上,加上 A=)。比如 a*=a,aa,aaa, , ),而 (ab)*=ab,abab,ababab, , )。 正规式中的运算符 “ “.”、 “*”分别称为 “或 ”、 “连接 ”和 “闭包 ”。在正规式的书写中,连接运算符 “.”可省略。运算的优先级从高到低顺序排列为:“*”、 “.”、 “ ”。 那么在本题中, (a*b*
19、)*b所表示的含义就是以 b结尾的且只包含 a和 b字符的任意字符串。 在正则式 (a b)*b中,闭包内的可以选 a也可选b,而且 a和 b在最终字符串中的顺序没有确定,可以是任意的,因此该正则式所表示的含义也是以 b结尾的且只包含 a和 b字符的任意字符串。 在正则式 (1)b*a*)*中,括号包内的可以选 a*也可选 b*,然后对结果进行闭包,同样的道理, a和 b在最终字符串中的顺序没有确定,可以是任意的,因此该正则式所表示的含义也是以 b结尾的且只包含 a和 b字符的任意字符串。 综上所述,可知题目中给出的三个正则式都表示以 b结尾的且只包含 a和 b字符的任意字符串,因此是等价的。
20、 12 【正确答案】 D 【试题解析】 用正规式定义一些简单的语言,但是很多复杂一些的语言不能用正规式表达。例如,正规式不能用于描述配对或嵌套的结构,具体的例子有由配对括号构成的串的集合不能用正规式描述,语句的嵌套结构也不能用正规式描述;还有,重复串也不能用正规式表示,如集合 wcw w是 a和 b的串 不能用正规式描述。 正规式只能表示给定结构的固定次数的重复或没有指定次数的重复。在本题中,指定了重复的次数 m,但 m又不是固定的,所以也不能使用正规式表示。 有限状态自动机识别的语言是正规语言。对于每个非确定的有限自动机,都有一个与其等价的正规式。因此,题目中的集合既然不能使用正规式表达,也
21、就不能用非确定的有限自动机识别。 上下文无关文法的描述功能比正规式更强,正规式可以描述的每种结构都可以用上下语言无关文法来描述,但反之不然。上下文无关文法能表示次数不固定的重复。因此本 题的答案选 D。 13 【正确答案】 C 【试题解析】 对于一个上下文无关文法 G=(N, T, P, S),如果它的产生式规则都取如下的形式: V w,这里 V VN, w (VT VN)*。开始符号是一种特殊的非终结符,而所谓终结符号是组成语言的基本符号,从语法分析的角度来看,终结符号是一个语言不能再进行分割的基本符号。上下文无关文法取名为 “上下文无关 ”的原因就是因为字符 V总可以被字串 w自由替换,而
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 上午 基础知识 程序语言 语言 处理 程序 模拟 答案 解析 DOC

链接地址:http://www.mydoc123.com/p-506708.html