跳转至

2025 年 408 真题参考答案

校对状态: 来源为 2026 年考试大纲附录中的参考答案,只有答案要点,没有评分说明。本页由扫描图人工录入,若数字、下标或公式存在差异,以大纲附录原页为准。

返回 2025 年试卷

一、单项选择题

题号 答案 题号 答案 题号 答案 题号 答案 题号 答案
1 B 2 D 3 D 4 B 5 D
6 C 7 C 8 C 9 A 10 D
11 A 12 D 13 D 14 D 15 C
16 B 17 C 18 B 19 A 20 A
21 B 22 A 23 D 24 C 25 C
26 B 27 D 28 C 29 C 30 A
31 C 32 B 33 B 34 C 35 C
36 C 37 B 38 A 39 B 40 A

二、综合应用题

41 · 数据结构

(1)算法的基本设计思想

从后向前扫描一趟数组 A,对每个 A[i](0 ≤ i ≤ n−1),分别找到从 A[n−1] 到 A[i] 中的最大值 Max 和最小值 Min,然后分以下情况处理:

① 若 A[i] ≥ 0,则 A[i] 与 Max 相乘; ② 若 A[i] < 0,则 A[i] 与 Min 相乘;

相乘的结果保存在 res[i] 中。

(2)算法实现

void calMulMax(int A[], int res[], int n)
{
    int i, Max, Min;
    Max = Min = A[n-1];
    for (i = n-1; i >= 0; i--)          // 从后向前扫描数组 A
    {
        if (A[i] > Max) Max = A[i];
        else if (A[i] < Min) Min = A[i];
        if (A[i] >= 0) res[i] = A[i] * Max;   // 根据 A[i] 的正负性分别处理
        else res[i] = A[i] * Min;
    }
}

(3)算法的时间复杂度为 O(n);空间复杂度为 O(1)。

42 · 数据结构

(1)完成该工程的最短时间是 12。关键活动是 a,e,m,n。

(2)与 e 同时进行的活动可能有 b,c,d。

(3)时间余量最大的活动是 j。时间余量是 6。

(4)b 的持续时间最多是 4。压缩 k 的持续时间。

43 · 计算机组成原理

(1)Cache 组号字段占 6 位;块内地址字段占 6 位。虚拟地址中 VA₁₁~VA₆ 可作为 Cache 索引。

(2)d[100] 的虚拟地址为 0180 01B0H。Cache 组号是 000110B = 6。

(3)d[0] 在其所在主存块内的偏移量为 20H。共发生 129 次 Cache 缺失,访问总次数为 2048 × 2 = 4096,Cache 缺失率为 129/4096 ≈ 3.15%;数组元素的平均访问时间约为 2 + 3.15% × 200 = 8.3 个时钟周期。

(4)数组 d 分布在 3 页中。访问数组 d 所引起的缺页次数是 3。

44 · 计算机组成原理

(1)R 中初始内容是 FFFF FFFFH;Q 中初始内容是 8765 4321H;Y 中初始内容是 0000 00FFH。控制逻辑部件中包含计数器。由 ALUop 所控制的 ALU 运算有加运算、减运算。

(2)当 x 为 0000 0000H 时,发生除 0 异常;当 d[i] 为 8000 0000H 且 x 为 FFFF FFFFH 时,发生除运算溢出异常。CPU 检测到除法异常后,需要将断点和程序状态保存到内核栈或者特定寄存器中,关中断,最后跳转到内核中的除法异常处理程序执行。

45 · 操作系统

Semaphore position = 3;   // 可挖树坑的数量
Semaphore pit = 0;        // 树坑的数量
Semaphore tree = 0;       // 待浇水的树苗数
Semaphore mutex = 1;      // 实现铁锹的互斥使用

甲:                    乙:                    丙:
for (;;)               for (;;)               for (;;)
{                      {                      {
    wait(position);        wait(pit);             wait(tree);
    wait(mutex);           放树苗;                浇水;
    挖树坑;                signal(position);      ...
    signal(mutex);         wait(mutex);       }
    signal(pit);           填土;
    ...                    signal(mutex);
}                          signal(tree);
                           ...
                       }

46 · 操作系统

(1)进程控制块位于内核区。该进程处于阻塞态。

(2)main() 函数的代码位于只读代码段。scanf() 和 printf() 的功能需要通过执行驱动程序实现。

(3)ptr 被分配在可读写数据段中。length 会被分配在用户栈中。ptr 指向的字符串位于运行时堆中。

47 · 计算机网络

(1)单向传播时延 = 2 × (36 000 × 10³) / (300 000 × 10³) = 240 ms。

最大吞吐量 = 200 kb/s。

最少时间 = 240 × 10⁻³ + (4000 × 8) / (200 × 10³) = 400 ms。

(2)令 W_s 为发送窗口,k 为序号字段位数,则有

\[ \frac{W_s \times \dfrac{1500 \times 8}{200 \times 10^3}}{2 \times 240 \times 10^{-3} + \dfrac{1500 \times 8}{200 \times 10^3}} \geq 0.8 \]

解得 W_s ≥ 7.2,向上取整得 W_s ≥ 8,即发送窗口至少为 8。对于 GBN,应满足 2^k ≥ W_s + 1,即 2^k ≥ 8 + 1 = 9,k 向上取整得 k ≥ 4,即序号字段至少需要 4 位。

(3)作业区子网的子网地址为 10.10.10.64/26;管理区子网的子网地址为 10.10.10.0/26;生活区子网的子网地址为 10.10.10.128/25。