2020年下半年软件设计师真题+答案解析完整版(全国计算机软考)_

2020年下半年软件设计师真题+答案解析完整版(全国计算机软考)_


2024年5月4日发(作者:)

2020年下半年软件设计师

真题+答案解析

上午选择

1、在程序执行过程中,高速缓存(Cache)与主存间的地址映射由(

A.操作系统进行管理

B.操作系统进行管理

C.程序员自行安排

D.硬件自动完成

答案:D

Cache与主存地址映射由硬件完成。

2、计算机中提供指令地址的程序计数器PC在()中。

A.控制器

B.运算器

C.存储器

D.I/O设备

答案:A

PC是控制器中的子部件。

3、以下关于两个浮点数相加运算的叙述中,正确的是().

A.首先进行对阶,阶码大的向阶码小的对齐

)。

B.首先进行对阶,阶码小的向阶码大的对齐

C.不需要对阶,直接将尾数相加

D.不需要对阶,直接将阶码相加

答案:B

浮点数运算的过程:对阶→尾数运算→规格化。

其中对阶的过程:小数向大数看齐,尾数右移。

4、某计算机系统的CPU主频为2.8GHz。某应用程序包括3类指令,

各类指令的CPI(执行每条指令所需要的时钟周期数)及指令比例如’下

表所示。执行该应用程序时的平均CPI为(4);运算速度用MIPS表

示,约为(5)。

A.25

B.3

C.3.5

D.4

答案:C

5、A.700

B.800

C.930

D.1100

答案:B

第一问关于平均CPI,即对列出的CPI求平均数。

4*35%+2*45%+6*20%=3.5。

第二问求MIPS,即每秒执行的百万条指令数。

根据第一问CPI,每条指令需要的时钟周期为4,每个时钟周期为主

频的倒数,即1/2.8G秒,则每条指令需要时间3.5/2.8G秒。

每秒执行指令数为1/(3.5/2.8G)=2.8G/3.5=0.8G=800M。

(1M=106,1G=109)

6、中断向量提供().

A.函数调用结束后的返回地址

B.I/O设备的接口地址

C.主程序的入口地址

D.中断服务程序入口地址

答案:D

中断向量就是指中断服务程序的入口地址,它存放着一条跳转到中

断服务程序入口地址的跳转指令。

7、以下关于认证和加密的叙述中,错误的是()。

A.加密用以确保数据的保密性

B.认证用以确保报文发送者和接收者的真实性

C.认证和加密都可以阻止对手进行被动攻击

D.身份认证的目的在于识别用户的合法性,阻止非法用户访问系

答案:C

认证一般有账户名/口令认证、使用摘要算法认证和基于PKI的认证。

认证只能阻止主动攻击,不能阻止被动攻击。

8、访问控制是对信息系统资源进行保护的重要措施,适当的访问控

制能够阻止未经授权的用户有意或者无意地获取资源。计算机系统

中,访问控制的任务不包括()。

A.审计

B.授权

C.确定存取权限

D.实施存取权限

答案:A

安全审计对主体访问和适用客体的情况进行记录和审查,以保证安

全规则被正确执行,并帮助分析安全事故产生的原因。与访问控制无

关。

9、路由协议称为内部网关协议,自治系统之间的协议称为外部网关

协议,以下属于外部网关协议的是()。

B.0SPF

答案:C

RIP:RIP(RoutingInformationProtocol,路由信息协议)是一种内部网

关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内

的路由信息的传递。

OSPF:OSPF(OpenShortestPathFirst开放式最短路径优先)是一个内

部网关协议(InteriorGatewayProtocol,简称IGP),用于在单一自治

系统(autonomoussystem,AS)内决策路由。是对链路状态路由协议

的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。

BGP:边界网关协议(BGP)是运行于TCP上的一种自治系统的路由

协议。BGP是唯一一个用来处理像因特网大小的网络的协议,也是

唯一能够妥善处理好不相关路由域间的多路连接的协议。

UDP:传输层协议。

10、所有资源只能由授权方或以授权的方式进行修改,即信息未经授

权不能进行改变的特性是指信息的()。

A.完整性

B.可用性

C.保密性

D.不可抵赖性

答案:A

数据的机密性(保密性)是指数据在传输过程中不能被非授权者偷

看;

数据的完整性是指数据在传输过程中不能被非法篡改,本题涉及到修

改的只有完整性;

数据的真实性(不可抵赖性)是指信息的发送者身份的确认或系统中

有关主体的身份确认,这样可以保证信息的可信度;

可用性指的是发送者和接受者双方的通信方式正常。

11、在Windows操作系统下,要获取某个网络开放端口所对应的应

用程序信息,可以使用命令()。

ig

oute

t

up

答案:C

ipconfig(linux:ifconfig)(显示TCP/IP网络配置值,如:IP地址,

MAC地址,网关地址等)。

tracert(linux:traceroute):用于确定IP数据包访问目标所采取的路

径,若网络不通,能定位到具体哪个结点不通。

netstat:用于显示网络连接、路由表和网络接口信息。

nslookup(查询DNS记录)。

12、甲、乙两个申请人分别就相同内容的计算机软件发明创造,向

国务院专利行政部门门提出专利申请,甲先于乙一日提出,则()。

A.甲获得该项专利申请权

B.乙获得该项专利申请权

C.甲和乙都获得该项专利申请权

D.甲和乙都不能获得该项专利申请权

答案:A

谁先申请则属于谁。

13、小王是某高校的非全8制在读研究生,目前在甲公司实习,负责

了该公司某软件项目的开发工作并撰写相关的软件文档。以下叙述

中,正确的是()。

A.

权利

B.该软件文档属于职务作品,甲公司享有该软件著作权的全部权

C.该软件文档不属于职务作品,小王享有该软件著作权的全部权

D.该软件文档不属于职务作品,甲公司和小王共同享有该著作权

的全部权利

答案:B

该软件文档属于职务作品,但小王享有该软件著作权的全部

软件著作权属于公司所有。

14、按照我国著作权法的权利保护期,以下权利中,()受到永久

保护。

A.发表权

B.修改权

C.复制权

D.发行权

答案:B

著作权中修改权、署名权、保护作品完整权都是永久保护的。

15、结构化分析方法中,数据流图中的元素在()中进行定义。

A.加工逻辑

B.实体联系图

C.流程图

D.数据字典

答案:D

数据字典会对数据流图中元素进行定义说明。

16、良好的启发式设计原则上不包括()。

A.提高模块独立性

B.模块规模越小越好

C.模块作用域在其控制域之内

D.降低模块接口复杂性

答案:B

1、模块化设计要求高内聚、低耦合,模块独立体现的就是高内聚低

耦合。

2、在结构化设计中,系统由多个逻辑上相对独立的模块组成,在模

块划分时需要遵循如下原则:

(1)模块的大小要适中。系统分解时需要考虑模块的规模,过大的

模块可能导致系统分解不充分,其内部可能包括不同类型的功能,需

要进一步划分,尽量使得各个模块的功能单一;过小的模块将导致系

统的复杂度增加,模块之间的调用过于频繁,反而降低了模块的独立

性。不是越小越好。

(2)模块的扇入和扇出要合理。模块的扇入指模块直接上级模块的

个数。模块的直属下级模块个数即为模块的扇出。

(3)深度和宽度适当。深度表示软件结构中模块的层数,如果层数

过多,则应考虑是否有些模块设计过于简单,看能否适当合并。宽度

是软件结构中同一个层次上的模块总数的最大值,一般说来,宽度越

大系统越复杂,对宽度影响最大的因素是模块的扇出。在系统设计时,

需要权衡系统的深度和宽度,尽量降低系统的复杂性,减少实施过程

的难度,提高开发和维护的效率。需要控制模块接口的复杂性。

3、尽力使模块的作用域在其控制域之内。模块控制域:这个模块本

身以及所有直接或间接从属于它的模块的集合。模块作用域:指受该

模块内一个判定所影响的所有模块的集合。

17、如下所示的软件项目活动图中,顶点表示项目里程碑,连接顶点

的边表示包含的活动,边上的权重表示活动的持续时间(天),则完成

该项目的最短时间为(17)天。在该活动图中,共有(18)条关键路

径。

A.17

B.19

C.20

D.22

答案:D

18、A.1

B.2

C.3

D.4

答案:B

关键路径:ABFJL和ADGIJL

项目工期:22天

19、软件项目成本估算模型COCOM01I中,体系结构阶段模型基于()

进行估算。

A.应用程序点数量

B.功能点数量

C.复用或生成的代码行数

D.源代码的行数

答案:D

COCOMOII模型也需要使用规模估算信息,体系结构阶段,在模型

层次结构中有3种不同规模估算选择,即:对象点、功能点和代码行。

应用组装模型使用的是对象点;早期设计阶段模型使用的是功能点,

功能点可以转换为代码行。体系结构模型把工作量表示为代码行数。

20、某表达式的语法树如下图所示,其后缀式(逆波兰式)是()。

拾壱

-+*

-c+d*

-d*+

-cd+*

答案:C

21、用C/C++语言为某个应用编写的程序,经过(

程序。

A.预处理、编译、汇编、链接

B.编译、预处理、汇编、链接

C.汇编、预处理、链接、编译

D.链接、预处理、编译、汇编

答案:A

对于编译型语言,处理过程为:预处理-编译-链接,没有汇编过程,

对比来看,预处理、编译、汇编、链接最合适。.

拾弐

)后形成可执行

22、在程序的执行过程中,系统用()实现嵌套调用(递归调用)函数

的正确返回。

A.队列

B.优先队列

C.栈

D.散列表

答案:C

在递归调用中,需要在前期存储某些数据,并在后面又以存储的逆

序恢复这些数据,以提供之后使用的需求,因此,需要用到栈来实现

递归。简单的说,就是在前行阶段,对于每一层递归,函数的局部变

量、参数值以及返回地址都被压入栈中。在退回阶段,位于栈顶的局

部变量、参数值和返回地址被弹出,用于返回调用层次中执行代码的

其余部分,也就是恢复了调用的状态。

23、假设系统中有三个进程P1、P2和P3,两种资源R1、R2。如果

进程资源图如图①和图②所示,那么()。

A.图①和图②都可化简

B.图①和图②都不可化简

拾参

C.图①可化简,图②不可化简

D.图①不可化简,图②可化简

答案:C

图①当前状态下:

R1:已分配2个,剩余1个。

R2:已分配3个,剩余0个。

P1:已获得1个R1,1个R2,无其他资源需求,可化简,化简后释

放当前1个R1,1个R2。

P2:已获得1个R2,仍需2个R1,此时R1资源不足,P2是阻塞结

点。等待P1释放后可化简。

P3:已获得1个R1,1个R2,仍需1个R2,此时R2资源不足,P3

是阻塞结点。等待P1释放后可化简。

图②当前状态下:

R1:已分配3个,剩余0个。

R2:已分配2个,剩余0个。

P1:已获得1个R1,仍需1个R2,此时R2资源不足,P1是阻塞结

点。

P2:已获得1个R1,1个R2,仍需1个R1,此时R1资源不足,P2

是阻塞结点。

P3:已获得1个R1,1个R2,仍需1个R2,此时R2资源不足,P3

是阻塞结点。

所有结点均阻塞,无法化简。

拾四

24、假设计算机系统的页面大小为4K,进程P的页面变换表如下表

所示。若P要动问的逻辑地址为十六进制3C20H,那么该逻辑地址经

过地址变换后,其物理地址应为()。

A.2048H

B.3C20H

C.5C20H

D.6C20H

答案:D

1、根据页面大小4K(=212)可知,页内地址长度需要12位二进制

表示。

2、根据逻辑地址3C20H,其中低12位二进制为页内地址,即对应十

六进制低3位C20H为页内地址,剩余高位3H为页号,转换为十进

制结果为3。

3、查表可得,页号3对应的物理块号为6(即十六进制6H),再拼

接原页内地址C20H,即为最终的物理地址6C20H。

拾伍

25、某文件系统采用索引节点管理,其磁盘索引块和磁盘数据块大小

均为1KB字节且每个文件索引节点有8个地址项iaddr[0]~iaddr[7],

每个地址项大小为4字节,其中iaddr[0]~iaddr[4]采用直接地址索引,

iaddr[5]和iaddr[6]采用一级间接地址索引,iaddr[7]采用二级间接地

址索引。若用户要访问文件userA中逻辑块号为4和5的信息,则系

统应分别采用(25),该文件系统可表示的单个文件最大长度是(26)

KB。

A.直接地址访问和直接地址访问

B.直接地址访问和一级间接地址访问

C.一级问接地址访问和一级间接地址访问

D.一级间接地址访问和二级间接地址访问

答案:B

26、A.517

B.1029

C.65797

D.66053

答案:D

其中0~4号节点为直接索引,对应逻辑块号为0~4。

其中5~6号节点为一级间接索引方式,对应逻辑块号从5开始。

每个索引盘大小为1KB,地址项大小为4B,故每个索引盘有(1KB/4B)

=256个索引。

拾六

一级间接索引有2个盘块,共有512个索引,对应512个逻辑盘块。

其中7号节点为二级间接索引,共有256*256=65536个索引,对应

65536个逻辑盘块。

单个文件最大为:(5+512+65536)*1KB=66053KB。

27、假设系统有n(n≥5)个进程共享资源R,且资源R的可用数为5。

若采用PV操作,则相应的信号量S的取值范围应为()。

A.-1~n-1

B.-5~5

C.-(n-1)~1

D.-(n-5)~5

答案:D

PV信息量的取值表示资源数,最大值为初始可用资源5;

当信号量取值小于0时,可表示排队进程数,此时n个进程,最大排

队数为n-5,信号量最小取值为-(n-5)。

28、在支持多线程的操作系统中,假设进程P创建了线程T1、T2和

T3,那么以下叙述中错误的是()。

A.线程T1、T2和T3可以共享程P的代码

B.线程T1、T2可以共享P进程中T3的栈指针

C.线程T1、T2和T3可以共享进程P打开的文件

D.线程T1、T2和T3可以共享进程P的全局变量

拾七

答案:B

线程共享的内容包括:进程代码段、进程的公有数据(利用这些共享

的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述

符、信号的处理器、进程的当前目录、进程用户ID与进程组ID。

线程独有的内容包括:线程ID、寄存器组的值、线程的堆栈、错误返

回码、线程的信号屏蔽码。

29、喷泉模型是一种适合于面向(29)开发方法的软件过程模型。该

过程模型的特点不包括(30)。

A.对象

B.数据

C.数据流

D.事件

答案:A

喷泉模型是面向对象的开发模型。

30、A.以用户需求为动力

B.支持软件重用

C.具有迭代性

D.开发活动之间存在明显的界限

答案:D

31、若某模块内所有处理元素都在同一个数据结构上操作,则该模块

拾八

的内聚类型为()。

A.逻辑

B.过程

C.通信

D.功能

答案:C

32、软件质量属性中,()是指软件每分钟可以处理多少个请求。

A.响应时间

B.吞吐量

C.负载

D.容量

答案:B

吞吐量:指在给定的时间内,系统所能处理的任务的数量。

响应时间:指系统对请求作出响应的时间。

容量:存储器所能存储的全部信息量称为该存储器的容量。

33、提高程序执行效率的方法一般不包括()。

A.设计更好的算法

B.采用不同的数据结构

C.采用不同的程序设计语言

D.改写代码使其更紧凑

拾九

答案:D

改写代码仅使其结构上更紧凑,并不能提高执行效率问题。其他方

式可以。

34、软件可靠性是指系统在给定的时间间隔内、在给定条件下无失效

运行的概率。若MTTF和MTTR分别表示平均无故障时间和平均修复

时间,则公式()可用于计算软件可靠性。

/(1+MTTF)

B.1/(1+MTTF)

/(1+MTTR)

D.1/(1+MTTR)

答案:A

可靠性可以用可以用MTTF/(1+MTTF)来度量。

35、用白盒测试技术对下面流程图进行测试,设计的测试用例如下表

所示。至少采用测试用例(35)才可以实现语句覆盖;至少采用测试

用例(36)才可以实现路径覆盖。

弐拾

A.①

B.②

C.③

D.④

答案:A

36、A.①

B.①②

C.③④

D.①②③④

答案:D

弐拾壱

根据测试用例:

用例①可以满足覆盖所有语句,满足语句覆盖。

用例①可以满足路径ace,用例②可以满足路径abd,用例③可以满

足路径abe,用例④可以满足路径acd。所以满足路径覆盖需要测试

用例①②③④。

37、面向对象程序设计语言C++、JAVA中,关键字()可以用于区

分同名的对象属性和局部变量名。

e

ted

答案:D

this可以区分同名的对象属性和局部变量名。

38、采用面向对象方法进行系统开发时,以下与新型冠状病毒有关的

对象中,存在“一般-特殊’关系的是()。

A.确诊病人和治愈病人

B.确诊病人和疑似病人

C.医生和病人

D.发热病人和确诊病人

答案:D

弐拾弐

发热病人是一般对象,确诊病人是发热病人的特殊化。

39、进行面向对象系统设计时,针对包中的所有类对于同-类性质的

变化;一个变化若对一个包产生影响,则将对该包中的所有类产生影

响,而对于其他的包不造成任何影响。这属于()设计原则。

A.共同重用

B.开放-封闭

C.接口分离

D.共同封闭

答案:D

共同封闭原则:包中的所有类对于同一种性质的变化应该是共同封

闭的。一个变化若对一个封闭的包产生影响,则将对该包中的所有类

产生影响,而对于其他包则不造成任何影响。面向对象设计的原则之

一。

共同重用原则:面向对象编程术语,指一个包中的所有类应该是共同

重用的。如果重用了包中的一个类,那么也就相当于重用了包中的所

有类。

开放-封闭原则:对扩展开放,对修改封闭。

接口隔离原则:使用多个专门的接口比使用单一的总接口要好。

40、多态有不同的形式,()的多态是指同一个名字在不同上下文

中所代表的含义不同。

弐拾参

A.参数

B.包含

C.过载

D.强制

答案:C

参数多态:应用广泛、最纯的多态。

包含多态:同样的操作可用于一个类型及其子类型。包含多态一般需

要进行运行时的类型检查。包含多态在许多语言中都存在,最常见的

例子就是子类型化,即一个类型是另外一个类型的子类型。

强制多态:编译程序通过语义操作,把操作对象的类型强行加以变换,

以符合函数或操作符的要求。

过载多态:同一个名(操作符﹑函数名)在不同的上下文中有不同的

类型。目前软设考查比较多的是过载多态。

41、某类图如图所示,下列选项错误的是()。

A.一个A1的对象可能与一个A2的对象关联

弐拾四

B.一个A的非直接对象可能与一个A1的对象关联

C.类B1的对象可能通过A2与C1的对象关联

D.有可能A的直接对象与B1的对象关联

答案:D

A是抽象类,不能直接产生对象.

42、UML图中,对象图展现了(42),(43)所示对象图与下图所

示类图不一致。

A.一组对象、接口、协作和它们之间的关系

B.一组用例、参与者以及它们之间的关系

C.某一时刻一组对象以及它们之间的关系

D.以时间顺序组织的对象之间的交互活动

答案:C

43、A.

B.

弐拾伍

C.

D.

答案:D

对象图:展现了某一个时刻一组对象以及它们之间的关系。

类图:展现了一组对象、接口、协作和它们之间的关系。

用例图:展现了一组用例、参与者以及它们之间的关系。

序列图:是场景的图形化表示,描述了以时间顺序组织的对象之间的

交互活动。

多重度:图示表示的是1个A可以对应多个B,1个B只能对应1个

A。

44、某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、

饮料和玩具,其餐品种类可能不同,但制作过程相同。前台服务员

(Waiter)调度厨师制作套餐。欲开发一软件,实现该制作过程,设计

如下所示类图。该设计采用(44)模式将一个复杂对象的构建与它的

表示分离,使得同样的构建过程可以创建不同的表示。其中,(45)

构造一个使用Builder接口的对象。该模式属于(46)模式,该模式

弐拾六

适用于(47)的情况。

A.生成器(Builder)

B.抽象工厂(AbstractFactory)

C.原型(Prototype)

D.工厂方法(FactoryMethod)

答案:A

本题类图中有明确的builder关键字,是生成器模式。

45、uilder

izaBuilder

答案:C

生成器(构建器)模式的意图是:将一个复杂类的表示与其构造相

分离,使得相同的构建过程能够得出不同的表示。

46、A.创建型对象

B.结构型对象

弐拾七

C.行为型对象

D.结构型类

答案:A

Builder:抽象建造者,为创建一个Product对象各个部件指定抽象接

口,把产品的生产过程分解为不同的步骤,从而使具体建造者在具体

的建造步骤上具有更多弹性,从而创造出不同表示的产品。

ConcreteBuilder:具体建造者,实现Builder接口,构造和装配产品的

各个部件定义并明确它所创建的表示,提供一个返回这个产品的接

口。

Director:指挥者,构建一个使用Builder接口的对象。即对应本题

waiter。

Product:产品角色,被构建的复杂对象,具体产品建造者,创建该

产品的内部表示并定义它的装配过程。包含定义组成组件的类,包括

将这些组件装配成最终产品的接口。

47、A.当一个系统应该独立于它的产品创建、构成和表示时

B.当一个类希望由它的子类来指定它所创建的对象的时候

C.当要强调一系列相关的产品对象的设计以便进行联合使用时

D.当构造过程必须允许被构造的对象有不同的表示时

答案:D

适用场景(复杂对象构造)

当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装

配方式时。

弐拾八

当构造过程必须允许被构造的对象有不同的表示时。

48、函数foo()、hoo0定义如下,调用函数hoo()时,第-个参数采用

传值(callbyvalue)方式,第二个参数采用传引用(callbyreference)方

式。设有函数调(函数foo(5),那么"print(x)”执行后输出的值为()。

A.24

B.25

C.30

D.36

答案:A

根据题干描述的调用过程,hoo()第一个参数是传值调用,第二个参

数是引用调用,因此,在hoo()中对a的修改最终会影响到原foo()函

数中传递的参数x,也就是最终x打印的值。

根据hoo()函数过程,x初始传参为原args=5,此时x=x-1=4(注意这

里的x是局部变量,只在hoo()使用),a初始传参为原x=6,此时

a=a*x=6*4=24,最终全局变量x值为24。(注意这里的原x是全局变

量,在hoo()参数中可以理解为别名为a,现x是局部变量,也就是之

前求取的4)。

弐拾九

49、程序设计语言的大多数语法现象可以用CFG(上下文无关文法)

表示。下面的CFG产生式集用于描述简单算术表达式,其中+、-、*

表示加、减、乘运算,id表示单个字母表示的变量,那么符合该文法

的表达式为()。

P:E→E+T|E-T|T

T→T*F|F

F→F|id

A.a+-b-c

B.a*(b+c)

C.a*-b+2

D.-a/b+c

答案:A

这里没有终结符“(”、")"、"/"。

在推导的过程中,会发现"*"只能通过T推导,此时必定经过了E+T

或E-T,也就是说“+”或“-”必定在“*”前面。

只有A能够被推导,推导过程如下:

(1)通过E→E-T,从起始符E得到E-T;

(2)通过E→E+T,将上面的E展开为E+T,得到E+T-T;

(3)通过E→T→F→id→单个字母a;

(4)通过T→F→-F→-id→单个字母-b;

(5)通过T→F→id→单个字母c。

参拾


发布者:admin,转转请注明出处:http://www.yc00.com/web/1714764933a2511204.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信