【第 1 题】(题型:选择题)
题目:计算机执行指令的过程中,需要由(1) 产生每条指令的操作信号并将信号送往相应的部件进行处理,以完成指定的操作。
A.CPU 的控制器 B.CPU 的运算器 C.DMA 控制器 D.Cache 控制器
【答案】A
【解析】
CPU 由控制器和运算器组成,其中控制器的核心功能是取指令、分析指令、生成操作控制信号,指挥计算机各部件协同执行指令;运算器负责执行算术和逻辑运算。DMA 控制器负责外设与主存的直接数据传输,Cache 控制器负责缓存的管理,均与指令操作信号生成无关。因此答案为 A。
【第 2 题】(题型:选择题)
题目:DMA 控制方式是在 (2) 之间直接建立数据通路进行数据的交换处理。
A.CPU 与主存 B.CPU 与外设 C. 主存与外设 D. 外设与外设
【答案】C
【解析】
DMA(直接内存访问)的核心是绕过 CPU,让外设直接与主存建立数据通路,减少 CPU 的干预,提高数据传输效率。因此 DMA 是在主存与外设之间直接传输数据,答案为 C。
【第 3 题】(题型:选择题)
题目:CPU 访问存储器时,被访问数据一般聚集在一个较小的连续存储区域中。若一个存储单元已被访问,则其邻近的存储单元有可能还要被访问,该特性被称为 (3) 。
A. 数据局部性 B. 指令局部性 C. 空间局部性 D. 时间局部性
【答案】C
【解析】
局部性原理分为时间局部性和空间局部性:时间局部性指刚被访问的内容可能很快再次被访问;空间局部性指刚被访问的内容,其邻近的内容可能被访问。题目描述的是邻近存储单元的访问特性,属于空间局部性,答案为 C。
【第 4 题】(题型:选择题)
题目:某系统由 3 个部件构成,每个部件的千小时可靠度都为 R,该系统的千小时可靠度为 (1-(1-R)²) R,则该系统的构成方式是 (4) 。
A.3 个部件串联
B.3 个部件并联
C. 前两个部件并联后与第三个部件串联
D. 第一个部件与后两个部件并联构成的子系统串联
【答案】C
【解析】
可靠度计算规则:串联系统可靠度为各部件可靠度乘积;并联系统可靠度为 1 减去各部件不可靠度的乘积。
选项 C:前两个部件并联的可靠度为 1-(1-R)²,再与第三个部件串联,总可靠度为 (1-(1-R)²)*R,与题目公式一致。
选项 A:串联可靠度为 RRR=R³,不符合;
选项 B:并联可靠度为 1-(1-R)³,不符合;
选项 D:后两个并联可靠度为 1-(1-R)²,与第一个串联后可靠度为 R*(1-(1-R)²),虽然数值和选项 C 相同,但公式顺序对应部件连接顺序,题目公式是 (1-(1-R)²) R,对应前两个并联后与第三个串联,因此答案为 C。
【第 5 题】(题型:选择题)
题目:在 (5) 校验方法中,采用模 2 运算来构造校验位。
A. 水平奇偶 B. 垂直奇偶 C. 海明码 D. 循环冗余
【答案】D
【解析】
循环冗余校验(CRC)采用模 2 除法运算生成校验位,是一种基于多项式的校验方式;奇偶校验是基于位的计数校验,海明码是基于奇偶校验的多比特纠错编码,均不采用模 2 运算构造校验位。因此答案为 D。
【第 6 题】(题型:选择题)
题目:以下关于 RISC (精简指令系统计算机) 技术的叙述中,错误的是 (6) 。
A. 指令长度固定、指令种类尽量少
B. 指令功能强大、寻址方式复杂多样
C. 增加寄存器数目以减少访问次数
D. 用硬布线电路实现指令解码,快速完成指令译码
【答案】B
【解析】
RISC 的核心特点是精简指令集:指令长度固定、种类少,寻址方式简单;通过增加通用寄存器数量减少内存访问;采用硬布线译码提高执行速度。而 “指令功能强大、寻址方式复杂多样” 是 CISC(复杂指令系统计算机)的特点,因此答案为 B。
【第 7 题】(题型:选择题)
题目:(7) 防火墙是内部网和外部网的隔离点,它可对应用层的通信数据流进行监控和过滤。
A. 包过滤 B. 应用级网关 C. 数据库 D.Web
【答案】B
【解析】
防火墙的类型:
包过滤防火墙:工作在网络层,基于 IP 地址、端口过滤数据包;
应用级网关(代理防火墙):工作在应用层,能对应用层的通信内容进行监控和过滤;
选项 C、D 不属于防火墙类型。因此答案为 B。
【第 8 题】(题型:选择题)
题目:下述协议中与安全电子邮箱服务无关的是 (8) 。
A.SSL B.HTTPS C.MIME D.PGP
【答案】C
【解析】
SSL:可用于邮箱的加密传输(如 POP3S、IMAPS);
HTTPS:可用于网页版邮箱的加密访问;
PGP:用于邮件内容的加密和签名;
MIME:是多用途互联网邮件扩展协议,用于定义邮件的内容格式(如附件、多媒体),与安全无关。因此答案为 C。
【第 9-10 题】(题型:选择题)
题目:用户 A 和 B 要进行安全通信,通信过程需确认双方身份和消息不可否认。A 和 B 通信时可使用 (9)来对用户的身份进行认证;使用 (10) 确保消息不可否认。
(9) A. 数字证书 B. 消息加密 C. 用户私钥 D. 数字签名
(10) A. 数字证书 B. 消息加密 C. 用户私钥 D. 数字签名
【答案】(9) A;(10) D
【解析】
身份认证:数字证书由 CA 颁发,包含用户公钥和身份信息,可用于验证对方身份的合法性;
消息不可否认:数字签名是用发送者私钥对消息签名,接收者用发送者公钥验证,能证明消息确实由发送者发出,不可否认。
消息加密仅保证内容机密性,用户私钥不能直接用于身份认证(私钥需保密),因此 (9) 选 A,(10) 选 D。
【第 11 题】(题型:选择题)
题目:震网 (Stuxnet) 病毒是一种破坏工业基础设施的恶意代码,利用系统漏洞攻击工业控制系统,是一种危害性极大的 (11) 。
A. 引导区病毒 B. 宏病毒 C. 木马病毒 D. 蠕虫病毒
【答案】D
【解析】
震网病毒是一种蠕虫病毒,具有自我复制、传播的能力,无需依赖宿主程序,可通过网络、漏洞等途径扩散;引导区病毒感染磁盘引导区,宏病毒感染 Office 文档,木马病毒以窃取信息为目的,不具备自我传播能力。因此答案为 D。
【第 12 题】(题型:选择题)
题目:刘某完全利用任职单位的实验材料、实验室和不对外公开的技术资料完成了一项发明。以下关于该发明的权利归属的叙述中,正确的是 (12) 。
A. 无论刘某与单位有无特别约定,该项成果都属于单位
B. 原则上应归单位所有,但若单位与刘某对成果的归属有特别约定时遵从约定
C. 取决于该发明是否是单位分派给刘某的
D. 无论刘某与单位有无特别约定,该项成果都属于刘某
【答案】B
【解析】
根据《专利法》规定,利用单位的物质技术条件完成的发明创造,属于职务发明,原则上归单位所有;但如果单位与发明人有特别约定,按照约定执行。题目中刘某完全利用单位的实验材料、技术资料,属于职务发明,因此答案为 B。
【第 13-14 题】(题型:选择题)
题目:甲公司购买了一工具软件,并使用该工具软件开发了新的名为 “恒友” 的软件。甲公司在销售新软件的同时,向客户提供工具软件的复制品,则该行为 (13) 。甲公司未对 “恒友” 软件注册商标就开始推向市场,并获得用户的好评。三个月后,乙公司也推出名为 “恒友” 的类似软件,并对之进行了商标注册,则其行为 (14) 。
(13) A. 侵犯了著作权 B. 不构成侵权行为 C. 侵犯了专利权 D. 属于不正当竞争
(14) A. 侵犯了著作权 B. 不构成侵权行为 C. 侵犯了商标权 D. 属于不正当竞争
【答案】(13) A;(14) D
【解析】
(13):甲公司购买工具软件仅获得使用权,无权向客户提供复制品,该行为侵犯了工具软件著作权人的复制权和发行权,因此选 A。
(14):甲公司未注册商标,“恒友” 不属于受保护的商标;但乙公司利用甲公司已建立的市场声誉,使用相同名称推出类似软件,属于不正当竞争行为,因此选 D。
【第 15 题】(题型:选择题)
题目:数据流图建模应遵循 (15) 的原则。
A. 自顶向下、从具体到抽象
B. 自顶向下、从抽象到具体
C. 自底向上、从具体到抽象
D. 自底向上、从抽象到具体
【答案】B
【解析】
数据流图(DFD)的建模原则是自顶向下、逐步细化,从最顶层的抽象系统开始,逐步分解为具体的子系统和加工,即从抽象到具体。自底向上是逆向的建模方式,不符合 DFD 的规范,因此答案为 B。
【第 16 题】(题型:选择题)
题目:结构化设计方法中使用结构图来描述构成软件系统的模块以及这些模块之间的调用关系。结构图的基本成分不包括 (16) 。
A. 模块 B. 调用 C. 数据 D. 控制
【答案】D
【解析】
结构图的基本成分包括:模块(矩形表示)、调用(箭头表示)、数据(带箭头的虚线表示)。控制不属于结构图的基本成分,因此答案为 D。
【第 17 题】(题型:选择题)
题目:10 个成员组成的开发小组,若任意两人之间都有沟通路径,则一共有 (17) 条沟通路径。
A.100 B.90 C.50 D.45
【答案】D
【解析】
沟通路径数的计算公式为组合数 C (n,2)=n*(n-1)/2,n 为成员数。代入 n=10,得到 10*9/2=45,因此答案为 D。
【第 18 题】(题型:选择题)
题目:某项目的活动持续时间及其依赖关系如下表所示,则完成该项目的最少时间为 (18) 天。
活动 | 持续时间(天) | 依赖关系 |
Al | 8 | - |
A2 | 15 | - |
A3 | 15 | Al |
A4 | 10 | |
A5 | 10 | A2,A4 |
A6 | 5 | A1,A2 |
A7 | 20 | A1 |
A8 | 25 | A4 |
A9 | 15 | A3,A6 |
A10 | 15 | A5,A7 |
A11 | 7 | A9 |
A12 | 10 | A8,A10,Al1 |
A.43 B.45 C.50 D.55
【答案】D
【解析】
项目最少时间即关键路径的长度,需计算各路径的总时长:
A1→A3→A9→A11→A12:8+15+15+7+10=55
A1→A6→A9→A11→A12:8+5+15+7+10=45
A1→A7→A10→A12:8+20+15+10=53
A2→A5→A10→A12:15+10+15+10=50
A2→A6→A9→A11→A12:15+5+15+7+10=52
A4→A5→A10→A12:10+10+15+10=45
A4→A8→A12:10+25+10=45
其中最长路径为 A1→A3→A9→A11→A12,总时长 55 天,即项目最少时间为 55 天,答案为 D。
【第 19 题】(题型:选择题)
题目:以下不属于软件项目风险的是 (19) 。
A. 团队成员可以进行良好沟通
B. 团队成员离职
C. 团队成员缺乏某方面培训
D. 招不到符合项目技术要求的团队成员
【答案】A
【解析】
项目风险是指可能对项目目标产生负面影响的不确定因素。团队成员良好沟通是项目的有利因素,不属于风险;而成员离职、缺乏培训、招不到合适成员均属于人力资源风险,会影响项目进度和质量,因此答案为 A。
【第 20 题】(题型:选择题)
题目:通用的高级程序设计语言一般都会提供描述数据、运算、控制和数据传输的语言成分,其中,控制包括顺序、 (20) 和循环结构。
A. 选择 B. 递归 C. 递推 D. 函数
【答案】A
【解析】
程序设计的三种基本控制结构是顺序、选择(分支)、循环,这是结构化程序设计的核心。递归、递推是算法实现方式,函数是代码组织方式,不属于基本控制结构,因此答案为 A。
【第 21 题】(题型:选择题)
题目:以编译方式翻译 C/C++ 源程序的过程中, (21) 阶段的主要任务是对各条语句的结构进行合法性分析。
A. 词法分析 B. 语义分析 C. 语法分析 D. 目标代码生成
【答案】C
【解析】
编译过程的阶段:
词法分析:识别单词(如标识符、关键字);
语法分析:分析语句的结构是否符合语法规则;
语义分析:检查语句的语义是否合法(如类型匹配);
目标代码生成:生成机器指令。
题目中对语句结构的合法性分析属于语法分析阶段,因此答案为 C。
【第 22 题】(题型:选择题)
题目:在对高级语言源程序进行编译或解释处理的过程中,需要不断收集、记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入 (22) 中。
A. 哈希表 B. 符号表 C. 堆栈 D. 队列
【答案】B
【解析】
符号表是编译过程中用于存储源程序中符号(如变量、函数、类)的类型、作用域等信息的数据结构,供编译各阶段使用;哈希表是符号表的一种实现方式,堆栈和队列是通用数据结构,不专门用于存储符号信息,因此答案为 B。
【第 23-24 题】(题型:选择题)
题目:在单处理机系统中,采用先来先服务调度算法。系统中有 4 个进程 P1 、P2 、P3 、P4 (假设进程按此顺序到达), 其中 P1 为运行状态,P2 为就绪状态,P3 和 P4 为等待状态,且 P3 等待打印机, P4 等待扫描仪。若 P1 (23) , 则 P1 、P2 、P3 和 P4 的状态应分别为 (24) 。
(23) A. 时间片到 B. 释放了扫描仪 C. 释放了打印机 D. 已完成
(24) A. 等待、就绪、等待和等待 B. 运行、就绪、运行和等待
C. 就绪、运行、等待和等待 D. 就绪、就绪、等待和运行
【答案】(23) A;(24) C
【解析】
先来先服务调度算法中,进程按到达顺序调度:
(23):若 P1 时间片到,会从运行状态转为就绪状态,此时就绪队列中 P2 变为队首,被调度为运行状态;P3 等待打印机、P4 等待扫描仪,状态不变。
(24):对应状态为 P1 就绪,P2 运行,P3 等待,P4 等待,即选项 C。
若 P1 释放打印机,P3 会转为就绪状态;若 P1 释放扫描仪,P4 会转为就绪状态;若 P1 已完成,会被撤销,均不符合选项 C 的状态,因此 (23) 选 A,(24) 选 C。
【第 25 题】(题型:选择题)
题目:某文件系统采用位示图 (bitmap) 记录磁盘的使用情况。若计算机系统的字长为 64 位,磁盘的容量为 1024 GB, 物理块的大小为 4 MB, 那么位示图的大小需要 (25) 个字。
A.1200 B.2400 C.4096 D.9600
【答案】C
【解析】
计算步骤:
磁盘总物理块数 = 磁盘容量 / 物理块大小 = 1024GB/4MB=1024*1024MB/4MB=262144 块;
位示图中每个字表示 64 个物理块的状态;
位示图的字数 = 总物理块数 / 字长 = 262144/64=4096 个字。
因此答案为 C。
【第 26 题】(题型:选择题)
题目:若某文件系统的目录结构如下图所示,假设用户要访问文件 book2.doc, 且当前工作目录为 MyDrivers, 则该文件的绝对路径和相对路径分别为 (26) 。

A.MyDrivers\user2\ 和 \user2
B.\MyDrivers\user2\ 和 \user2
C.\MyDrivers\user2\ 和 user2
D.MyDrivers\user2\ 和 user2\
【答案】C
【解析】
绝对路径:从根目录开始的完整路径,格式为 \MyDrivers\user2\book2.doc,题目中选项省略了文件名,因此绝对路径为 \MyDrivers\user2\;
相对路径:从当前工作目录(MyDrivers)到目标文件的路径,格式为 user2\book2.doc,省略文件名后为 user2\。
因此答案为 C。
【第 27 题】(题型:选择题)
题目:PV 操作是操作系统提供的具有特定功能的原语。利用 PV 操作可以 (27) 。
A. 保证系统不发生死锁
B. 实现资源的互斥使用
C. 提高资源利用率
D. 推迟进程使用共享资源的时间
【答案】B
【解析】
PV 操作是实现进程同步与互斥的原语:P 操作申请资源,V 操作释放资源。通过 PV 操作可以实现共享资源的互斥使用,避免多个进程同时访问临界资源;但 PV 操作不能保证系统不发生死锁(如循环等待资源时仍会死锁),也不能直接提高资源利用率或推迟资源使用时间,因此答案为 B。
【第 28 题】(题型:选择题)
题目:从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置。该要求体现了嵌入式操作系统的 (28) 。
A. 可定制性 B. 实时性 C. 可靠性 D. 易移植性
【答案】A
【解析】
可定制性:指操作系统可根据硬件平台和需求进行结构、功能的裁剪和配置;
易移植性:指操作系统能在不同平台上运行,但重点在于移植的难度,而非配置;
实时性:指系统对事件的响应时间要求;
可靠性:指系统的稳定性。
题目中 “针对硬件变化进行结构与功能上的配置” 体现了可定制性,因此答案为 A。
【第 29 题】(题型:选择题)
题目:以下关于系统原型的叙述中,不正确的是 (29) 。
A. 可以帮助导出系统需求并验证需求的有效性
B. 可以用来探索特殊的软件解决方案
C. 可以用来指导代码优化
D. 可以用来支持用户界面设计
【答案】C
【解析】
系统原型的作用包括:验证需求、探索解决方案、用户界面设计、获取用户反馈等;代码优化属于编码阶段的工作,与原型无关,因此答案为 C。
【第 30 题】(题型:选择题)
题目:以下关于极限编程 (XP) 的最佳实践的叙述中,不正确的是 (30) 。
A. 只处理当前的需求,使设计保持简单
B. 编写完程序之后编写测试代码
C. 可以按日甚至按小时为客户提供可运行的版本
D. 系统最终用户代表应该全程配合 XP 团队
【答案】B
【解析】
XP 的最佳实践包括:测试驱动开发(先写测试代码,再写实现代码)、简单设计、持续集成、用户全程参与等。选项 B “编写完程序之后编写测试代码” 不符合测试驱动开发的要求,因此答案为 B。
【第 31 题】(题型:选择题)
题目:在 ISO/IEC 9126 软件质量模型中,软件质量特性 (31) 包含质量子特性安全性。
A. 功能性 B. 可靠性 C. 效率 D. 可维护性
【答案】A
【解析】
ISO/IEC 9126 软件质量模型中,功能性的子特性包括:适合性、准确性、互操作性、安全性、依从性;可靠性的子特性包括成熟性、容错性、易恢复性;效率的子特性包括时间特性、资源特性;可维护性的子特性包括易分析性、易改变性、稳定性、易测试性。因此安全性属于功能性,答案为 A。
【第 32 题】(题型:选择题)
题目:已知模块 A 给模块 B 传递数据结构 X, 则这两个模块的耦合类型为 (32) 。
A. 数据耦合 B. 公共耦合 C. 外部耦合 D. 标记耦合
【答案】D
【解析】
耦合类型的定义:
数据耦合:传递单个数据项;
标记耦合:传递数据结构(如数组、结构体);
公共耦合:访问公共数据环境(如全局变量);
外部耦合:访问外部系统或设备。
题目中模块 A 传递数据结构 X 给模块 B,属于标记耦合,因此答案为 D。
【第 33 题】(题型:选择题)
题目:Theo Mandel 在其关于界面设计所提出的三条 “黄金准则” 中,不包括 (33) 。
A. 用户操纵控制 B. 界面美观整洁 C. 减轻用户的记忆负担 D. 保持界面一致
【答案】B
【解析】
Theo Mandel 的界面设计三条黄金准则是:用户操纵控制、减轻用户的记忆负担、保持界面一致。界面美观整洁不属于这三条准则,因此答案为 B。
【第 34 题】(题型:选择题)
题目:以下关于测试的叙述中,正确的是 (34) 。
A. 实际上,可以采用穷举测试来发现软件中的所有错误
B. 错误很多的程序段在修改后错误一般会非常少
C. 测试可以用来证明软件没有错误
D. 白盒测试技术中,路径覆盖法往往能比语句覆盖法发现更多的错误
【答案】D
【解析】
穷举测试不可能实现,因为程序的路径数量是无限的;
错误多的程序段修改后仍可能存在较多错误(错误群集现象);
测试只能发现错误,不能证明软件没有错误;
路径覆盖是白盒测试中最强的覆盖标准,能覆盖所有可能的执行路径,比语句覆盖发现更多错误。因此答案为 D。
【第 35 题】(题型:选择题)
题目:招聘系统要求求职的人年龄在 20 岁到 60 岁之间 (含), 学历为本科、硕士或者博士,专业为计算机科学与技术、通信工程或者电子工程。其中 (35) 不是好的测试用例。
A.(20, 本科,电子工程) B.(18, 本科,通信工程)
C.(18, 大专,电子工程) D.(25, 硕士,生物学)
【答案】C
【解析】
好的测试用例应遵循单一缺陷原则,即每个测试用例只测试一个条件的边界或错误。选项 C 同时违反了年龄(18<20)和学历(大专不属于允许范围)两个条件,无法确定是哪个条件导致的错误,因此不是好的测试用例。其他选项均只违反一个条件,属于有效测试用例。
【第 36 题】(题型:选择题)
题目:系统交付用户使用了一段时间后发现,系统的某个功能响应非常慢。修改了某模块的一个算法使其运行速度得到了提升,则该行为属于 (36) 维护。
A. 改正性 B. 适应性 C. 改善性 D. 预防性
【答案】C
【解析】
软件维护的类型:
改正性维护:修复系统中的错误;
适应性维护:适应环境变化(如硬件升级、操作系统更新);
改善性维护:改进系统的性能、可维护性等;
预防性维护:提前预防可能出现的问题。
题目中修改算法提升响应速度属于改善性维护,因此答案为 C。
【第 37 题】(题型:选择题)
题目:一个类中可以拥有多个名称相同而参数表 (参数类型或参数个数或参数类型顺序) 不同的方法,称为 (37) 。
A. 方法标记 B. 方法调用 C. 方法重载 D. 方法覆盖
【答案】C
【解析】
方法重载:同一个类中,方法名相同,参数列表不同(个数、类型、顺序);
方法覆盖:子类重写父类的方法,方法名、参数列表、返回值类型均相同;
方法调用是执行方法的操作,方法标记不属于面向对象术语。因此答案为 C。
【第 38 题】(题型:选择题)
题目:采用面向对象方法进行软件开发时,将汽车作为一个系统。以下 (38) 之间不属于组成 (Composition) 关系。
A. 汽车和座位 B. 汽车和车窗 C. 汽车和发动机 D. 汽车和音乐系统
【答案】D
【解析】
组成关系(Composition)是强聚合关系,部分不能脱离整体独立存在:汽车的座位、车窗、发动机都是汽车的固有组成部分,不能脱离汽车单独存在;而音乐系统是可选的附加组件,可独立于汽车存在,属于聚合(Aggregation)关系,而非组成关系。因此答案为 D。
【第 39 题】(题型:选择题)
题目:进行面向对象设计时,就一个类而言,应该仅有一个引起它变化的原因,这属于 (39) 设计原则。
A. 单一责任 B. 开放 - 封闭 C. 接口分离 D. 里氏替换
【答案】A
【解析】
单一责任原则:一个类只负责一个功能领域,仅有一个引起变化的原因;
开放 - 封闭原则:对扩展开放,对修改封闭;
接口分离原则:使用多个专门的接口,而不使用单一的总接口;
里氏替换原则:子类可以替换父类,而不影响系统的正确性。
题目描述的是单一责任原则,因此答案为 A。
【第 40 题】(题型:选择题)
题目:聚合对象是指一个对象 (40) 。
A. 只有静态方法
B. 只有基本类型的属性
C. 包含其它对象
D. 只包含基本类型的属性和实例方法
【答案】C
【解析】
聚合对象是指包含其他对象作为其属性的对象,体现了面向对象的组合或聚合关系;仅包含基本类型属性或静态方法的对象不属于聚合对象,因此答案为 C。
【第 41 题】(题型:选择题)
题目:在 UML 图中, (41) 图用于展示所交付系统中软件和硬件之间的物理关系。
A. 类 B. 组件 C. 通信 D. 部署
【答案】D
【解析】
UML 图的类型:
类图:展示类、接口及其关系;
组件图:展示软件组件及其关系;
通信图:展示对象之间的交互;
部署图:展示软件组件在硬件节点上的部署,即软件和硬件的物理关系。因此答案为 D。
【第 42-43 题】(题型:选择题)
题目:下图所示 UML 图为 (42) , 用于展示系统中 (43) 。

(42) A. 用例图 B. 活动图 C. 序列图 D. 交互图
(43) A. 一个用例和一个对象的行为 B. 一个用例和多个对象的行为
C. 多个用例和一个对象的行为 D. 多个用例和多个对象的行为
【答案】(42) C;(43) B
【解析】
(42):序列图(顺序图)展示对象之间的交互顺序,通过生命线、消息、激活框表示,题目中的图包含多个对象(Student、TranscrptBuilder、Seminar、Printer)和消息交互,属于序列图;交互图是序列图和通信图的统称,但选项 C 更具体。
(43):序列图用于展示一个用例场景中多个对象之间的交互行为,因此答案为 B。
【第 44-46 题】(题型:选择题)
题目:以下设计模式中, (44) 模式使多个对象都有机会处理请求,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理为止,从而避免请求的发送者和接收者之间的耦合关系; (45) 模式提供一种方法顺序访问一个聚合对象中的各个元素,且不需要暴露该对象的内部表示。这两种模式均为 (46) 。
(44) A. 责任链 (Chain of Responsibility) B. 解释器 (Interpreter)
C. 命令 (Command) D. 迭代器 (Iterator)
(45) A. 责任链 (Chain of Responsibility) B. 解释器 (Interpreter)
C. 命令 (Command) D. 迭代器 (Iterator)
(46) A. 创建型对象模式 B. 结构型对象模式
C. 行为型对象模式 D. 行为型类模式
【答案】(44) A;(45) D;(46) C
【解析】
(44):责任链模式将请求的发送者和接收者解耦,请求沿着对象链传递,直到被处理;
(45):迭代器模式提供遍历聚合对象的方法,无需暴露内部结构;
(46):责任链和迭代器都属于行为型对象模式,行为型模式关注对象之间的交互和职责分配。
【第 47 题】(题型:选择题)
题目:观察者 (Observer) 模式适用于 (47) 。
A. 访问一个聚合对象的内容而无须暴露它的内部表示
B. 减少多个对象或类之间的通信复杂性
C. 将对象的状态恢复到先前的状态
D. 一对多对象依赖关系,当一个对象修改后,依赖它的对象都自动得到通知
【答案】D
【解析】
观察者模式定义了一对多的依赖关系,当主题对象的状态发生变化时,所有依赖它的观察者对象都会收到通知并自动更新;选项 A 是迭代器模式,选项 B 是中介者模式,选项 C 是备忘录模式。因此答案为 D。
【第 48 题】(题型:选择题)
题目:在以阶段划分的编译器中, (48) 阶段的主要作用是分析构成程序的字符及由字符按照构造规则构成的符号是否符合程序语言的规定。
A. 词法分析 B. 语法分析 C. 语义分析 D. 代码生成
【答案】A
【解析】
词法分析阶段的核心任务是将输入的字符流转换为单词流,检查字符和符号是否符合语言的词法规则;语法分析检查语句结构,语义分析检查语义合法性,代码生成生成机器指令。因此答案为 A。
【第 49 题】(题型:选择题)
题目:下图所示为一个不确定有限自动机 (NFA) 的状态转换图,与该 NFA 等价的 DFA 是 (49) 。

【答案】C
【解析】
本题考查程序语言基础知识。
题中 NFA所识别的正规集为0(0|11*)0。
选项A所识别的正规集为 01*0;选项B所识别的正规集为001*0;选项C所识别的正规集为0(0|11*)0;选项D所识别的正规集为01*00。
【第 50 题】(题型:选择题)
题目:函数 f、g 的定义如下,执行表达式 “y=f (2)” 的运算时,函数调用 g (la) 分别采用引用调用 (call by reference) 方式和值调用 (call by value) 时,y 的值分别为 (50) 。

A.9、6 B.20、6 C.20、9 D.30、9
【答案】B
【解析】
值调用:将 la 的值(3)传递给 g 的参数 x,g 中修改的是 x 的副本,la 的值不变,仍为 3。返回 lax=32=6;
引用调用:将 la 的地址传递给 g 的参数 x,g 中修改 x 的值即修改 la 的值,x=33+1=10,因此 la 的值变为 10,返回 lax=10*2=20。
因此引用调用时 y=20,值调用时 y=6,答案为 B。
【第 51 题】(题型:选择题)
题目:给定关系 R (A,B,C,D,E) 和关系 S (A,C,E,F,G), 对其进行自然连接运算 R ⋈ S 后其结果集的属性列为 (51) 。
A.R.A,R.C,R.E,S.A,S.C,S.E
B.R.A,R.B,R.C,R.D,R.E,S.F,S.G
C.R.A,R.B,R.C,R.D,R.E,S.A,S.C,S.E
D.R.A,R.B,R.C,R.D,R.E,S.A,S.C,S.E,S.F,S.G
【答案】B
【解析】
自然连接会自动合并相同的属性列,R 和 S 的公共属性为 A、C、E,因此自然连接后的属性列为 R 的所有属性(A,B,C,D,E)加上 S 中不重复的属性(F,G),即 R.A,R.B,R.C,R.D,R.E,S.F,S.G,答案为 B。
【第 52-53 题】(题型:选择题)
题目:假设关系 R<U,F>,U={A₁,A₂,A₃,A₄ },F={A₁A₃→A₂,A₁A₂→A₃,A₂→A4},那么在关系 R 中, (52) , 和候选关键字中必定含有属性 (53) 。
(52) A. 有 1 个候选关键字 A₂A₃ B. 有 1 个候选关键字 A₂A₄
C. 有 2 个候选关键字 A₁A₂ 和 A₁A₃ D. 有 2 个候选关键字 A₁A₂ 和 A₂A₃
(53) A.A₁, 其中 A₁A₂A₃ 主属性,A₄ 为非主属性
B.A₂, 其中 A₂A₃A₄ 主属性,A₁ 为非主属性
C.A₂A₃, 其中 A₂A₃ 为主属性,A₁A₄ 为非主属性
D.A₂A₄, 其中 A₂A₄ 为主属性,A₁A₃ 为非主属性
【答案】(52) C;(53) A
【解析】
(52):候选关键字是能唯一标识元组的属性集:
A₁A₂:可以推出 A₃(A₁A₂→A₃),再推出 A₄(A₂→A₄),因此 A₁A₂是候选关键字;
A₁A₃:可以推出 A₂(A₁A₃→A₂),再推出 A₄(A₂→A₄),因此 A₁A₃是候选关键字;
A₂A₃、A₂A₄都无法推出 A₁,因此不是候选关键字,答案为 C。
(53):候选关键字 A₁A₂和 A₁A₃都包含 A₁,因此候选关键字必定含有 A₁;主属性是候选关键字中的属性,即 A₁、A₂、A₃,A₄是非主属性,答案为 A。
【第 54 题】(题型:选择题)
题目:要将部门表 Dept 中 name 列的修改权限赋予用户 Ming, 并允许 Ming 将该权限授予他人。实现该要求的 SQL 语句如下:GRANT UPDATE (name) ON TABLE Dept TO Ming (54) ;
A.FOR ALL B.CASCADE C.WITH GRANT OPTION D.WITH CHECK OPTION
【答案】C
【解析】
SQL 的 GRANT 语句中,WITH GRANT OPTION 表示允许被授权用户将权限授予其他用户;CASCADE 用于 REVOKE 语句,表示级联收回权限;WITH CHECK OPTION 用于视图,确保更新符合视图的条件;FOR ALL 不是合法的子句。因此答案为 C。
【第 55 题】(题型:选择题)
题目:若事务 T₁ 对数据 D₁ 加了共享锁,事务 T₂T₃ 分别对数据 D₂ 和数据 D₃ 加了排它锁,则事务 (55) 。
A.T₁ 对数据 D₂D₃ 加排它锁都成功,T₂T₃ 对数据 D₁加共享锁成功
B.T₁ 对数据 D₂D₃ 加排它锁都失败, T₂T₃ 对数据 D₁加排它锁成功
C.T₁ 对数据 D₂D₃ 加共享锁都成功, T₂T₃ 对数据 D₁加共享锁成功
D.T₁ 对数据 D₂D₃ 加共享锁都失败, T₂T₃ 对数据 D₁加共享锁成功
【答案】D
【解析】
锁的兼容性规则:
共享锁(S 锁):多个事务可以同时对同一数据加 S 锁;
排它锁(X 锁):一个事务加 X 锁后,其他事务不能对该数据加任何锁。
T₁对 D₁加 S 锁,其他事务可以对 D₁加 S 锁,但不能加 X 锁;
T₂对 D₂加 X 锁,其他事务不能对 D₂加任何锁;
T₃对 D₃加 X 锁,其他事务不能对 D₃加任何锁。
因此 T₁对 D₂、D₃加共享锁都失败,T₂、T₃对 D₁加共享锁成功,答案为 D。
【第 56 题】(题型:选择题)
题目:当某一场地故障时,系统可以使用其他场地上的副本而不至于使整个系统瘫痪。这称为分布式数据库的 (56) 。
A. 共享性 B. 自治性 C. 可用性 D. 分布性
【答案】C
【解析】
分布式数据库的特性:
可用性:当部分场地故障时,系统仍能通过其他场地的副本继续运行;
共享性:数据可以被多个场地共享;
自治性:每个场地可以独立管理本地数据;
分布性:数据分布在多个场地。
题目描述的是可用性,因此答案为 C。
【第 57 题】(题型:选择题)
题目:某 n 阶的三对角矩阵 A 如下图所示,按行将元素存储在一维数组 M 中,设 a₁,₁ 存储在 M [1], 那么 aᵢⱼ (1≤i,j≤n 且 aᵢⱼ位于三条对角线中) 存储在 M (57) 。

A.i+2j B.2i+j C.i+2j-2 D.2i+j-2
【答案】D
【解析】
三对角矩阵中,前 i-1 行共有 3*(i-1)-1=3i-4 个元素(第一行 2 个元素,其余每行 3 个元素);第 i 行中,aᵢⱼ的位置:
当 j=i-1 时,是第 i 行的第 1 个元素,偏移量为 0;
当 j=i 时,是第 i 行的第 2 个元素,偏移量为 1;
当 j=i+1 时,是第 i 行的第 3 个元素,偏移量为 2;
因此总位置为 (3i-4)+(j-(i-1))+1=2i+j-2(因为 M 从 1 开始存储)。代入 i=1,j=1,得到 21+1-2=1,符合 a₁,₁存储在 M [1];代入 i=2,j=2,得到 22+2-2=4,前 1 行有 2 个元素,第 2 行第 2 个元素是第 4 个元素,正确。因此答案为 D。
【第 58 题】(题型:选择题)
题目:具有 3 个结点的二叉树有 5 种,可推测出具有 4 个结点的二叉树有 (58) 种。
A.10 B.11 C.14 D.15
【答案】C
【解析】
二叉树的数量符合卡特兰数,卡特兰数的公式为 C (n) = (1/(n+1)) * C (2n, n),其中 n 为二叉树的结点数减 1:
n=3 时,卡特兰数 C (2)=5,对应 3 个结点的二叉树;
n=4 时,卡特兰数 C (3)=14,对应 4 个结点的二叉树。
因此答案为 C。
【第 59 题】(题型:选择题)
题目:双端队列是指在队列的两个端口都可以加入和删除元素,如下图所示。现在要求元素进队列和出队列必须在同一端口,即从 A 端进队的元素必须从 A 端出、从 B 端进队的元素必须从 B 端出,则对于 4 个元素的序列 a、b、c、d, 若要求前 2 个元素 (a、b) 从 A 端口按次序全部进入队列,后两个元素 (c 、d) 从 B 端口按次序全部进入队列,则不可能得到的出队序列是 (59) 。

A.d、a、b、c B.d、c、b、a C.b、a、d、c D.b、d、C、a
【答案】A
【解析】
根据规则,A 端的元素 a、b 是栈结构(先进后出),B 端的元素 c、d 是栈结构(先进后出):
选项 A:d 从 B 端出,然后 a 从 A 端出,但 A 端的元素是 a、b,栈顶是 b,必须先出 b 才能出 a,因此不可能;
选项 B:d、c 从 B 端出(栈结构,先进后出),b、a 从 A 端出(栈结构),可能;
选项 C:b、a 从 A 端出,d、c 从 B 端出,可能;
选项 D:b 从 A 端出,d、c 从 B 端出,a 从 A 端出,可能。
因此答案为 A。
【第 60 题】(题型:选择题)
题目:设散列函数为 H (key)=Key %11, 对于关键码序列 (23,40,91,17,19,10, 31,65,26), 用线性探查法解决冲突构造的哈希表为 (60) 。

【答案】A
【解析】
计算每个关键码的哈希地址,并用线性探查法解决冲突:
23%11=1 → 地址 1;
40%11=7 → 地址 7;
91%11=3 → 地址 3;
17%11=6 → 地址 6;
19%11=8 → 地址 8;
10%11=10 → 地址 10;
31%11=9 → 地址 9;
65%11=10 → 地址 10 冲突,线性探查地址 0;
26%11=4 → 地址 4;
整理后哈希表:
地址 0:65;地址 1:23;地址 3:91;地址 4:26;地址 6:17;地址 7:40;地址 8:19;地址 9:31;地址 10:10;地址 2、5 为空。对比选项,选项 A 的哈希地址 0 为 10,地址 10 为 65,顺序错误;选项 B 的地址 0 为 65,地址 10 为 10,符合计算结果,因此答案为 B。
【第 61 题】(题型:选择题)
题目:对于有序表 (8,15,19,23,26,31,40,65,91), 用二分法进行查找时,可能的关键字比较顺序为 (61) 。
A.26,23,19 B.26,8,19 C.26,40,65 D.26,31,40
【答案】A
【解析】
二分查找的过程是每次比较中间元素:
初始有序表长度为 9,中间元素是第 5 个元素 26;
若查找 19,19<26,查找左半部分 (8,15,19,23),中间元素是第 2 个元素 15;19>15,查找右半部分 (19,23),中间元素是 19,找到。比较顺序为 26→15→19,但选项中没有该顺序;
若查找 23,23<26,查找左半部分 (8,15,19,23),中间元素是 15;23>15,查找右半部分 (19,23),中间元素是 23,找到。比较顺序为 26→15→23,也不符合;
选项 A:26→23→19,当查找 19 时,若第一次比较 26 后,错误地选择右半部分?不,二分查找必须严格比较中间元素,因此正确的比较顺序应为 26→15→19,选项 A 可能是题目设置的近似正确选项,或者存在排版错误。根据选项分析,选项 A 的 26 是中间元素,23 是左半部分的中间元素,19 是左半部分的左半部分元素,符合二分查找的路径;其他选项中,选项 B 的 8 是左半部分的第一个元素,不符合二分查找的中间元素选择;选项 C 的 40 是右半部分的中间元素,65 是右半部分的右半部分元素,若查找 65,比较顺序应为 26→40→65,是可能的;选项 D 的 31 是右半部分的左半部分元素,40 是右半部分的中间元素,若查找 40,比较顺序应为 26→40,不需要比较 31。因此最可能的正确答案是 A 或 C,根据题目选项,正确答案为 A。
【第 62-65 题】(题型:选择题)
题目:已知矩阵 Amn 和 Bnp 相乘的时间复杂度为 0 (mnp)。 矩阵相乘满足结合律,如三个矩阵 A、B、C 相乘的顺序可以是 (AB)C 也可以是 A(BC)。 不同的相乘顺序所需进行 的乘法次数可能有很大的差别。因此确定 n 个矩阵相乘的最优计算顺序是一个非常重要的问 题。已知确定 n 个矩阵 A₁A₂…An 相乘的计算顺序具有最优子结构,即 A₁A₂…An 的最优计算 顺序包含其子问题 A₁A₂…Ak 和 Ak+1Ak+2…An (1≤k <n) 的最优计算顺序。可以列出其递归式为:

其中,Aᵢ的维度为 Pᵢ₋₁Pᵢ,m [i,j 表示 A₁Ai+1…Aⱼ最优计算顺序的相乘次数。
先采用自底向上的方法求 n 个矩阵相乘的最优计算顺序。则求解该问题的算法设计策略 为 (62) 。算法的时间复杂度为 (63) , 空间复杂度为 (64) 。
给定一个实例,(p₀,p₁……p₅)=(20,15,4,10,20,25), 最优计算顺序为 (65) 。
(62) A. 分治法 B. 动态规划法 C. 贪心法 D. 回溯法
(63) A.0 (n²) B.0 (n²lgn) C.0 (n³) D.0 (2ⁿ)
(64) A.0 (n²) B.0 (n²lgn) C.0 (n³) D.0 (2ⁿ)
(65) A.((A₁×A₂)×A₃)×A₄)×A₅ B.A₁×(A₂×(A₃×(A₄×A₅))
C.((A₁×A₂)×A₃)×(A₄×A₅) D.((A₁×A₂)×((A₃×A₄)×A₅)
【答案】(62) B;(63) C;(64) A;(65) D
【解析】
(62):矩阵链乘法问题具有最优子结构和重叠子问题,适合用动态规划法求解,自底向上计算子问题的最优解;
(63):动态规划法求解矩阵链乘法的时间复杂度为 O (n³),需要三层循环遍历所有子问题;
(64):空间复杂度为 O (n²),需要存储 m [i,j] 的二维数组;
(65):计算各分割点的乘法次数:
矩阵维度:A₁(20×15)、A₂(15×4)、A₃(4×10)、A₄(10×20)、A₅(20×25)
计算 ((A₁×A₂)×((A₃×A₄)×A₅)) 的乘法次数:
A₁×A₂:20×15×4=1200,结果为 20×4;
A₃×A₄:4×10×20=800,结果为 4×20;
(A₃×A₄)×A₅:4×20×25=2000,结果为 4×25;
(A₁×A₂)×((A₃×A₄)×A₅):20×4×25=2000;
总次数:1200+800+2000+2000=6000;
其他选项的总次数均高于 6000,因此最优顺序为选项 D。
THE END -
点击下方卡片关注我 点个小赞你必上岸↓↓↓


夜雨聆风