2023年12月考研的408试题,本篇为小题部分,大题见下一篇。

声明:

  • ℍ和𝔹分别表示十六进制数和二进制数,否则为十进制数。
  • exp()和log()分别是以2为底的指数和对数,exp10()以10为底。
  • 乘除号用最朴素的×÷,分数用/,⌊⌋⌈⌉分别是向上向下取整。
  • 英文字母变量用的是手写体,题干某些描述较真题有修改。

§一 单项选择:

第1~40小题,每小题2分,共80分。

DataStructure

№1✍️ 一个带头结点的链表L,指针p指向其中间某个结点{非首尾结点}。对于代码片段q = p->next; p->next = q->next; q->next = L->next; L->next = q;,其功能是(🔠)?

  • 🄰将p指向结点移到q指向结点后
  • 🄱将q指向结点移到p指向结点后
  • 🄲将p指向结点插入头结点后
  • 🄳将q指向结点插人头结点后
【D】简单题。链表头插法。

№2✍️ 与中缀表达式𝑥+𝑦*(𝑧-𝑢)/𝑣等价的后缀表达式是(🔠)?

  • 🄰𝑥𝑦𝑧𝑢-*𝑣/+
  • 🄱𝑥𝑦𝑧𝑢-𝑣/*+
  • 🄲+𝑥/*𝑦-𝑧𝑢𝑣
  • 🄳+𝑥*𝑦/-𝑧𝑢𝑣
【A】表达式树后序序列。

№3✍️ 若𝑝、𝑞、𝑣均为二叉树𝐁𝐓中的结点,𝑣有两个孩子结点,𝐁𝐓的中序遍历序列形如“・・・𝑝,𝑣,𝑞,・・・”,则下列叙述中,正确的是(🔠)?

  • 🄰𝑝没有右孩子,𝑞没有左孩子。
  • 🄱𝑝没有右孩子,𝑞有左孩子。
  • 🄲𝑝有右孩子,𝑞没有左孩子。
  • 🄳𝑝有右孩子,𝑞有左孩子。
【A】可以明确𝑝是𝑣左子树的最右结点,𝑞是𝑣右子树的最左结点。

№4✍️ 若无向图𝐔𝐆🟰(𝐕,𝐄)的邻接多重表如下图所示,则𝐔𝐆中顶点𝑏、𝑑的度分别是(🔠)?

  • 🄰0,2,
  • 🄱2,4,
  • 🄲2,5,
  • 🄳3,4,
【A】考察邻接多重表,左边是顶点信息右边是边信息,还原无向图,有2条边包含𝑏{1},故𝑏的度是2,有4条边包含𝑑{3},故𝑑的度是4。

№5✍️ 下列数据结构中,不适合直接使用折半查找的是(🔠)?

Ⅰ꙳有序链表   Ⅱ꙳无序数组   Ⅲ꙳有序静态链表   Ⅳ꙳无序静态链表

  • 🄰Ⅰ,Ⅲ,
  • 🄱Ⅱ,Ⅳ,
  • 🄲Ⅱ,Ⅲ,Ⅳ,
  • 🄳Ⅰ,Ⅱ,Ⅲ,Ⅳ,
【D】一般支持折半查找的都是有序数组。静态链表是以数组形式存储的链表,本质还是链表,不支持按下标访问。

№6✍️ KMP算法使用改进后的𝚗𝚎𝚡𝚝数组进行模式匹配,模式串𝑆="aabaab",当主串中某字符与𝑆中某字符失匹时,𝑆向右滑动的最长距离是(🔠)?

  • 🄰5
  • 🄱4
  • 🄲3
  • 🄳2
【A】改进前的𝚗𝚎𝚡𝚝[𝟼]={-1,0,1,0,1,2},改进后的𝚗𝚎𝚡𝚝[𝟼]={-1,-1,1,-1,-1,1},𝑆[i]失配后的𝑆右移距离为i-next[i],最大是5。

№7✍️ 一棵二叉搜索树如题图所示,𝑘𝟷、𝑘𝟸、𝑘𝟹分别是对应结点中保存的关键字。子树T的任一结点中保存的关键字𝑥满足的是(🔠)?

  • 🄰𝑥<𝑘𝟷
  • 🄱𝑘𝟸<𝑥
  • 🄲𝑘𝟷<𝑥<𝑘𝟹
  • 🄳𝑘𝟹<𝑥<𝑘𝟸
【D】考察二叉搜索树的性质。

№8✍️ 使用快速排序对含𝑛{𝑛≥𝟹}个元素的数组𝐌进行排序,若第一趟排序将除𝐌中枢轴外的𝑛-𝟷个元素划分为均不为空的𝐏和𝐐两个块,则下列叙述中正确的是(🔠)?

  • 🄰𝐏和𝐐块间有序。
  • 🄱𝐏和𝐐均块内有序。
  • 🄲𝐏和𝐐的元素个数大致相等。
  • 🄳𝐏和𝐐中均不存在相等的元素。
【A】考察快速排序的性质。

№9✍️ 已知关键字序列28,22,20,19,8,12,15,5是大根堆,对该堆进行两次删除操作后,得到的新堆是(🔠)?

  • 🄰20,19,15,12,8,5,
  • 🄱20,19,15,5,8,12,
  • 🄲20,19,12,15,8,5,
  • 🄳20,19,8,12,15,5,
【A】考察大根堆的删除。

№10✍️ 现有由关键字组成的3个有序序列(3,5),(7,9),(6),若按从左至右的次序选择有序序列进行二路归并排序,则关键字之间的总比较次数是(🔠)?

  • 🄰3
  • 🄱4
  • 🄲5
  • 🄳6
【C】考察归并排序的过程,第1次归并比较2次,第2次归并比较3次。

№11✍️ 在外部排序中,利用败者树对初始为升序的归并段进行多路归并,败者树中记录“冠军”的结点保存的是(🔠)?

  • 🄰最大关键字
  • 🄱最小关键字
  • 🄲最大关键字所在归并段号
  • 🄳最小关键字所在归并段号
【C】考察败者树的性质,败者树的设计目的是在多路归并过程中高效地找到多个升序序列中的最小元素。

ComputerOrganization

№12✍️ 执行下述C语言代码后,j的真值是(🔠)?

int i = 32777;
short si = i;
int j = si;
  • 🄰-32777
  • 🄱-32759
  • 🄲32759
  • 🄳32777
【C】32777🟰32768➕8➕1,32768🟰exp(15),即si的符号位是1,si按照符号位扩展得到j,j的真值🟰32777➖65536🟰-32759。

№13✍️ 通常情况下,将汇编语言程序中实现特定功能的指令序列定义为一条伪指令"PseudoInstruction",下列选项中,CPU 能理解并直接执行的是(🔠)?

Ⅰ꙳伪指令   Ⅱ꙳微指令   Ⅲ꙳机器代码   Ⅳ꙳汇编代码

  • 🄰Ⅰ,Ⅳ,
  • 🄱Ⅱ,Ⅲ,
  • 🄲Ⅲ,Ⅳ,
  • 🄳Ⅰ,Ⅲ,Ⅳ,
【B】汇编代码是便于人类阅读的,CPU不认识汇编代码,先排除Ⅰ,Ⅳ,,而若干微指令组成一个微程序,一个微程序对应一条机器代码,由CPU直接执行。

№14✍️ 某科学实验中,需要使用大量的整型参数,为了在保证数据精度的基础上提高运算速度,需要选择合理的数据表示方法。若整型参数𝛼、𝛽的取值范围分别-exp(20)~exp(20)、-exp(40)~exp(40),𝛼、𝛽最适宜采用(🔠)?

  • 🄰32位整数、32位整数
  • 🄱单精度浮点数、单精度浮点数
  • 🄲32位整数、双精度浮点数
  • 🄳单精度浮点数、双精度浮点数
【C】𝛼采用32位整数最合适。而我们知道IEEE754规定单精度浮点数的尾数只有23位,加上隐藏最高位的1也才24位,不能用来表示𝛽,𝛽只能采用双精度浮点数。

№15✍️ 下列关于整数乘法运算的叙述中,错误的是(🔠)?

  • 🄰用阵列乘法器实现乘运算可以在一个时钟周期内完成。
  • 🄱用ALU和移位器实现的乘运算无法在一个时钟周期内完成。
  • 🄲变量与常数的乘运算可编译优化为若干条移位及加/减运算指令。
  • 🄳两个变量的乘运算无法编译为移位及加法等指令的循环实现。
【D】即使是两个变量的乘运算,也可以通过反复地“比较、加法、减法、移位”完成,例如Booth乘法算法

№16✍️ 对于页式虚拟存储管理系统,下列关于存储器层次结构的叙述中,错误的是(🔠)?

  • 🄰Cache-Memory层次的交换单位为主存块,Memory-Storage层次交换单位为页。
  • 🄱Cache-Memory层次替换算法由硬件实现,Memory-Storage层次替换算法由软件实现。
  • 🄲Cache-Memory层次可采用回写法写策略,Memory-Storage层次通常采用回写法写策略。
  • 🄳Cache-Memory层次可采用直接映射方式,Memory-Storage层次通常采用直接映射方式。
【D】Memory-Storage层次假如采用直接映射方式,外存中的某一页框只能映射内存特定页面,设想进程频繁使用的两页框映射到了同一页面,缺页异常将反复发生,何况直接映射方式下页表和TLB也发挥不了作用,所以通常采用全相联映射方式。

№17✍️ 某机器按字节编址,采用页式虚拟存储管理方式,虚拟地址为32位,主存地址为30位,页大小为1KB。若TLB共有32个表项,采用4路组相联映射方式,则TLB表项中标记字段的位数是(🔠)?

  • 🄰17
  • 🄱18
  • 🄲19
  • 🄳20
【C】页内偏移占log(1K)🟰10位,TLB索引占log(32/4)🟰3位,虚拟地址的组成:[TLB标记19位|TLB索引3位|页内偏移10位],TLB表项由有效位、标记、实体页号等组成,标记字段19位。主存地址是干扰项。

№18✍️ 下列事件,不是在MMU"MemoryManagementUnit"地址转换过程中检测的是(🔠)?

  • 🄰访问越权
  • 🄱Cache缺失
  • 🄲页面缺失
  • 🄳TLB缺失
【B】MMU负责虚拟地址到实体地址的转换,不涉及Cache。

№19✍️ 在采用〈取指、译码/取数、执行、访存、写回〉5段流水线的RISC处理器中,下列关于指令流水线数据冒险处理的叙述中,错误的是(🔠)?

  • 🄰相邻两条指令中的操作数相关可能引起数据冒险。
  • 🄱在数据相关的指令间插入“气泡”能避免数据冒险。
  • 🄲所有数据冒险都可以通过旁路技术解决。
  • 🄳所有数据冒险都能通过调整指令顺序和插入nop指令解决。
【C】与23年第19题考一样的东西。load-use数据冒险不能仅靠旁路技术解决。

№20✍️ 某存储器总线的时钟频率为420MHz,总线宽度为64位,每个时钟周期传送2次数据;其总线事务支持突发传送方式,最多传送8次数据,第1个时钟周期传送地址和读/写命令,从第4个至第7个时钟周期连续传送8次数据。该总线的总线带宽{最大传输速率}是(🔠)?

  • 🄰3.84GBps
  • 🄱6.72GBps
  • 🄲30.72GBps
  • 🄳53.76GBps
【B】注意字眼,求最大传输速率,可以忽略突发传送……的干扰,本题答案应是2✖️64b✖️420MHz🟰6.72GBps。若是求平均传输速率才需要将地址传送的过程算进去。

№21✍️ 下列关于中断I/O方式的叙述中,错误的是(🔠)?

  • 🄰中断屏蔽字用于确定中断响应的优先级。
  • 🄱保存程序计数器和程序状态字在中断响应阶段完成。
  • 🄲保存通用寄存器和设置新中断屏蔽字由软件实现。
  • 🄳单重中断方式下中断处理时CPU处于关中断状态。
【A】中断响应的优先级往往是硬件提前设置好的;中断屏蔽字决定中断处理的优先级。

№22✍️ DMA控制I/O方式下,设备的输入/输出由DMA控制器控制完成,此时,DMA控制器控制的数据传输通路位于(🔠)?

  • 🄰CPU和主存之间
  • 🄱CPU和DMA控制器之间
  • 🄲设备接口和主存之间
  • 🄳设备接口和DMA控制器之间
【C】CPU、DMA控制器负责发出控制信号,不直接参与数据传输。

OperatingSystem

№23✍️ 下面关于中断、异常、系统调用的叙述中,错误的是(🔠)?

  • 🄰中断或异常发生时,CPU处于内核态。
  • 🄱每个系统调用都有对应的内核服务例程。
  • 🄲中断处理程序开始执行时,CPU处于内核态。
  • 🄳系统添加新类型设备时,需注册相应的中断服务例程。
【A】中断或异常发生时,CPU可以处于用户态,运行用户级线程,也可以处于内核态,运行内核级线程或多重中断进行时。

№24✍️ 下列选项中,操作系统在终止进程时不一定执行的是(🔠)?

  • 🄰终止子进程
  • 🄱回收分配的内存资源
  • 🄲撤销进程的PCB
  • 🄳回收进程占用的设备
【A】有点超纲,需要对Unix/Linux有一定掌握。当一个父进程终止时,它并不会自动终止其创建的子进程,子进程通常会继续运行。父进程可以在子进程执行的过程中被强制终止,但是这种情况可能会导致一些后续的问题,比如子进程成为孤儿进程,并且子进程的结束状态可能需要由其他进程来处理。

№25✍️ 在支持页式存储管理的系统中,进程切换时操作系统要执行的操作是(🔠)?

Ⅰ꙳更新程序计数器的值   Ⅱ꙳更新栈基址寄存器的值   Ⅲ꙳更新页基地址寄存器的值

  • 🄰Ⅲ,
  • 🄱Ⅰ,Ⅱ,
  • 🄲Ⅰ,Ⅲ,
  • 🄳Ⅰ,Ⅱ,Ⅲ,
【D】程序计数器、栈基址寄存器、页基地址寄存器都属于进程占有的资源,随进程的切换而更新。

№26✍️ 文件系统需占用部分外存空间记录空闲块的位置,占用外存空间大小与当前空闲块数量无关的是(🔠)?

  • 🄰位图法
  • 🄱空闲表法
  • 🄲成组链接法
  • 🄳空闲链表法
【A】位图法中用一个数组记录外存空间被占用情况,0表示空闲、1表示占用,总大小🟰外存块数量✖️1bit,与当前空闲块数量无关。

№27✍️ 下列算法中,每次回收分区时仅合并大小相等的空闲分区的是(🔠)?

  • 🄰伙伴算法
  • 🄱最佳适应算法
  • 🄲最坏适应算法
  • 🄳首次适应算法
【A】选项BCD是可以排除的。伙伴算法在王道等辅导书上没讲,可以自行在哔站搜一下相关知识。

№28✍️ 若进程𝐏中线程𝐓先打开文件,得到文件描述符𝐟𝐝,进程𝐏再创建线程𝐓𝑎、𝐓𝑏,则下列资源中线程𝐓𝑎、𝐓𝑏可共享的是(🔠)?

Ⅰ꙳进程𝐏的地址空间   Ⅱ꙳线程𝐓的栈   Ⅲ꙳文件描述符𝐟𝐝

  • 🄰Ⅰ,
  • 🄱Ⅰ,Ⅲ,
  • 🄲Ⅱ,Ⅲ,
  • 🄳Ⅰ,Ⅱ,Ⅲ,
【B】线程可共享其所属进程的地址空间和资源,包括堆和全局变量。每个线程都有自己的栈,用于保存其局部变量和返回地址。线程𝐓打开的𝐟𝐝对应的文件也属于进程𝐏拥有的资源。

№29✍️ 以下系统调用的实现中,包含文件按名查找功能的是(🔠)?

  • 🄰open()
  • 🄱read()
  • 🄲write()
  • 🄳close()
【A】open()系统调用通过文件按名查找打开一个文件,若打开成功则返回一个文件描述符,后续的文件操作基于该描述符。

№30✍️ 假设某系统使用时间片轮转调度算法进行CPU调度,时间片大小为5ms,系统共有10个进程,初始时均处于就绪队列,执行结束前仅处于执行态或就绪态。若队尾的进程𝐏所需CPU时间最短,时间为25ms。在不考虑系统开销的情况下,则进程𝐏的周转时间是(🔠)?

  • 🄰200ms
  • 🄱205ms
  • 🄲250ms
  • 🄳295ms
【C】进程𝐏执行完时所有10个进程都上CPU运行了25ms,因此进程𝐏的完成时刻在250ms,又由题意进程𝐏的到达时刻在0ms,周转时间🟰250ms。

№31✍️ 键盘中断服务例程执行结束时,所输入的数据存放位置是(🔠)?

  • 🄰用户缓冲区
  • 🄱CPU中的通用寄存器
  • 🄲内核缓冲区
  • 🄳键盘控制器的数据寄存器
【C】有点超纲。回顾23年第46题说道,将字符从键盘控制器读人“系统缓冲区”。当用户进程发起I/O请求时,会将数据缓冲区指针传递给内核。内核在处理I/O操作时,通常会在内核空间中分配独立的缓冲区,并将用户缓冲区的数据复制到内核缓冲区。这样,即使在I/O操作期间,用户进程被挂起而导致其页面被替换出去,内核缓冲区中的数据仍在。

№32✍️ 某磁盘的磁道数为400{磁道号为0~399},采用循环扫描{CSCAN}算法进行磁盘调度,完成对200号磁道的请求后,磁头向磁道号减小的方向移动,若还有7个请求,对应的磁道号分别为300,120,110,0,160,210,399,则完成上述磁盘请求后磁头移动的距离是(🔠)?

  • 🄰599
  • 🄱619
  • 🄲788
  • 🄳799
【C】CSCAN磁盘调度算法会处理磁头移动方向上的所有请求,但当磁头触及边界时会立即返回,且返回途中不处理任何请求。所以磁头处理序列是200,160,120,110,0399,300,210,200➕399➕189🟰788。

ComputerNetWork

№33✍️ 若某分组交换网络及每段链路的带宽如下图所示,则H1到H2的最大吞吐量约为(🔠)?

  • 🄰1Mbps
  • 🄱10Mbps
  • 🄲100Mbps
  • 🄳1000Mbps
【B】简单题。

№34✍️ 在下列二进制数字调制方法中,需要2个不同频率载波的是(🔠)?

  • 🄰ASK
  • 🄱PSK
  • 🄲FSK
  • 🄳DPSK
【C】通信原理知识,具体调制手段不需要知道,看英文缩写,共同后缀SK指"ShiftKeying",A"Amplitude"“幅移键控”、P"Phase"“相移键控”、F"Frequency"“频移键控”、DP"DifferentialPhase"“差分相移键控”。

№35✍️ 如下图所示的支持VLAN划分的交换机,已按端口划分了3个VLAN,部分端口连接主机的IP地址和MAC地址如图中所示,ARP表结构为[IP地址、MAC地址、TTL],下列选项中不会出现在H4的ARP表中的是(🔠)?

  • 🄰192.168.3.81,  00-18-A2-3B-36-21, 14:32:00
  • 🄱192.168.3.91,  00-3E-C2-39-12-B5, 14:37:00
  • 🄲192.168.3.125, 00-E5-78-4A-09-B2, 14:45:00
  • 🄳192.168.3.129, 00-08-6E-05-A7-82, 14:52:00
【D】H6与H4不在同一个VLAN,网络不通,其相关信息不会在H4的ARP表中。

№36✍️ 在采用CSMA/CA的802.11无线局域网中,DIFS=120us{DCF帧间间隔}、SIFS=28us{短帧间间隔},RTS、CTS、ACK帧的发送时延分别是3us、2 us、2us,忽略信号传播时延。若主机𝐴欲向AP发送一个总长度为1998B的数据帧,无线链路带宽为54Mbps,则隐藏站𝐵收到AP发送的CTS帧时,设置的网络分配向量NAV的值是(🔠)?

  • 🄰326us
  • 🄱354us
  • 🄲385us
  • 🄳513us
【B】考点较偏,具体见下图👇。

№37✍️ 主机甲通过选择重传——滑动窗口协议向主机乙发送帧的部分过程如下图所示。F𝑥为数据帧,ACK𝑥为确认帧,𝑥是位数为3比特的序号。乙只对正确接收的数据帧进行独立确认。发送窗口与接收窗口大小相同且均为最大值。甲在𝑡𝟷时刻和𝑡𝟸时刻发送的数据帧分别是(🔠)?

  • 🄰F1,F3,
  • 🄱F1,F4,
  • 🄲F3,F1,
  • 🄳F4,F1,
【D】由题意发送窗口🟰接收窗口🟰exp(3)/2🟰4,𝑡𝟷时刻F4位于发送窗口内,𝑡𝟸时刻F1超时需重发。

№38✍️ 假设主机𝐇通过TCP向服务器发送长度为3000B的报文,往返时间RTT=10ms,最长报文寿命MSL=30s,最大报文段长度MSS=1000B,忽略TCP段的传输时延,报文结束后𝐇首先请求断开连接,则从𝐇请求建立TCP连接时刻起,到𝐇进入CLOSED状态为止,所需的时间至少是(🔠)?

  • 🄰30.03s
  • 🄱30.04s
  • 🄲60.03s
  • 🄳60.04s
【D】应对TCP流程熟悉掌握👇。

№39✍️ 若UDP在计算校验和过程中,计算机得到中间结果为𝐴🟰𝔹1011,1001,1011,0110时,还需要加上最后一个数𝐵🟰𝔹0110,0101,1100,0101,则最终计算得到的校验和是(🔠)?

  • 🄰0001 1111 0111 1011
  • 🄱0001 1111 0111 1100
  • 🄲1110 0000 1000 0011
  • 🄳1110 0000 1000 0100
【C】𝐴➕𝐵,最高位进位加回给最低位,最后按位取反。

№40✍️ 若浏览器不支持并行TCP连接,使用非持久的HTTP/1.0请求浏览1个Web页,该页中引用同一个网站上7个小图像文件,则从浏览器传输Web页请求建立TCP连接开始,到接收完所有内容为止,所需要的往返时间RTT数至少是(🔠)?

  • 🄰4
  • 🄱9
  • 🄲14
  • 🄳16
【D】由题意,浏览器每次请求1个文件都需要请求建立TCP连接及等待服务器传来文件,花费2个RTT,而且不需要等到上一次TCP连接释放就能请求建立下一个TCP连接,8个文件即16个RTT。
最后修改于:2025年08月12日
如果觉得我的文章对你有用请狠狠地打赏我