试卷详情

2009年下半年(上午)《软件设计师》真题

开始做题

试卷预览

单选题

字符串采用链表存储方式时,每个结点存储多个字符有助于提高存储密度。若采用结点大小相同的链表存储串,则串比较、求子串、串连接、串替换等串的基本运算中,(  )。

查看答案开始考试

正确答案:D

本题解析:

本题考查数据结构基础知识。

在串比较、求子串、串连接、串替换运算中,除了串替换外,其他运算都不会改变串中的内容,因此,在链表存储方式下进行串替换最不方便。

单选题

对于长度为m(m>1)的指定序列,通过初始为空的一个栈、一个队列后,错误的叙述是(  )。

查看答案开始考试

正确答案:D

本题解析:

队列的特点是先进先出。对于队列,元素的进入次序和出队的次序相同,如,入队的序列为a、b、c,则出队的序列也为a、b、c。对于栈则不同,栈的运算特点是后进先出。若入栈序列为a、b、c,则出栈序列可能为a、b、c,a、c、b,b、a、c,b、c、a或者c、b、a,而c、a、b则不行,因此,入队序列与出队序列关系为1:1,而入栈序列与出栈序列关系为1:n(n≥1)。

单选题

单向链表中往往含有一个头结点,该结点不存储数据元素,一般令链表的头指针指向该结点,而该结点指针域的值为第一个元素结点的指针。以下关于单链表头结点的叙述中,错误的是(  )。

查看答案开始考试

正确答案:D

本题解析:

本题考查数据结构基础知识。

含有头结点的单链表如下图所示。

中级软件设计师,历年真题,2009年下半年(上午)《软件设计师》真题

在链表中加入头结点后,查找表中某一元素仍然要从头指针出发,顺序找到目标元素或失败时找到表尾为止,时间复杂度与表长成正比。

单选题

软硬件故障常造成数据库中的数据破坏。数据库恢复就是(  )。

查看答案开始考试

正确答案:D

本题解析:

本题考查关系数据库事务处理方面的基础知识。为了保证数据库中数据的安全可靠和正确有效,数据库管理系统(DBMS)提供数据库恢复、并发控制、数据完整性保护与数据安全性保护等功能。数据库在运行过程中由于软硬件故障可能造成数据被破坏,数据库恢复就是在尽可能短的时间内把数据库恢复到故障发生前的状态。

单选题

由某上下文无关文法M[S]推导出某句子的分析树如下图所示,则错误的叙述是(  )。

中级软件设计师,历年真题,2009年下半年(上午)《软件设计师》真题

查看答案开始考试

正确答案:A

本题解析:

本题考查程序语言基础知识。

推导就是从文法的开始符号S出发,反复使用产生式,将产生式左部的非终结符替换为右部的文法符号序列(展开产生式用=>表示),直到产生一个终结符的序列时为止。从题中给出的分析树可得到如下的一个最左推导过程

S=>aAcB=>aAaBcB=>acaBcB =>acabcB=>acabcbScA=>acabcbBdcA=>acabcbdcA=>acabcbdcc,因此,acabcbdcc是该方法推导出的一个句子。其中用到的产生式如下:

S->aAcB S->Bd

A->AaB? A->c

B->bScA B->b? B->ε

从起始符号S出发也可以如下推导:S=>Bd=>εd=>d,即该文法推导出的句子也可以为d,因此选项A错误。

单选题

若一个程序语言可以提供链表的定义和运算,则其运行时的(  )。

查看答案开始考试

正确答案:B

本题解析:

本题考查程序语言基础知识。

链表中的结点空间需要程序员根据需要申请和释放,因此,数据空间应采用堆存储分配策略。

单选题

以下关于面向对象设计的叙述中,错误的是(  )。

查看答案开始考试

正确答案:D

本题解析:

本题考查面向对象设计的基本原则。面向对象设计中存在很多原则,其中高层模块不应该依赖于底层模块就是其中一条。传统的结构化设计中,一般的高层模块需要调用或使用底层模块,导致高层模块必须依赖于底层模块,但借助面向对象中的抽象类、接口等一系列机制,可以使得高层模块仅仅和接口耦合,而和实际的底层模块没有直接关联。

单选题

以下关于面向对象分析的叙述中,错误的是(  )。

查看答案开始考试

正确答案:B

本题解析:

本题考查面向对象分析的基本概念。

面向对象分析主要回答软件系统需要解决什么问题,在面向对象分析阶段,并不考虑系统实现以及系统的测试问题,强调建立独立于系统实现的系统分析模型,其关注点仍然侧重于问题域。

单选题

以下关于类和对象的叙述中,错误的是(  )。

查看答案开始考试

正确答案:B

本题解析:

本题考查面向对象中类和对象的基本概念。

面向对象中,类是对象的模板,描述了一组对象共有的成员属性和方法。类是一组对象的抽象描述,通过类可以产生一个或多个对象,这些对象具有相同的属性和方法。

单选题

某程序的程序图如下所示,运用McCabe度量法对其进行度量,其环路复杂度是(  )。

中级软件设计师,历年真题,2009年下半年(上午)《软件设计师》真题

查看答案开始考试

正确答案:D

本题解析:

本题考查McCabe度量法。McCabe度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。计算有向图G的环路复杂性的公式为V(G)=m-n+2,其中V(G)是有向图G中的环路个数,m是G中的有向弧数,n是G中的节点数。要采用McCabe度量法度量程序复杂度,需要先画出程序图,识别有向图中节点数n=7和有向弧数m=10,然后利用环路复杂性计算公式V(G)=m-n+2进行计算,得到图中程序图的程序复杂度是5。

其他考生还关注了更多 +