2025 年 7 月第 1 次 408 月考试卷

科目组合

计算机: 数据结构 、计算机组成原理 、操作系统 、计算机网络

01: 40: 00
答题卡
得分 129/150
答对题目数 37/47
评价

答题情况分析报告

正确: 37
错误: 10
未答: 0
总分: 129/150
正确率 78.7%
第1题 数据结构 单选题 题目链接

下列关于线性表插入操作的时间复杂度分析,正确的是()

A. 顺序表在第 i 个元素前插入,平均时间复杂度为 O (1)

B. 单链表在第 i 个元素前插入,若已知头指针,时间复杂度为 O (1)

C. 顺序表在第 i 个元素前插入,最坏时间复杂度为 O (n)

D. 单链表在第 i 个元素前插入,若已知第 i 个元素的指针,时间复杂度为 O (n)

正确答案:C 你的答案: 正确 正确率:100%
点击此处查看本题答案

第2题 数据结构 单选题 题目链接

已知栈的 push 序列为 1,2,3,4,且每个元素 push 后均可 pop,则下列不可能的 pop 序列是()

A.1,2,3,4     B.4,3,2,1     C.2,1,4,3     D.4,2,3,1

正确答案:D 你的答案: 正确 正确率:100%
点击此处查看本题答案

第3题 数据结构 单选题 题目链接

若循环队列采用顺序存储结构,容量为 M(下标 0~M-1),front 指向队头元素,rear 指向队尾元素的下一个位置,且队列非空时 front≠rear,则该循环队列的判满条件是()

A.rear == front     B.(rear + 1) % M == front

C.rear == M-1     D.(rear - 1) % M == front

正确答案:B 你的答案: 正确 正确率:80%
点击此处查看本题答案

第4题 数据结构 单选题 题目链接

已知某二叉树的中序遍历序列为 DBEAFC,后序遍历序列为 DEBFCA,则其前序遍历序列为()

A.ABDECF     B.ABDCEF     C.AEDBCF     D.AEDCBF

正确答案:A 你的答案: 正确 正确率:100%
点击此处查看本题答案

第5题 数据结构 单选题 题目链接

初始平衡二叉树(AVL 树)的结构为:根节点 30,左孩子 20,右孩子 40,40 的右孩子 50。现将关键字 60 插入该 AVL 树后,为使树重新平衡,需进行的旋转类型是()

A.LL 旋转     B.RR 旋转     C.LR 旋转     D.RL 旋转

正确答案:B 你的答案: 正确 正确率:60%
点击此处查看本题答案

第6题 数据结构 单选题 题目链接

给定关键字权值集合 {5,6,7,8,9},构造哈夫曼树后,该树的带权路径长度(WPL)为()

A.79     B.81     C.83     D.85

正确答案:B 你的答案: 正确 正确率:100%
点击此处查看本题答案

第7题 数据结构 单选题 题目链接

无向图 G 的顶点集 V={1,2,3,4,5},边集 E={(1,2),(1,3),(2,4),(3,5)},若 G 采用邻接表存储,从顶点 1 开始进行深度优先搜索(DFS),则下列不可能的 DFS 序列是()

A.1→2→4→3→5     B.1→3→5→2→4

C.1→2→3→4→5     D.1→3→2→4→5

正确答案:C 你的答案: D 正确率:56%
点击此处查看本题答案

第8题 数据结构 单选题 题目链接

有向图 G 中,源点为 V0,各边及权值为:V0→V1(2),V0→V2(5),V1→V2(1),V1→V3(4),V2→V3(1)。采用迪杰斯特拉算法求 V0 到 V3 的最短路径长度,结果为()

A.3     B.4     C.5     D.6

正确答案:B 你的答案: 正确 正确率:86%
点击此处查看本题答案

第9题 数据结构 单选题 题目链接

散列表的地址空间为 0~6(哈希函数 H (key)=key%7),采用线性探测法处理冲突。若关键字序列为 {23,14,9,6,30,12,18},则该散列表查找成功的平均查找长度(ASL)为()

A.1     B.2     C.3     D.4

正确答案:B 你的答案: 正确 正确率:100%
点击此处查看本题答案

第10题 数据结构 单选题 题目链接

下列排序算法中,最坏时间复杂度为 O (n²) 且不稳定的是()

A. 冒泡排序     B. 直接插入排序     C. 快速排序     D. 归并排序

正确答案:C 你的答案: 正确 正确率:87%
点击此处查看本题答案

第11题 数据结构 单选题 题目链接

将关键字序列 {50,30,70,20,40,60,80} 依次插入空的二叉排序树(BST)后,该 BST 查找成功的平均查找长度(ASL)为()

A.15/7     B.17/7     C.19/7     D.21/7

正确答案:B 你的答案: 正确 正确率:100%
点击此处查看本题答案

第12题 计算机组成原理 单选题 题目链接

某计算机采用双符号位补码表示浮点数,格式为 “阶码(4 位,含 2 位符号位)+ 尾数(8 位,含 2 位符号位)”,基数为 2。若两浮点数 X=2^3×0.1101(补码表示为阶码 0011,尾数 00110100)、Y=2^2×(-0.1010)(补码表示为阶码 0010,尾数 11011000),执行 X+Y 后结果的状态是()

A. 规格化、无溢出     B. 规格化、有溢出

C. 非规格化、无溢出     D. 非规格化、有溢出

正确答案:A 你的答案: B 正确率:53%
点击此处查看本题答案

第13题 计算机组成原理 单选题 题目链接

某三级存储系统采用 “L1 不命中则访问 L2,L2 不命中则访问主存” 的串行访问方式。已知:L1 Cache 访问时间 1ns,命中率 78%;L2 Cache 访问时间 10ns,命中率 75%;主存访问时间 140ns。该存储系统的平均访问时间为()

A.3.2ns     B.10.9ns     C.19.5ns     D.28.3ns

正确答案:B 你的答案: 正确 正确率:80%
点击此处查看本题答案

第14题 计算机组成原理 单选题 题目链接

某计算机指令系统采用相对寻址方式,指令格式为 “操作码(6 位)+ 位移量(16 位,补码)”,指令字长 24 位(1 字节 = 8 位)。若当前 PC 值为 0x123456(指向当前指令的地址),则执行指令 “JMP disp”(其中 disp=0x0005,补码形式)后,PC 的目标地址为()

A. 0x123456     B. 0x12345C     C. 0x12345E     D. 0x123464

正确答案:C 你的答案: 正确 正确率:87%
点击此处查看本题答案

第15题 计算机组成原理 单选题 题目链接

某 4 段流水线的各段执行时间分别为:段 1(2ns)、段 2(4ns)、段 3(1ns)、段 4(3ns)。已知非流水线执行同样任务时,单任务周期为各段串行总时间(即 10ns)。当连续执行 100 条相同任务时,该流水线的加速比约为()

A.1.67     B.2.5     C.3.33     D.4

正确答案:B 你的答案: 正确 正确率:80%
点击此处查看本题答案

第16题 计算机组成原理 单选题 题目链接

某计算机采用 8421 BCD 码表示十进制数,执行两个 1 位 BCD 码加法 “5+6” 时,若采用 “先相加再校正” 的方式,校正后的结果(BCD 码)及校正逻辑为()

A.0001 0001,无需校正     B.0001 0001,加 6 校正

C.0000 0001,加 6 校正     D.0000 0001,无需校正

正确答案:B 你的答案: 正确 正确率:93%
点击此处查看本题答案

第17题 计算机组成原理 单选题 题目链接

用 4K×8 位的 SRAM 芯片组成 16K×16 位的存储器,需采用的扩展方式及所需芯片数量为()

A. 仅字扩展,4 片     B. 仅位扩展,2 片

C. 字扩展 + 位扩展,8 片    D. 字扩展 + 位扩展,16 片

正确答案:C 你的答案: 正确 正确率:100%
点击此处查看本题答案

第18题 计算机组成原理 单选题 题目链接

下列微操作中,不属于指令取指周期的是()

A.PC → MAR     B.MDR → IR

C.IR(操作数地址字段)→ MAR   D.PC + 1 → PC

正确答案:C 你的答案: 正确 正确率:87%
点击此处查看本题答案

第19题 计算机组成原理 单选题 题目链接

下列关于 I/O 接口独立编址方式的特点描述,正确的是()

A. 需使用访存指令访问 I/O 设备

B.I/O 地址空间与内存地址空间重叠

C. 需设置专用的 I/O 指令

D. 可直接复用内存的地址译码电路

正确答案:C 你的答案: 正确 正确率:93%
点击此处查看本题答案

第20题 计算机组成原理 单选题 题目链接

某浮点数格式中,尾数采用原码表示,基数分别为 2 和 4,尾数位数均为 24 位(含 1 位符号位)。忽略阶码影响,仅从尾数精度角度比较,两者的关系为()

A. 基数 2 的精度高于基数 4

B. 基数 4 的精度高于基数 2

C. 两者精度相同

D. 精度与基数无关,仅与尾数位数有关

正确答案:A 你的答案: 正确 正确率:60%
点击此处查看本题答案

第21题 计算机组成原理 单选题 题目链接

程序状态字(PSW)寄存器用于保存 CPU 运行状态,下列标志位中,不属于 PSW 的是()

A. 进位标志(CF)     B. 零标志(ZF)

C. 中断允许标志(IF)  D. 指令地址标志(IAF)

正确答案:D 你的答案: 正确 正确率:93%
点击此处查看本题答案

第22题 计算机组成原理 单选题 题目链接

某 3 段流水线(取指 IF、译码 ID、执行 EX),执行指令序列: ADD R1, R2, R3 (R1 = R2 + R3,EX 段写 R1) SUB R4, R1, R5 (R4 = R1 - R5,ID 段读 R1) MUL R1, R6, R7 (R1 = R6 × R7,EX 段写 R1) 该指令序列存在的流水线数据冒险类型是()

A. 仅 RAW(写后读)     B. 仅 WAR(读后写)

C.RAW 和 WAW(写后写)  D.WAR 和 WAW

正确答案:C 你的答案: A 正确率:13%
点击此处查看本题答案

第23题 操作系统 单选题 题目链接

某系统中有 3 个进程 P1、P2、P3,其到达时间(AT)和运行时间(BT)如下表所示。若采用抢占式调度算法,下列哪种算法的平均周转时间(周转时间 = 完成时间 - 到达时间)最小?

$$
\begin{array}{|c|c|c|}
\hline
\text{进程} & \text{到达时间(AT)} & \text{运行时间(BT)} \\
\hline
\text{P1} & 0 & 4 \\
\hline
\text{P2} & 1 & 1 \\
\hline
\text{P3} & 2 & 1 \\
\hline
\end{array}
$$

A. 先来先服务(FCFS)

B. 非抢占式短作业优先(SJF)

C. 抢占式短作业优先(SJF)

D. 静态优先级(优先级:P1>P2>P3)

正确答案:C 你的答案: 正确 正确率:100%
点击此处查看本题答案

第24题 操作系统 单选题 题目链接

某系统存在一类可重用资源 R,共 8 个。系统中有 3 个进程 P1、P2、P3,每个进程对资源 R 的最大需求分别为 4、5、6。若当前资源分配情况为 P1 已分配 3 个、P2 已分配 2 个、P3 已分配 2 个,此时系统是否存在死锁风险?若存在,其根本原因是?

A. 不存在,因剩余资源可通过合理分配满足所有进程的最终需求(存在安全序列)

B. 存在,因满足死锁 “循环等待” 条件

C. 存在,因满足死锁 “资源不足” 条件(n*(k-1)≥m,n 为进程数,k 为进程最大需求,m 为资源总数)

D. 不存在,因所有进程已获取部分资源

正确答案:A 你的答案: 正确 正确率:60%
点击此处查看本题答案

第25题 操作系统 单选题 题目链接

某分页存储系统中,页面大小为 4KB(2¹²B),逻辑地址采用 32 位表示。若某进程的逻辑地址为 0x123456(十六进制),则该地址对应的页号是?

A. 0x12     B. 0x123     C. 0x1234     D. 0x2345

正确答案:B 你的答案: 正确 正确率:80%
点击此处查看本题答案

第26题 操作系统 单选题 题目链接

某虚拟内存系统采用 标准 Clock(最近未使用,仅使用位)页面置换算法,内存块数为 3。若某进程的页面访问序列为 1、2、3、4、1、2、5、1、2、3、4、5,则该序列的缺页次数是?

A. 6     B. 7     C. 8     D. 9

正确答案:D 你的答案: 正确 正确率:73%
点击此处查看本题答案

第27题 操作系统 单选题 题目链接

在生产者 - 消费者问题中,假设缓冲区大小为 5,用信号量实现同步与互斥。下列关于信号量初值的描述,正确的是?

A. 互斥信号量 mutex 初值为 5,空缓冲区信号量 empty 初值为 1,满缓冲区信号量 full 初值为 0

B. 互斥信号量 mutex 初值为 1,空缓冲区信号量 empty 初值为 5,满缓冲区信号量 full 初值为 0

C. 互斥信号量 mutex 初值为 1,空缓冲区信号量 empty 初值为 0,满缓冲区信号量 full 初值为 5

D. 互斥信号量 mutex 初值为 5,空缓冲区信号量 empty 初值为 0,满缓冲区信号量 full 初值为 1

正确答案:B 你的答案: 正确 正确率:100%
点击此处查看本题答案

第28题 操作系统 单选题 题目链接

某文件系统采用混合索引结构,盘块大小为 1KB(2¹⁰B),索引项大小为 4B。若索引结构包含 10 个直接索引项、1 个一级间接索引项、1 个二级间接索引项,则该文件系统支持的最大文件大小是?

A. (10+256)×1KB     B. (10+256+256²)×1KB

C. (10+512)×1KB     D. (10+512+512²)×1KB

正确答案:B 你的答案: 正确 正确率:100%
点击此处查看本题答案

第29题 操作系统 单选题 题目链接

下列关于 I/O 控制方式的描述,正确的是?

A. 程序查询方式中,CPU 需持续查询 I/O 设备状态,I/O 效率最高

B. 中断驱动方式中,CPU 仅在 I/O 设备完成数据传送后处理中断,可并行执行其他任务

C. DMA 方式中,数据传送需 CPU 逐字节控制,仅减少中断次数

D. 通道方式中,通道完全独立于 CPU,无需 CPU 初始化通道程序

正确答案:B 你的答案: 正确 正确率:56%
点击此处查看本题答案

第30题 操作系统 单选题 题目链接

在进程状态转换中,下列哪种转换是不可能发生的?

A. 运行态→就绪态     B. 运行态→阻塞态

C. 就绪态→阻塞态     D. 阻塞态→就绪态

正确答案:C 你的答案: 正确 正确率:93%
点击此处查看本题答案

第31题 操作系统 单选题 题目链接

某系统存在 2 类资源 R1(3 个)、R2(2 个),2 个进程 P1、P2。当前资源分配情况如下:P1 已分配 R1:1、R2:1,最大需求 R1:2、R2:2;P2 已分配 R1:1、R2:0,最大需求 R1:2、R2:1。此时系统剩余资源为 R1:1、R2:1,若 P1 提出请求 R1:0、R2:1,系统是否应批准该请求?依据是?

A. 应批准,批准后系统无死锁风险

B. 应拒绝,批准后系统存在死锁风险

C. 应批准,P1 的请求未超过最大需求

D. 应拒绝,P2 的剩余需求无法满足

正确答案:A 你的答案: 正确 正确率:79%
点击此处查看本题答案

第32题 操作系统 单选题 题目链接

下列关于页面大小对内存性能影响的描述,正确的是?

A. 页面越大,页内碎片越小,缺页率越低

B. 页面越大,页内碎片越大,缺页率通常越低

C. 页面越小,页内碎片越大,缺页率越高

D. 页面越小,页内碎片越小,缺页率越低

正确答案:B 你的答案: 正确 正确率:86%
点击此处查看本题答案

第33题 计算机网络 单选题 题目链接

下列关于 OSI 七层模型与 TCP/IP 四层模型的对应关系及协议归属的描述中,错误的是()

A. OSI 应用层对应 TCP/IP 应用层,FTP 协议属于该层次

B. OSI 传输层对应 TCP/IP 传输层,TCP 协议属于该层次

C. OSI 网络层对应 TCP/IP 网际层,IP 协议属于该层次

D. OSI 数据链路层对应 TCP/IP 网络接口层,HTTP 协议属于该层次

正确答案:D 你的答案: 正确 正确率:93%
点击此处查看本题答案

第34题 计算机网络 单选题 题目链接

在 TCP 拥塞控制机制中,当发生 “快重传” 后,拥塞窗口(cwnd)和慢开始阈值(ssthresh)的变化规律是()

A. cwnd 重置为 1,ssthresh 减半

B. cwnd 重置为 ssthresh,之后按线性规律增长

C. cwnd 继续按指数规律增长,ssthresh 保持不变

D. cwnd 减半,ssthresh 重置为当前 cwnd

正确答案:B 你的答案: 正确 正确率:7%
点击此处查看本题答案

第35题 计算机网络 单选题 题目链接

某主机的 IP 地址为 192.168.1.125,子网掩码为 255.255.255.192,该主机所在子网的网络地址和可用主机数分别是()

A. 192.168.1.64,62     B. 192.168.1.128,62

C. 192.168.1.64,64     D. 192.168.1.96,30

正确答案:A 你的答案: 正确 正确率:93%
点击此处查看本题答案

第36题 计算机网络 单选题 题目链接

关于 ARP 协议的功能与工作原理,下列说法错误的是()

A. ARP 用于将 IP 地址解析为对应的 MAC 地址

B. ARP 请求报文以广播方式发送,ARP 响应报文以单播方式发送

C. ARP 协议可以跨路由器实现不同网段主机的 IP 地址到 MAC 地址的解析

D. 主机发送 ARP 请求时,会在 ARP 缓存表中暂存目标 IP 地址与自身 MAC 地址的映射

正确答案:C 你的答案: 正确 正确率:79%
点击此处查看本题答案

第37题 计算机网络 单选题 题目链接

下列关于 HTTP 协议版本的特征描述中,正确的是()

A. HTTP/1.0 支持长连接(Keep-Alive),默认使用持久连接

B. HTTP/1.1 支持流水线(Pipelining),可在一个 TCP 连接中并发发送多个请求

C. HTTP/2 支持明文传输,与 HTTP/1.1 相比仅提升了传输速率

D. HTTPS 是 HTTP 的加密版本,其加密层基于 SSLv3 协议实现

正确答案:B 你的答案: 正确 正确率:62%
点击此处查看本题答案

第38题 计算机网络 单选题 题目链接

下列网络设备中,既能分割冲突域,又不能分割广播域的是()

A. 集线器(HUB)     B. 以太网交换机

C. 路由器       D. 网桥

正确答案:B 你的答案: 正确 正确率:79%
点击此处查看本题答案

第39题 计算机网络 单选题 题目链接

某主机发送一个 IP 数据报,总长度为 1500 字节(IP 头占 20 字节,数据部分占 1480 字节),当该数据报经过一个 MTU 为 1000 字节的网络时,需要分片的数量及各分片的数据部分长度分别是()

A. 1 片,1480 字节

B. 2 片,980 字节和 500 字节

C. 2 片,960 字节和 520 字节

D. 3 片,980 字节、480 字节和 20 字节

正确答案:C 你的答案: 正确 正确率:79%
点击此处查看本题答案

第40题 计算机网络 单选题 题目链接

在滑动窗口协议中,Go-Back-N(GBN)协议的窗口特征是()

A. 发送窗口大小 = 1,接收窗口大小 = 1

B. 发送窗口大小 > 1,接收窗口大小 > 1

C. 发送窗口大小 > 1,接收窗口大小 = 1

D. 发送窗口大小 = 接收窗口大小 > 1

正确答案:C 你的答案: 正确 正确率:100%
点击此处查看本题答案

第41题 数据结构 综合题 题目链接

(13分)已知一棵二叉树,每个节点存储一个整数权值,二叉树节点的结构定义如下:

typedef struct BiNode {
    int val;            // 节点权值
    struct BiNode *lchild; // 左孩子指针
    struct BiNode *rchild; // 右孩子指针
} BiNode, *BiTree;

定义“有效路径”为:从二叉树的根节点出发,向下延伸至任意节点(可含叶子节点或非叶子节点)的连续节点序列,且路径上所有节点的权值之和等于给定整数k。

要求设计一个算法,找出该二叉树中所有的“有效路径”,并在找到每条路径时打印路径上的节点权值(从根到路径终点的顺序)。

函数原型为:`void FindValidPaths(BiTree T, int k, int *path, int pathLen);`
其中:`path`为用于临时存储当前路径的数组,`pathLen`为当前路径的节点个数(初始调用时pathLen=0)。

请回答以下问题:

(1) 给出算法的基本设计思想;(4分)

(2) 根据设计思想,采用C语言描述算法,关键之处给出注释;(7分)

(3) 说明你所设计算法的时间复杂度和空间复杂度。(2分)

你的答案:

1)

DFS 前序遍历二叉树,记录根到当前节点的路径。

每当进入一个节点,计算根到该节点的路径和。

如果路径和等于 k,则输出当前路径(从 path[0] 到 path[pathLen-1])。

递归遍历左子树和右子树。回溯时恢复 pathLen

2)

void FindValidPaths(BiTree T, int k, int *path, int pathLen) {
    if (T == NULL) return;

    // 将当前节点加入路径
    path[pathLen] = T->val;
    pathLen++;

    // 检查从根到当前节点的路径和是否等于 k
    int sum = 0;
    for (int i = 0; i < pathLen; i++) {
        sum += path[i];
    }
    if (sum == k) {
        printPath(path, pathLen);
    }

    // 递归遍历左子树和右子树
    FindValidPaths(T->lchild, k, path, pathLen);
    FindValidPaths(T->rchild, k, path, pathLen);

    // 回溯:pathLen 在递归返回后自动恢复(因为传值),所以不需要显式删除
    // 实际上 pathLen 是值传递,递归返回后回到原来的值
}

3)

时间复杂度:每个节点访问一次,在访问每个节点时,计算从根到当前节点的路径和需要 O(路径长度),路径长度最大为树高 h。所以总复杂度为 O(n × h),在平衡树中 h = log n,最坏链状树 h = n,所以最坏 O(n²),平均 O(n log n)。

空间复杂度:递归栈空间 O(h),路径数组空间 O(h),所以总空间复杂度 O(h)。


评分及理由

(1)得分及理由(满分4分)

得分:4分

理由:学生的设计思想与标准答案完全一致,都采用了DFS前序遍历、路径记录和回溯的思想。明确提到了路径记录、路径和检查、递归遍历子树以及回溯操作,思路清晰完整。

(2)得分及理由(满分7分)

得分:6分

理由:

  • 代码整体结构正确,实现了前序遍历和路径记录
  • 正确实现了路径和的计算和检查
  • 正确实现了左右子树的递归遍历
  • 扣分项:缺少printPath函数的实现(1分)。虽然学生提到了printPath函数,但在代码中没有给出具体实现,这是一个重要的逻辑缺失。

(3)得分及理由(满分2分)

得分:2分

理由:学生正确分析了时间复杂度和空间复杂度。时间复杂度分析为O(n×h),并区分了最坏情况和平均情况;空间复杂度分析为O(h),与标准答案一致。

题目总分:4+6+2=12分

点击此处查看本题答案

第42题 数据结构 综合题 题目链接

(10分)已知关键字序列为{15, 8, 20, 5, 12, 25, 10, 18},请回答下列问题:
(1)若将该序列中的关键字依次插入初始为空的二叉排序树(BST)中,画出最终构造的BST结构,并计算该BST在等概率查找每个关键字情况下的平均查找长度(ASL);(4分)
(2)在(1)构造的BST中,查找关键字18时,给出查找路径(以“根节点关键字→...→目标关键字”的形式表示)及所需的关键字比较次数;(3分)
(3)在(1)构造的BST中,删除关键字20后,画出删除后的BST结构(需明确删除节点的处理方式),并简要说明删除过程;(3分)

你的答案:

1)

总比较次数 = 1 + 2 + 2 + 3 + 3 + 3 + 4 + 3 = 21
ASL = 21 / 8 = 2.625

2)

查找路径:15→20→18
比较次数:3

3)

        15
       /  \
      8    18
     / \     \
    5  12    25
       /
      10

删除过程:用直接前驱 18 替换 20,然后删除原 18 节点(叶子节点)。


评分及理由

(1)得分及理由(满分4分)

学生通过图形展示了BST结构,但图形中节点排列存在部分错误(如18和25的位置关系不符合BST规则),不过从文字描述和ASL计算来看,学生正确理解了BST的构造逻辑和ASL计算方法。ASL计算结果(2.625)与标准答案一致,且计算过程完整。图形错误可能为识别问题或绘制偏差,但核心逻辑正确。扣1分。

得分:3分

(2)得分及理由(满分3分)

学生正确给出了查找路径(15→20→18)和比较次数(3次),与标准答案完全一致。无逻辑错误。

得分:3分

(3)得分及理由(满分3分)

学生给出的删除后BST结构正确(用18替换20后调整子树),但删除过程描述存在逻辑错误:标准方法应使用中序后继(25)而非直接前驱(18)进行替换。学生错误地使用直接前驱替换,导致子树连接关系混乱(如18的右子树应连接25,但图中未体现)。扣2分。

得分:1分

题目总分:3+3+1=7分

点击此处查看本题答案

第43题 计算机组成原理 综合题 题目链接

(13分)已知计算机 M 字长为 32 位,按字节编址,相关存储参数如下:
Cache 数据区大小为 32KB,采用 8 路组相联,主存块大小为 64B,Cache 命中时间为 1 个时钟周期,缺失损失为 180 个时钟周期;
采用页式虚拟存储,页大小为 4KB;
int 类型数据占 4 字节(sizeof (int)=4B),数组 a 的起始虚拟地址(VA31~VA0)为 01C0 0030H。
现有程序段:
int k, a [2048], i;
for (i=0; i<2048; i++)
a [i] = a [i] * k;
假设代码已在 Cache 中,k、i 已装入内存但不在 Cache,回答下列问题:
主存地址中的 Cache 组号、块内地址分别占几位?VA 中哪些位可以作为 Cache 索引?(3 分)
a [512] 的 VA 是多少?a [512] 所在主存块对应的 Cache 组号是多少?(4 分)
a [0] 在其主存块内的偏移量是多少?执行 for 循环过程中,访问 a 的 Cache 缺失率和数组元素的平均访问时间分别是多少?(缺失率用百分比表示,保留两位小数;平均访问时间以时钟周期为单位,保留两位小数)(4 分)
数组 a 分布在几个页中?若代码已在主存,a 不在主存,则执行 for 循环过程中,访问 a 所引起的缺页次数是多少?(2 分)

你的答案:

(1)组号 6 位,块内地址 6 位,Cache 索引位 VA[11:6]
(2)a[512] 的 VA = 01C0 0830H,Cache 组号 = 2
(3)a[0] 块内偏移量 = 48 字节,缺失率 = 3.12%,平均访问时间 = 6.63 周期
(4)数组在 2 页中,缺页次数 = 2


评分及理由

(1)得分及理由(满分3分)

学生正确回答了组号位数(6位)、块内地址位数(6位)和Cache索引位(VA[11:6]),与标准答案完全一致。得3分。

(2)得分及理由(满分4分)

学生正确计算了a[512]的VA地址(01C00830H),但在计算Cache组号时出现错误:学生答案为2,而标准答案为32。组号计算错误扣2分。本题得2分。

(3)得分及理由(满分4分)

学生正确计算了a[0]的块内偏移量(48字节)、缺失率(3.12%)和平均访问时间(6.63周期)。虽然缺失率3.12%与标准答案3.13%有微小差异,但这是四舍五入导致的合理误差,不扣分。本题得4分。

(4)得分及理由(满分2分)

学生正确回答了数组分布在2页中,缺页次数为2次,与标准答案完全一致。得2分。

题目总分:3+2+4+2=11分

点击此处查看本题答案

第44题 计算机组成原理 综合题 题目链接

(10分)已知某计算机M的字长为32位,int型数据占4字节,其执行如下C程序段时的部分机器级代码如下(每行依次包含指令序号、虚拟地址、机器指令和汇编指令,汇编指令中[ebp-X]表示栈帧中存放局部变量的地址):

int a[32][64]; // 数组a在主存中连续存放,首地址为00431000H
for(int i=0; i<32; i++){    // 外层循环:i从0到31
    for(int j=0; j<64; j++){// 内层循环:j从0到63
        a[i][j] = 0x12345678; // 给数组元素赋值
    }
}

对应的机器级代码(部分):

1   00402050  C7 45 F8 00 00 00 00              mov [ebp-8], 0        ; 初始化i=0
2   00402057  EB 0B                             jmp 00402064H         ; 跳转到外层循环判断
3   00402059  8B 45 F8                          mov eax, [ebp-8]      ; eax = i
4   0040205C  6B C0 40                          imul eax, eax, 40H    ; eax = i * 64(64为数组列数)
5   0040205F  89 45 F4                          mov [ebp-4], eax      ; [ebp-4] = i*64
6   00402062  EB 09                             jmp 0040206DH         ; 跳转到内层循环判断
7   00402064  C7 45 FC 00 00 00 00              mov [ebp-4], 0        ; 初始化j=0
8   0040206B  8B 55 FC                          mov edx, [ebp-4]      ; edx = j
9   0040206E  8B 75 F4                          mov esi, [ebp-4]      ; esi = i*64(第5条指令赋值结果)
10  00402071  C7 84 B6 00 10 43 00 78 56 34 12  mov [esi*4 + edx*4 + 00431000H], 0x12345678 ; a[i][j] = 0x12345678
11  0040207C  83 45 FC 01                       add [ebp-4], 1        ; j++
12  00402080  83 7D FC 3F                       cmp [ebp-4], 3FH      ; 比较j与63(判断j<64)
13  00402084  7C E6                             jl 0040206BH          ; 若j<64,跳回内层循环执行
14  00402086  83 45 F8 01                       add [ebp-8], 1        ; i++
15  0040208A  83 7D F8 1F                       cmp [ebp-8], 1FH      ; 比较i与31(判断i<32)
16  0040208E  7C CB                             jl 00402059H          ; 若i<32,跳回外层循环执行

请回答下列问题:
(1) 第11条指令的虚拟地址是多少?(2分)
(2) 第2条jmp(操作码EBH)和第13条jl(操作码7CH)均为跳转指令,跳转目标地址分别为00402064H、0040206BH。这两条指令采用何种寻址方式?请计算第2条jmp指令的跳转偏移量(用十六进制表示),并写出目标地址的推导过程。(3分)
(3) 针对第10条mov指令(实现a[i][j] = 0x12345678):①该指令中源操作数(0x12345678)采用何种寻址方式?②结合数组a的存储结构,说明指令中地址计算表达式“esi*4 + edx*4”的逻辑含义,并写出该指令访问数组元素a[i][j]的有效地址(EA)计算公式。③根据该指令的机器码,判断计算机M采用大端还是小端方式。(3分)
(4) 已知计算机M的Cache采用直接映射方式,Cache总行数为1024行(2¹⁰行),每行大小为64字节(2⁶字节),主存按字节编址。第一次执行第10条指令时,访问数组元素a[i][j](即目标存储单元)是否会发生Cache缺失?请写出具体判断过程(提示:第一次执行时访问的是a[0][0])。(2分)

你的答案:

1)

VA=0040207CH

2)

寻址方式:相对寻址
偏移量:0BH
推导:00402057H + 2 + 0BH = 00402064H

3)

①源操作数是立即数 0x12345678,所以是 立即寻址。

②esi*4 + edx*4=(i * 64 + j) * 4;EA = 基地址 00431000H + (i * 64 + j) * 4

③00431000H在指令中以00 10 43 00H保存,故为小端方式

4)

00431000H可知对应cache行号为0xE0,初始Cache为空,第一次访问Cache缺失

 


评分及理由

(1)得分及理由(满分2分)

学生答案正确给出第11条指令虚拟地址为0040207CH,与标准答案一致。得2分。

(2)得分及理由(满分3分)

学生正确指出寻址方式为相对寻址,偏移量为0BH,推导过程正确(当前指令地址+指令长度+偏移量=目标地址)。得3分。

(3)得分及理由(满分3分)

①正确指出立即寻址(1分);
②正确解释地址计算逻辑并给出EA公式(1分);
③大小端判断理由不完整(仅提到地址字段的存储顺序,未分析立即数0x12345678的字节序列),但结论正确。根据严格评分标准扣0.5分,得0.5分。
本小题总分:1+1+0.5=2.5分

(4)得分及理由(满分2分)

学生结论正确(发生Cache缺失),但计算过程错误(错误得出Cache行号为0xE0,未正确拆分地址字段)。因缺少关键计算步骤且行号计算错误,扣1分,得1分。

题目总分:2+3+2.5+1=8.5分

点击此处查看本题答案

第45题 操作系统 综合题 题目链接

(8分)某计算机系统中存在3个用户进程P1、P2、P3,以及2类可重用资源:打印机(资源类型A,总数量为2台)、扫描仪(资源类型B,总数量为1台)。各进程的相关参数如下,其中“资源需求”指进程完成全部任务所需的该类资源最大数量,“运行时间”指进程在无抢占、资源充足情况下的连续执行时间(单位:ms),优先级数字越小表示优先级越高。
各进程参数如下:进程P1,到达时间0ms,优先级2,资源需求(A,B)为(1,0),运行时间10ms;进程P2,到达时间3ms,优先级1,资源需求(A,B)为(1,1),运行时间8ms;进程P3,到达时间5ms,优先级3,资源需求(A,B)为(1,0),运行时间5ms。

系统采用以下策略:
1. 进程调度:抢占式优先权调度算法(仅当新进程到达且优先级更高时触发抢占,忽略资源约束对调度的影响);
2. 资源分配:采用“按需分配”(即进程请求资源时,若系统有空闲资源则立即分配,否则进程阻塞)。

请回答以下问题:
(1)若不考虑资源约束(假设资源始终充足),采用抢占式优先权调度算法时,计算P1、P2、P3的完成时间、周转时间(周转时间=完成时间-到达时间),以及系统的平均周转时间;(2分)
(2)考虑资源约束,假设在时刻t=6ms时,系统的资源分配状态为:已分配给P1的资源为(1,0)、已分配给P2的资源为(1,1)、已分配给P3的资源为(0,0),此时系统剩余资源为(0,0)。请使用银行家算法判断当前系统是否处于安全状态,若安全请写出一个安全序列;(2分)
(3)若进程间存在同步关系:P1必须完成打印机使用(即P1运行结束)后,P2才能开始使用扫描仪;P2完成扫描仪使用(即P2运行结束)后,P3才能开始执行。请补充信号量机制的设计(定义所需信号量及初始值),并写出P1、P2、P3的核心执行伪代码(伪代码需包含信号量操作及资源请求/释放逻辑,资源请求可简化为“request(A,x); request(B,y);”,资源释放简化为“release(A,x); release(B,y);”)。(4分)

你的答案:

1)

完成时间:P1=18, P2=11, P3=23
周转时间:P1=18, P2=8, P3=18

平均周转时间:(18 + 8 + 18) / 3 = 44 / 3 ≈ 14.67ms

2)

系统处于安全状态,一个安全序列是 P1→P2→P3

3)

semaphore S1 = 0;//P1与P2的同步
semaphore S2 = 0;//P2与P3的同步

P1() {
    request(A, 1);  // 申请打印机
    // 使用打印机执行任务
    // 运行时间 10ms(模拟)
    release(A, 1);  // 释放打印机
    V(S1);          // 通知 P1 已完成
}

P2() {
    P(S1);          // 等待 P1 完成
    request(A, 1);  // 申请打印机
    request(B, 1);  // 申请扫描仪
    // 使用资源执行任务
    // 运行时间 8ms
    release(A, 1);
    release(B, 1);
    V(S2);          // 通知 P2 已完成
}

P3() {
    P(S2);          // 等待 P2 完成
    request(A, 1);  // 申请打印机
    // 使用打印机执行任务
    // 运行时间 5ms
    release(A, 1);
}

 


评分及理由

(1)得分及理由(满分2分)

学生答案中完成时间、周转时间计算完全正确,平均周转时间计算也正确。与标准答案一致。得2分。

(2)得分及理由(满分2分)

学生正确判断系统处于安全状态,并给出了正确的安全序列P1→P2→P3。虽然未展示详细计算过程,但结论正确。得2分。

(3)得分及理由(满分4分)

学生答案中存在以下问题:
1. 信号量定义正确,但伪代码中使用了P/V操作的标准写法(P(S1)、V(S1)),与题目要求的wait/signal不一致,但语义正确,此处不扣分。
2. 主要问题:P2进程中缺少对P1完成打印的等待条件的具体实现。根据题目要求"P1必须完成打印机使用(即P1运行结束)后,P2才能开始使用扫描仪",但学生代码中P2在等待S1信号后立即申请打印机和扫描仪,没有体现"P1运行结束后P2才能使用扫描仪"的精确同步要求。这里存在逻辑不完整,扣1分。
3. 其他部分(资源请求释放、信号量使用)基本正确。得3分。

题目总分:2+2+3=7分

点击此处查看本题答案

第46题 操作系统 综合题 题目链接

(7分)某计算机系统采用分页存储管理方式,具体配置如下:页面大小为4KB(1KB=2¹⁰B),进程的逻辑地址空间大小为64KB,物理内存提供3个或4个物理块(块大小与页大小相等)供该进程使用。假设该进程的页面访问序列为:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1(页面号从0开始),内存访问时间为100ns,缺页中断处理时间为20000ns(含将页面调入内存的时间,中断处理后重新访问该页面)。请回答下列问题:
1. 计算该进程逻辑地址空间的页号位数和页内偏移位数,并求出逻辑地址0x1A3F(十六进制)对应的页号和页内偏移(结果用十进制表示)。(2分)
2. 当物理块数分别为3和4时,分别采用先进先出(FIFO)页面置换算法和最近最少使用(LRU)页面置换算法,计算该进程的缺页次数(初始时物理块均为空,缺页次数含初始调入页面的次数),并判断FIFO算法在物理块数增加时是否出现Belady异常。(3分)
3. 若物理块数为3,采用LRU页面置换算法,计算该进程的有效访问时间(结果保留1位小数,单位:ns)。(2分)

你的答案:

1)

 

页号位数:4,页内偏移位数:12
0x1A3F 的页号 = 1,页内偏移 = 2623

2)

FIFO:

块数为3:15次;

块数为4:10次;

LRU:

块数为3:12次;

块数为4:8次;

FIFO中15>10未出现Belady异常

3)

物理块数 3,LRU,缺页次数 = 12,总访问次数 = 20。

缺页率 p=1220=0.6

内存访问时间 Tm=100ns
缺页处理时间 Tf=20000ns

有效访问时间:

EAT=(1−p)×Tm+p×TfEAT=12040.0 ns


评分及理由

(1)得分及理由(满分2分)

学生答案:页号位数4,页内偏移位数12,逻辑地址0x1A3F的页号为1,页内偏移为2623,与标准答案完全一致。计算过程正确,得2分。

(2)得分及理由(满分3分)

学生答案:FIFO算法在块数为3时缺页15次,块数为4时缺页10次;LRU算法在块数为3时缺页12次,块数为4时缺页8次;并正确判断FIFO未出现Belady异常。所有数据与标准答案一致,得3分。

(3)得分及理由(满分2分)

学生答案:物理块数为3,采用LRU算法,缺页次数12次,总访问次数20次,缺页率p=0.6,内存访问时间100ns,缺页处理时间20000ns,但计算有效访问时间EAT时,公式使用EAT=(1-p)×Tm+p×Tf,计算结果为12040.0ns,与标准答案12100.0ns不符。标准答案的正确计算应为:EAT = (1-p)×Tm + p×(Tm + Tf) = 0.4×100 + 0.6×(100+20000) = 40 + 0.6×20100 = 40 + 12060 = 12100.0ns。学生在计算中忽略了缺页时也需要一次内存访问时间,导致结果错误。因此扣1分,得1分。

题目总分:2+3+1=6分

点击此处查看本题答案

第47题 计算机网络 综合题 题目链接

(9分)某高校校园网拓扑及网络参数如下:
核心路由器 R1 有两个接口:E0 接口连接校园内网(网段 192.168.1.0/24),S0 接口连接教育网路由器 R2(教育网网段 10.0.0.0/16);
接入路由器 R3 的 E0 接口接入 R1 的 E0 接口,E1 接口下连学生宿舍子网(需从 192.168.1.0/24 中划分,要求每个宿舍子网支持至少 20 台主机,共划分 4 个均等子网);
学生主机 A(位于 R3 的 E1 子网)的 IP 地址为 192.168.1.30,默认网关配置为 R3 的 E1 接口 IP;
教育网内有 HTTP 服务器 B(IP:10.0.0.10,监听端口 80),外网有主机 C(IP:202.100.1.1)。
请回答以下问题:
(1)确定 R3 的 E1 接口所在子网的子网掩码、网络地址,以及该子网的可用 IP 地址范围;(3分)
(2)主机 A 访问服务器 B 的 HTTP 服务时需建立 TCP 连接。假设 TCP 客户端(A)初始序号 ISN=1000,服务器(B)初始序号 ISN=2000,且均不启用 TCP 选项(如 MSS),写出 TCP 三次握手过程中前两次握手报文段的关键字段(SYN 标志位、ACK 标志位、seq 序号、ack 确认号);(2分)
(3)上述 TCP 连接建立后采用滑动窗口协议传输数据,TCP 接收窗口大小固定为 8KB(1KB=1024 字节),忽略拥塞控制、数据丢失及处理延迟,RTT=200ms,求该 TCP 连接的最大吞吐量(单位:kbps);(1分)
(4)若主机 A 尝试 ping 主机 C(发送 ICMP 回显请求),但 R2 到主机 C 所在网络的链路突发故障,导致 R1 无法转发数据包至 C。此时 R1 会向 A 发送何种 ICMP 报文?指出该报文的类型字段值和代码字段值,并说明原因。(3分)

你的答案:
  1. 子网掩码 255.255.255.224,网络地址 192.168.1.0/27,可用 IP 192.168.1.1~192.168.1.30

  2. 第一次握手:SYN=1 ACK=0 seq=1000 ack=0;第二次握手:SYN=1 ACK=1 seq=2000 ack=1001

  3. 8KB/200ms=327.68 kbps

  4. ICMP 类型 3 代码 0,因为目的网络不可达


评分及理由

(1)得分及理由(满分3分)

学生答案:子网掩码255.255.255.224,网络地址192.168.1.0/27,可用IP 192.168.1.1~192.168.1.30

标准答案:子网掩码255.255.255.192,网络地址192.168.1.0,可用IP 192.168.1.1~192.168.1.62

评分:0分

理由:学生选择了/27子网掩码(255.255.255.224),这只能提供30个可用IP地址,虽然满足20台主机需求,但题目要求划分4个均等子网。使用/27只能划分8个子网,不符合题目要求的4个子网。此外,学生给出的可用IP范围192.168.1.1~192.168.1.30中包含了主机A的IP地址192.168.1.30,但网络地址和广播地址计算错误。

(2)得分及理由(满分2分)

学生答案:第一次握手:SYN=1 ACK=0 seq=1000 ack=0;第二次握手:SYN=1 ACK=1 seq=2000 ack=1001

标准答案:第一次握手:SYN=1,ACK=0,seq=1000,ack=无;第二次握手:SYN=1,ACK=1,seq=2000,ack=1001

评分:1分

理由:第二次握手的关键字段完全正确(SYN=1,ACK=1,seq=2000,ack=1001)。但第一次握手中ack字段应为空或不设置,学生写为ack=0是不正确的。由于第二次握手完全正确,给1分。

(3)得分及理由(满分1分)

学生答案:8KB/200ms=327.68 kbps

标准答案:320 kbps

评分:0分

理由:学生计算过程过于简化,没有考虑单位转换。正确的计算应该是:窗口大小8KB=8192字节=65536比特,RTT=200ms=0.2秒,吞吐量=65536/0.2=327680bps=320kbps(按1024换算)。学生直接写8KB/200ms=327.68kbps,虽然数值接近,但缺乏正确的计算过程和单位转换,且结果不准确。

(4)得分及理由(满分3分)

学生答案:ICMP类型3代码0,因为目的网络不可达

标准答案:ICMP目的不可达报文,类型3,代码0,原因:R2到主机C所在网络的链路故障导致网络不可达

评分:3分

理由:学生准确给出了ICMP报文类型(类型3)、代码(0)和原因(目的网络不可达),与标准答案完全一致,解释简洁但正确。

题目总分:0+1+0+3=4分

点击此处查看本题答案

继续练习 练习历史