单选题 (一共71题,共71分)

1.

()不属于主动攻击

2.

在uml2.0中,(请作答此空) 描述结构化类(例如,构件或类)的内部结构,包括结构化类与系统其余部分的交互点,用于画出结构化类的内部内容。( )强调消息跨越不同对象或参与者的实际时问,而不仅仅只是关心消息的相对顺序。( )通常与其他图一起使用,包括文件、数据库和类似的物理比特集合。交互概览图是( )和( )的混合物。

3.

The project workbook is not so much a separate document as it is a structure imposed on the documents that the project will be producing anyway.All the documents of the project need to be part of this (请作答此空). This includes objectives ,external specifications , interface specifications , technical standards , internal specifications and administrative memoranda(备忘录).Technical prose is almost immortal. If one examines the genealogy ( Ff ) of a customer manual for a piece of hardware or software , one can trace not only the ideas , but also many of the very sentences and paragraphs back to the first ( ) proposing the product or explaining the first design. For the technical writer, the paste-pot is as mighty as the pen.Since this is so, and since tomorrow's product-quality manuals will grow from today’s memos, it is very important to get the structure of the documentation right. The early design of the project ( ) ensures that the documentation structure itself is crafted, not haphazard. Moreover, the establishment of a structure molds later writing into segments that fit into that structure.The second reason for the project workbook is control of the distribution of ( ). The problem is not to restrict information, but to ensure that relevant information gets to all the people who need it.The first step is to number all memoranda, so that ordered lists of titles are available and h worker can see if he has what he wants. The organization of the workbook goes well beyond this to establish a tree-structure of memoranda. The ( ) allows distribution lists to be maintained by subtree, if that is desirable.

4.

The project workbook is not so much a separate document as it is a structure imposed on the documents that the project will be producing anyway.All the documents of the project need to be part of this ( ). This includes objectives ,external specifications , interface specifications , technical standards , internal specifications and administrative memoranda(备忘录).Technical prose is almost immortal. If one examines the genealogy ( Ff ) of a customer manual for a piece of hardware or software , one can trace not only the ideas , but also many of the very sentences and paragraphs back to the first ( ) proposing the product or explaining the first design. For the technical writer, the paste-pot is as mighty as the pen.Since this is so, and since tomorrow's product-quality manuals will grow from today’s memos, it is very important to get the structure of the documentation right. The early design of the project (请作答此空) ensures that the documentation structure itself is crafted, not haphazard. Moreover, the establishment of a structure molds later writing into segments that fit into that structure.The second reason for the project workbook is control of the distribution of ( ). The problem is not to restrict information, but to ensure that relevant information gets to all the people who need it.The first step is to number all memoranda, so that ordered lists of titles are available and h worker can see if he has what he wants. The organization of the workbook goes well beyond this to establish a tree-structure of memoranda. The ( ) allows distribution lists to be maintained by subtree, if that is desirable.

5.

The project workbook is not so much a separate document as it is a structure imposed on the documents that the project will be producing anyway.All the documents of the project need to be part of this ( ). This includes objectives ,external specifications , interface specifications , technical standards , internal specifications and administrative memoranda(备忘录).Technical prose is almost immortal. If one examines the genealogy ( Ff ) of a customer manual for a piece of hardware or software , one can trace not only the ideas , but also many of the very sentences and paragraphs back to the first (请作答此空) proposing the product or explaining the first design. For the technical writer, the paste-pot is as mighty as the pen.Since this is so, and since tomorrow's product-quality manuals will grow from today’s memos, it is very important to get the structure of the documentation right. The early design of the project ( ) ensures that the documentation structure itself is crafted, not haphazard. Moreover, the establishment of a structure molds later writing into segments that fit into that structure.The second reason for the project workbook is control of the distribution of ( ). The problem is not to restrict information, but to ensure that relevant information gets to all the people who need it.The first step is to number all memoranda, so that ordered lists of titles are available and h worker can see if he has what he wants. The organization of the workbook goes well beyond this to establish a tree-structure of memoranda. The ( ) allows distribution lists to be maintained by subtree, if that is desirable.

6.

以下叙述中,正确的是( )。

7.

Teams are required for most engineering projects. Although some small hardware or software products can be developed by individuals, the scale and complexity of modern systems is such, and the demand for short schedules so great, that it is no longer ( )for one person to do most engineering jobs. Systems development is a team ( ), and the effectiveness of the team largely determines the ( )of the engineering.Development teams often behave much like baseball or basketball teams. Even though they may have multiple specialties, all the members work toward (请作答此空). However, on systems maintenance and enhancement teams, the engineers often work relatively independently, much like wrestling and track teams.A team is ( )just a group of people who happen to work together. Teamwork takes practice and it involves special skills. Teams require common processes; they need agreed-upon goals; and they need effective guidance and leadership. The methods for guiding and leading such teams are well known, but they are not obvious.

8.

某图的邻接矩阵如下,该图为(请作答此空);若采用邻接表表示该图,则邻接表中用来表示边(或弧)的表结点总数为( )个。

中级软件设计师,章节练习,数据结构与算法

9.

用某排序方法对一个关键码序列进行递增排序时,对于其中关键码相同的元素,若该方法可保证在排序前后这些元素的相对位置不变,则称该排序方法是稳定的。以下关于排序方法稳定性的叙述中,正确的是( )。

10.

当有7个结点的二叉树采用二叉链表链存储时,空指针的个数为(请作答此空),采用三叉链表存储空指针的个数为( )。

11.

在字符串的KMP模式匹配算法中,需先求解模式串的next函数值,其定义如下式所示, j 表示模式串中字符的序号( 从1开始) 。若模式串p 为 "abaac" ,则其 next 函数值为 ( ) 。

中级软件设计师,章节练习,数据结构与算法

12.

若一个栈初始为空,其输入序列是 1 , 2 , 3 , … , n-1 , n ,其输出序列的第一个元素是 k(1≤k≤n/2) ,则输出序列的最后一个元素是( )。

13.

Prim算法和Kruscal算法都是无向连通网的最小生成树的算法,Prim算法从一个顶点开始,每次从剩余的顶点中加入一个顶点,该顶点与当前的生成树中的顶点的连边权重最小,直到得到一颗最小生成树;Kruscal算法从权重最小的边开始,每次从不在当前的生成树顶点中选择权重最小的边加入,直到得到一颗最小生成树,这两个算法都采用了()设计策略,且( 请作答此空)。

14.

在平衡二叉排序树上进行查找时,其时间复杂度为 ( ) 。

15.

某图的邻接矩阵如下,该图为( );若采用邻接表表示该图,则邻接表中用来表示边(或弧)的表结点总数为(请作答此空)个。

中级软件设计师,章节练习,数据结构与算法

16.

对于n个元素的关键字序列{ki, k2,…,kn},当且仅当满足关系ki≤k2i且ki≤k2i+i(i=1, 2,…[n/2])时称为小根堆(小顶堆)。以下序列中,( )不是小根堆。

17.

若在单向链表上,除访问链表中所有结点外,还需在表尾频繁插入结点,那么采用( )最节省时间。

18.

以下应用中,必须采用栈结构的是( )。

19.

以下应用中,必须采用队列结构的是( )。

20.

当有7个结点的二叉树采用二叉链表链存储时,空指针的个数为( ),采用三叉链表存储空指针的个数为(请作答此空)。

21.

某个应用中,需要对输入数据进行排序,输入数据序列基本有序(如输入为1,2,5,3,4,6,8,7)。在这种情况下,采用( )排序算法最好,时间复杂度为(请作答此空)。

22.

软件质量保证的主要目标不包括( )。

23.

软件评审作为质量控制的一个重要手段,已经被业界广泛使用。评审分为内部评审和外部评审。关于内部评审的叙述,正确的包括( )。①对软件的每个开发阶段都要进行内部评审②评审人员由软件开发组、质量管理和配置管理人员组成,也可邀请用户参与③评审人数根据实际情况确定,比如根据软件的规模等级和安全性等级等指标而定④内部评审由用户单位主持,由信息系统建设单位组织,应成立评审委员会

24.

对于逻辑表达式((a&&b)||c),需要( )个测试用例才能完成条件组合覆盖。

25.

下图是某项目的剪线图(时间单位:周),其关键路径是( ),工期是(请作答此空)周。

中级软件设计师,章节练习,系统开发

26.

算术表达式采用后缀式表示时不需要使用括号,使用(请作答此空)就可以方便地进行求值。a-b*(c+d)的后缀式为( )。

27.

算术表达式采用后缀式表示时不需要使用括号,使用( )就可以方便地进行求值。a-b*(c+d)的后缀式为(请作答此空)。

28.

结构化分析(Structured Analysis,SA是面向数据流的需求分析方法,______不属于SA工具。

29.

某二叉树为单枝树(即非叶子结点只有一个孩子结点)且具有n个结点(n>1),则该二叉树( )

30.

Teams are required for most engineering projects.Although some small hardware or software products can be developed by individuals,the scale and complexity of modern systems is such,and the demand for short schedules so great,that it is no longer(请作答此空)for one person to do most engineering jobs.Systems development is a team( ),and the effectiveness of the team largely determines the( )of the engineering.Development teams often behave much like baseball or basketball teams.Even though they may have multiple specialties,all the members work toward( ).However,on systems maintenance and enhancement teams,the engineers often work relatively independently,much like wrestling and track teams.A team is( )just a group of people who happen to work together.Teamwork takes practice and it involves special skills.Teams require common processes;they need agreed-upon goals;and they need effective guidance and leadership.The methods for guiding and leading such teams are well known,but they are not obvious.

31.

算术表达式(a-b)*c+d的后缀式是( ) (-、+、* 表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。

32.

设数组a[1..10,1..8]中的元素按行存放,每个元素占用4个存储单元,已知第一个数组元素a[1,1]的地址为1004,那么a[5,6]的地址为( )。

33.

若有字符串“software”,则其长度为3的子串有( )个。

34.

将主存空闲区按地址顺序从小到大登记在空闲区表中,每次分配时总是顺序查找空闲区表,此种分配算法称为( )分配算法。

35.

详细设计是软件总体设计后的工作。在下列可选内容中,( )不属于详细设计内容。

36.

将一个递归算法改为对应的非递归算法时,通常需要使用( )。

37.

给定关系R(A,B,C,D,E)与S(A,B,C,F,G),那么与表达式

初级程序员,模拟考试,2021年程序员模拟题3

等价的SQL语句如下:select ( ) from R, S where ( 请作答此空);

38.

通过设置文件的______,可以使其成为“只读”文件。

39.

系统的硬件环境、软件环境和数据环境发生变化时需要对系统进行维护,这种维护属于______。

40.

假设现在要创建一个简单的超市销售系统,顾客将毛巾、饼干、酸奶等物品(Item)加入购物车(Shopping_Cart),在收银台(Checkout)人工(Manual)或自动(Auto)地将购物车中每个物品的价格汇总到总价格后结帐。这一业务需求的类图(方法略)设计如下图所示,采用了( )模式。其中(请作答此空)定义以一个Checkout对象为参数的accept操作,由子类实现此accept操作。此模式为( ),适用于( )。

初级程序员,模拟考试,2021年程序员模拟题3

41.

假设现在要创建一个简单的超市销售系统,顾客将毛巾、饼干、酸奶等物品(Item)加入购物车(Shopping_Cart),在收银台(Checkout)人工(Manual)或自动(Auto)地将购物车中每个物品的价格汇总到总价格后结帐。这一业务需求的类图(方法略)设计如下图所示,采用了(请作答此空)模式。其中( )定义以一个Checkout对象为参数的accept操作,由子类实现此accept操作。此模式为( ),适用于( )。

初级程序员,模拟考试,2021年程序员模拟题3

42.

如果待排序中两个数据元素具有相同的值,在排序后它们的相互位置发生颠倒,则称该排序算法不稳定,( )就是不稳定的排序算法。

43.

如果待排序中两个数据元素具有相同的值,在排序后它们的相互位置发生颠倒,则称该排序算法不稳定,( )就是不稳定排序算法。

44.

以下关于图及其存储结构的叙述中,正确的是( )。

45.

在某个二叉查找树(即二叉排序树)中进行查找时,效率最差的情形是该二叉查找树是 ( ) 。

46.

快速排序算法是,在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了 (请作答此空) 算法设计策略。已知确定着基准元素操作的时间复杂度为O(n),则快速排序算法的最好和最坏情况下的时间复杂度为 ( ) 。

47.

队列采用如下图所示的循环单链表表示,图(a)表示队列为空,图(b)为e1、e2.e3依次入队列后的状态,其中,rear指针指向队尾元素所在结点,size为队列长度。以下叙述中,正确的是( )。

初级程序员,模拟考试,2021年程序员模拟题3

48.

对于长度为n的线性表(即n个元素构成的序列),若采用顺序存储结构(数组存储),则在等概率下,删除一个元素平均需要移动的元素数为( )。

49.

某二叉树的先序遍历序列为ABCDFGE,中序遍历序列为BAFDGCE。以下关于该二叉树的叙述中,正确的是( )。

50.

设有初始力空的栈s,对于入栈序列a、b、c、d,经由一个合法的进栈和出栈操作序列后(每个元素迸栈、出栈各1次),以c作为第一个出栈的元素时,不能得到的序列为( )。

51.

与算术表达式3 - (2+7) /4对应的二叉树为( )。

初级程序员,模拟考试,2021年程序员模拟题3

初级程序员,模拟考试,2021年程序员模拟题3

52.

一个计算机算法是对特定问题求解步骤的一种描述。算法的( )是指算法能够对不合理数据及非法操作进行识别和处理的能力。

53.

算术表达式采用后缀式表示时不需要使用括号,使用( )就可以方便地进行求值。a-b*(c+d)的后缀式为(请作答此空)。

54.

若某算术表达式用二叉树表示如下, 则该算术表达式的中缀式为(请作答此空), 其后缀式为( )。

初级程序员,模拟考试,2021年程序员模拟题3

55.

若某算术表达式用二叉树表示如下, 则该算术表达式的中缀式为( ), 其后缀式为(请作答此空)。

初级程序员,模拟考试,2021年程序员模拟题3

56.

25个互不相同的正整数之和为 500,则其中至少有( )个偶数。

57.

通过设置基准(枢轴)元素将待排序的序列划分为两个子序列,使得其一个子序列的元素均不大于基准元素,另一个子序列的元素均不小于基准元素,然后再分别对两个子序列继续递归地进行相同思路的排序处理,这种排序方法称为( )。

58.

以下关于线性表采用顺序存储结构的优点的叙述中,正确的是( )。

59.

某企业在职培训需要开设九门课程(编号为A~I,但是每次只能开设1门。有些课程之间有先修关系(见下图):“甲→乙”表示课程甲必须先于课程乙开设(不要求一定紧接)。将这九门课程按拓扑排序,意味着顺序排列后的课程将全部保持所要求的先修关系。( )属于拓扑排序。

初级程序员,模拟考试,2021年程序员模拟题3

60.

在非空( )中,左子树中结点的关键字都小于根结点的关键字,右子树中的关键字均大于根结点的关键字,且左、右子树也满足该要求。

61.

已知某图的邻接矩阵为对称矩阵,则该图一定为( )。

62.

以下关于字符串的叙述中,正确的是( )。

63.

设数组A[1..m,1..n]的每个元素占用1个存储单元,对于数组元素A[i,j](1≤i≤m,1≤j≤n),在按行存储方式下,其相对于数组空间首地址的偏移量为(请作答此空);在按列存储方式下,其相对于数组空间首地址的偏移量为( )。

64.

( )不符合二叉排序树的定义。

初级程序员,模拟考试,2021年程序员模拟题3

初级程序员,模拟考试,2021年程序员模拟题3

65.

若待排序记录按关键字基本有序,则宜采用的排序方法是( )。

66.

某有向图G及其邻接矩阵如下所示。以下关于图的邻接矩阵存储的叙述中,错误的是( )。

初级程序员,模拟考试,2021年程序员模拟题3

67.

设有关键码序列(10,40,30,20),根据该序列构建的二叉排序树是( )。

初级程序员,模拟考试,2021年程序员模拟题3

初级程序员,模拟考试,2021年程序员模拟题3

68.

若元素a、b、c、d、e、f依次进栈,允许进栈、出栈操作交替进行。但不允许连续三次进行出栈工作,则不可能得到的出栈序列是( )。

69.

含有n个元素的线性表采用顺序存储,等概率删除其中任一个元素,平均需要移动( )个元素。

70.

已知字符串s='(X+Y)+Z',其中,单引号不是字符串的内容,经过以下运算后,t3的值是( )。

t1=SubString(s,3,1)

t2=Concat('XY',t 1)

t3=Replace(s,SubString(s,1,5),t2)

注:SubString(s,k,n)表示从串s的第k个字符开始取出长度为n的子串,Concat(s,t)表示将串t连接在s之后,Replace(s,t,r)表示用r替换串s中的子串t。

71.

37支篮球队举行淘汰赛争夺冠军,每场球赛的胜者(无平局)或轮空者进入下一轮赛,共需进行( )比赛。

问答题 (一共4题,共4分)

72.

阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内。

阅读以下说明和C函数,将应填入 (n) 处的语句或语句成分写在答题纸的对应栏内。

【说明1】

函数deldigit(char *s) 的功能是将字符串s中的数字字符去掉,使剩余字符按原次序构成一个新串,并保存在原串空间中。其思路是:先申请一个与s等长的临时字符串空间并令t指向它,将非数字字符按次序暂存入该空间,最后再拷贝给s。

【C函数】

char *t = (char *)malloc( (1) ); /*申请串空间*/ int i, k = 0; if (!t) return; for(i = 0; i < strlen(s); i++)if ( !(*(s+i)>=’0’ && *(s+i)<=’9’) ) { t[k++] = (2) ;} (3) = ’\0’; /*设置串结束标志*/ strcpy(s,t);free(t);}

【说明2】

函数reverse(char *s, int len)的功能是用递归方式逆置长度为len的字符串s。例如,若串s的内容为"abcd",则逆置后其内容变为"dcba"。

【C函数】

void reverse(char *s, int len){ char ch; if ( (4) ) { ch = *s; *s = *(s+len-1); *(s+len-1) = ch; reverse( (5) ); }}

73.

阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内。

阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入答题纸的对应栏内。

【说明】

指定网页中,某个关键词出现的次数除以该网页长度称为该关键词在此网页中的词频。对新闻类网页,存在一组公共的关键词。因此,每个新闻网页都存在一组词频,称为该新闻网页的特征向量。

设两个新闻网页的特征向量分别为:甲(a1,a2,…,ak)、乙(b1,b2,…,bk),则计算这两个网页的相似度时需要先计算它们的内积S=a1b1+a2b2+…+akbk。一般情况下,新闻网页特征向量的维数是巨大的,但每个特征向量中非零元素却并不多。为了节省存储空间和计算时间,我们依次用特征向量中非零元素的序号及相应的词频值来简化特征向量。为此,我们用(NA(i),A(i)|i=1,2,…,m)和(NB(j),B(j)|j=1,2,…,n)来简化两个网页的特征向量。其中:NA(i)从前到后描述了特征向量甲中非零元素A(i)的序号(NA(1)<NA(2)<…),NB(j)从前到后描述了特征向量乙中非零元素B(j)的序号(NB(1)<NB(2)<…)。

下面的流程图描述了计算这两个将征向量内积S的过程。

初级程序员,模拟考试,2021年程序员模拟题3

74.

阅读以下说明和流程图,填写流程图中的空缺,将解答填入答题纸的对应栏内。【说明】设[a1b1],[a2b2],...[anbn]是数轴上从左到右排列的n个互不重叠的区间(a1<b1<a2<b2...<an<bn),以下流程图将一个新的区间[A,B](A<B)添加到上述区间集,形成新的从左到右排列的n个互不重叠的区间(最后若A、B落在原有的两个区间,则以原有区间最左端和最右端点为基准,形成新的区间),最后依次输出这些区间的端点。例如,给定区间集[1,2],[4,6],[8,10],[13,15],[17,20],添加区间[5,14]后,依次输出1,2,4,15,17,20,表示合并后的区间集:[1,2],[4,15],[17,20]。该流程图采用的算法是:先在a1,b1,a2,b2...,an,bn中扫描定位A点,再继续扫描定位B点,在扫描过程中随时输出已确定的区间的端点值。

初级程序员,模拟考试,2021年程序员模拟题3

75.

第一题 阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。

【说明】

对于大于1的正整数n,(x+1)n可展开为

初级程序员,模拟考试,2021年程序员模拟题3

问题:1.1 【流程图】

初级程序员,模拟考试,2021年程序员模拟题3

注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1。

格式为:循环控制变量=初值,终值,递增值。