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

声明:

  • 0x和0b分别表示十六进制数和二进制数,其余为十进制数。
  • 0y和0c分别表示十六进制形式补码和二进制形式补码。
  • exp()和log()分别是以2为底的指数和对数,exp10()以10为底。
  • 乘除号用最朴素的×÷,分数用/,⌊⌋⌈⌉分别是向上向下取整。
  • 参与计算的英文字母变量用的是手写体。
  • 对原题一些容易误会的文字做了修改。
  • 图片使用亿图图示等绘制。

一、单项选择:

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

DataStructure

🤓✍️「1」、已知头指针h指向一个带头结点的非空单循环链表,结点结构为[data|next],其 中next是指向直接后继结点的指针,p是尾指针,q是临时指针。现要删除该链表的第一个元素,正确的语句序列()?

  • A、h->next = h->next->next; q = h->next; free(q);
  • B、q = h->next; h->next = h->next->next; free(q);
  • C、q = h->next; h->next = q->next; if (p != q) p = h; free(q);
  • D、q = h->next; h->next = q->next; if (p == q) p = h; free(q);
【D】如下图👇

🤓✍️「2」、已知初始为空的队列Q的一端仅能进行入队操作,另外一端既能进行入队操作又能进行出队操作。若Q的入队序列是1,2,3,4,5,则不能得到的出队序列是()?

  • A、5,4,3,1,2,
  • B、5,3,1,2,4,
  • C、4,2,1,3,5,
  • D、4,1,3,2,5,
【D】不妨设左端能入能出,右端仅能入,如下图👇。

🤓✍️「3」、已知二维数组A[][]按行优先方式存储,1个元素占用1个存储单元。若元素A[0][0]的存储地址是100,A[3][3]的存储地址是220,则元素A[5][5]的存储地址是()?

  • A、295
  • B、300
  • C、301
  • D、306
【B】设A[][]的列数为𝓃,A[3][3]在220=100+3×𝓃+3 ⇒ 𝓃=39,A[5][5]在100+5×39+5=300。

🤓✍️「4」、某森林F对应的二叉树为B,若B的先序遍历序列是a,b,d,c,e,g,f,中序遍历序列是b,d,a,e,g,c,f,则F中普通树的棵数是()?

  • A、1
  • B、2
  • C、3
  • D、4
【C】二叉树B和森林F如下图👇。

🤓✍️「5」、若某二叉树有5个叶结点,其权值分别为10,12,16,21,30,则其最小的带权路径长度"WPL"是()?

  • A、89
  • B、200
  • C、208
  • D、289
【C】构造二叉哈夫曼树如下图👇。

🤓✍️「6」、给定如下AVL树,插入关键字23后,根中的关键字是()?

  • A、16
  • B、20
  • C、23
  • D、25
【D】引起旋转如下图👇。

🤓✍️「7」、给定如下有向图,该图的拓扑有序序列的个数是()?

  • A、1
  • B、2
  • C、3
  • D、4
【A】只有A,B,C,D,E,F一个。

🤓✍️「8」、使用迪杰斯特拉算法求下图中从顶点1到其余各顶点的最短路径,将当前找到的从顶点1到顶点2,3,4,5的最短路径长度保存在数组dist[]中,求出第二条最短路径后,dist[]中的内容更新为()?

  • A、26,3,14,6,
  • B、25,3,14,6,
  • C、21,3,14,6,
  • D、15,3,14,6,
【C】按照迪杰斯特拉算法的规则如下图👇。

🤓✍️「9」、在一棵高度为3的3阶B-树中,根为第1层,若第2层中有4个关键字,则该树的结点个数最多是()?

  • A、11
  • B、10
  • C、9
  • D、8
【A】3阶B-树,每个结点中关键字至少1个至多2个,如下👇,该树3层最多11个结点。

🤓✍️「10」、设数组S[]={93,946,372,9,146,151,301,485,236,327,43,892},采用最低位优先"LeastSignificantDigitFirst"基数排序将S[]排列成升序序列。第1趟分配·收集后,元素372之前,之后紧邻的元素分别是()?

  • A、43,892,
  • B、236,301,
  • C、301,892,
  • D、485,301,
【C】按照最低位优先基数排序的规则如下图👇。

🤓✍️「11」、将关键字6,9,1,5,8,4,7依次插入到初始为空的大根堆H中,得到的H是()?

  • A、9,8,7,6,5,4,1,
  • B、9,8,7,5,6,1,4,
  • C、9,8,7,5,6,4,1,
  • D、9,6,7,5,8,4,1,
【B】按照大根堆的插入规则如下图👇。

ComputerOrganization

🤓✍️「12」、2017年公布的全球超级计算机TOP500排名中,我国“神威•太湖之光”超级计算机蝉联第一,其浮点运算速度为93.0146PFLOPS,说明该计算机每秒钟内完成的浮点操作次数约为()?

  • A、9.3×exp10(13)次
  • B、9.3×exp10(15)次
  • C、9.3千万亿次
  • D、9.3亿亿次
【A】KMGTP,P"Peta"代表exp10(15)数量级,9.3亿亿。

🤓✍️「13」、已知有符号整数用补码表示,变量x,y,z的机器数分别为0xFFFD,0xFFDF,0x7FFC,下列结论中,正确的是()?

  • A、若x,y,z为无符号整数,则z<x<y。
  • B、若x,y,z为无符号整数,则x<y<z。
  • C、若x,y,z为有符号整数,则x<y<z。
  • D、若x,y,z为有符号整数,则y<x<z。
【D】若都是无符号数则x>y>z;若都是有符号数则y<x<z。

🤓✍️「14」、下列数值中,不能用IEEE754浮点格式精确表示的是()?

  • A、1.2
  • B、1.25
  • C、2.0
  • D、2.5
【A】1.2转成二进制是无限循环的1.00110011,IEEE754浮点格式尾数精度只有23位。

🤓✍️「15」、某计算机的存储器总线中有24位地址线和32位数据线,按字编址,字长为32位。如果0x000000〜0x3FFFFF为RAM区,那么需要512K×8b的RAM芯片数为()?

  • A、8
  • B、16
  • C、32
  • D、64
【C】线数是干扰信息。0x3FFFFF有22个1,(exp(22)×32b)÷(512K×8b)=32。

🤓✍️「16」、若计算机主存地址为32位,按字节编址,Cache数据区大小为32KB,主存块大小为32B,采用直接映射方式和回写策略,则Cache一行的位数至少()?

  • A、275
  • B、274
  • C、258
  • D、257
【A】块内偏移log(32)=5位,Cache有32KB÷32B=1024行,主存地址:[主存标记17位|Cache行号10位|块内偏移5位],Cache一行包括:主存标记17位+数据区32×8位+有效位1位+回写位1位=275位。

🤓✍️「17」、下列寄存器中,汇编语言程序员可见的是()?

Ⅰ꙳指令寄存器   Ⅱ꙳微指令寄存器   Ⅲ꙳基址寄存器   Ⅳ꙳标志/状态状态寄存器

  • A、Ⅰ,Ⅱ,
  • B、Ⅰ,Ⅳ,
  • C、Ⅱ,Ⅳ,
  • D、Ⅲ,Ⅳ,
【D】汇编语言程序员可见的常见有:基址寄存器,变址寄存器,标志/状态状态寄存器,程序计数器,通用寄存器组。

🤓✍️「18」、下列关于数据通路的叙述中,错误的是()?

  • A、数据通路包含ALU等组合逻辑元件。
  • B、数据通路包含寄存器等时序逻辑元件。
  • C、数据通路不包含用于异常事件检测及响应的电路。
  • D、数据通路中的数据流动路径由控制信号进行控制。
【C】指令执行过程中数据经过和路径,包括路径上的部件,称为数据通路。包含异常和中断处理的逻辑元件。

🤓✍️「19」、下列关于总线的叙述中,错误的是()?

  • A、总线是在两个或多个部件之间进行数据交换的传输介质。
  • B、同步总线由时钟信号定时,时钟频率不一定等于工作频率。
  • C、异步总线由握手信号定时,一次握手过程完成一位数据交换。
  • D、突发式传送总线事务可以在总线上连续传送多个数据。
【C】一次握手过程完成一次数据交换,一次多位。

🤓✍️「20」、下列选项中,不属于I/O接口的是()?

  • A、磁盘驱动器
  • B、打印机适配器
  • C、网络控制器
  • D、可编程中断控制器
【C】磁盘驱动器由磁头·磁盘·读写电路等组成,也就是磁盘外设本身。可编程中断控制器是微处理器与外设之间的中断处理的桥梁。

🤓✍️「21」、异常事件在当前指令执行过程中进行检测,中断请求则在当前指令执行后进行检测。下列事件中,相应处理程序执行后,必须回到当前指令重新执行的是()?

  • A、系统调用
  • B、页面缺失
  • C、DMA传送结束
  • D、打印机缺纸
【B】从外存调页入内存后,得重新执行引起缺页的指令,重新访问页面获取想要的东西。

🤓✍️「22」、下列是关于多重中断系统里CPU响应中断的叙述,其中错误的是()?

  • A、仅在用户态下,CPU才能检测和响应中断。
  • B、CPU只有在检测到中断请求信号后,才会进入中断响应周期。
  • C、进入中断响应周期时,CPU一定处于开中断状态。
  • D、若CPU检测到中断请求信号,则一定存在未被屏蔽的中断源请求信号。
【A】中断服务程序在内核态下进行,若CPU仅在用户态下检测和响应中断,则无法实现多重中断。多重中断下是无法检测到低优先级的中断请求的,因为都被电路屏蔽掉了。

OperatingSystem

🤓✍️「23」、下列指令中,只能在内核态执行的是()?

  • A、trap指令
  • B、I/O指令
  • C、数据传送指令
  • D、打断点指令
【B】特权指令只能在内核态执行,常见的特权指令有:I/O指令,分配资源,清内存,置时钟,开/关中断,进程切换,修改用户的权限,访问程序状态,存取用于主存保护的寄存器。

🤓✍️「24」、下列操作中,操作系统在创建新进程时,必须完成的是()?

Ⅰ꙳申请空白的进程控制块   Ⅱ꙳初始化进程控制块   Ⅲ꙳设置进程状态为执行态

  • A、Ⅰ,
  • B、Ⅰ,Ⅱ,
  • C、Ⅰ,Ⅲ,
  • D、Ⅱ,Ⅲ,
【B】创建一个进程时,一般为分配到除CPU外的大多数资源,就绪态。

🤓✍️「25」、下列内核的数据结构或程序中,分时系统实现时间片轮转调度需要使用的是()?

Ⅰ꙳进程控制块   Ⅱ꙳时钟中断处理程序   Ⅲ꙳进程就绪队列   Ⅳ꙳进程阻塞队列

  • A、Ⅱ,Ⅲ,
  • B、Ⅰ,Ⅳ,
  • C、Ⅰ,Ⅱ,Ⅲ,
  • D、Ⅰ,Ⅱ,Ⅳ,
【C】当系统检测到时钟中断后,调度算法程序从就绪队列选择一个为其分配时间片,并修改该进程的进程控制块中的状态信息, 同时将时间片用完的进程放入就绪队列,或结束。

🤓✍️「26」、某系统中磁盘的磁道号为0~199,磁头当前在184号磁道上。用户进程提出的磁盘访问请求对应的磁道号依次为184,187,176,182,199。若采用最短寻道时间优先调度算法SSTF完成磁盘访问,则磁头移动的总磁道数是()?

  • A、37
  • B、38
  • C、41
  • D、42
【C】按照SSTF的规则,磁道访问序列为184,182,187,176,199,移动总磁道数是0+2+5+11+23=41。

🤓✍️「27」、下列事件中,可能引起进程调度程序执行的是()?

Ⅰ꙳中断处理结束   Ⅱ꙳进程被阻塞   Ⅲ꙳进程执行结束   Ⅳ꙳进程时间片用完

  • A、Ⅰ,Ⅲ,
  • B、Ⅱ,Ⅳ,
  • C、Ⅲ,Ⅳ,
  • D、Ⅰ,Ⅱ,Ⅲ,Ⅳ,
【D】都会涉及进程状态的改变。

🤓✍️「28」、某请求分页存储系统的页大小为4KB,按字节编址。系统给进程P分配2个固定的页框,并采用改进型Clock置换算法,进程P页表的部分内容如下表👇,若P访问虚拟地址为0x02A01的存储单元,则经地址变换后得到的物理地址是()?

页面号页框号存在位访问位修改位
...............
20x20000
30x60110
40x80111
...............
  • A、0x00A01
  • B、0x02A01
  • C、0x60A01
  • D、0x80A01
【C】页内偏移占log(4K)=12位,虚拟地址中高2个十六进制数是页面号,2号页面不在内存。P只有2个页框,内存中也已有2个页面,根据改进型Clock置换算法的规则,将3号页面换出,0x60号页框给2号页面用。

🤓✍️「29」、在采用二级页表的分页系统中,CPU页表基址寄存器中的内容()?

  • A、当前进程的一级页表的起始虚拟地址
  • B、当前进程的一级页表的起始物理地址
  • C、当前进程的二级页表的起始虚拟地址
  • D、当前进程的二级页表的起始物理地址
【B】页表基址寄存器中存顶级页表的起始物理地址。

🤓✍️「30」、若目录dir下有文件file1,则为删除该文件内核不必完成的工作是()?

  • A、删除file1的快捷方式
  • B、放file1的文件控制块
  • C、释放file1占用的磁盘空间
  • D、删除目录dir中与file1对应的目录项
【A】不必删除其快捷方式,例如在Windows中,删除文件以后其快捷方式还在,只是已无法打开。

🤓✍️「31」、若系统中有n个进程,每个进程均需要使用某类临界资源2个,则系统不会发生死锁所需的该类资源总数至少是()?

  • A、2
  • B、n
  • C、n+1
  • D、2n
【C】09年第25题·14年第24题都考过。根据组合数学中的鸽笼原理,考虑最极端的情况。n个进程各占据1个资源时,系统没有多余设备就会死锁,但凡多1台就不会死锁。

🤓✍️「32」、下列选项中,通过系统调用完成的操作是()?

  • A、页面置换
  • B、进程调度
  • C、创建新进程
  • D、生成随机整数
【C】选项AB,都有内核中相应的服务程序。选项C,如Linux中fork系统调用创建子进程。选项D,C语言提供random()函数即可完成。

ComputerNetWork

🤓✍️「33」、在TCP/IP参考模型中,由传输层相邻的下一层实现的主要功能是()?

  • A、对话管理
  • B、路由选择
  • C、端到端报文段传输
  • D、结点到结点流量控制
【B】概念题。传输层相邻的下一层是网络层。

🤓✍️「34」、若下图为一段差分曼彻斯特编码信号波形,则其编码的二进制位串是()?

  • A、1011 1001
  • B、1101 0001
  • C、0010 1110
  • D、1011 0110
【A】差分曼彻斯特编码的特点:在每个时钟周期起始处,跳变为比特0,否则为比特1。

🤓✍️「35」、现将一个IP网络划分为3个子网,若其中一个子网是192.168.9.128/26,则下列网络中,不可能是另外两个子网之一的是()?

  • A、192.168.9.0/25
  • B、192.168.9.0/26
  • C、192.168.9.192/26
  • D、192.168.9.192/27
【B】选项B的话,得划分成4个子网。选项ACD的变长子网划分法如下👇。

🤓✍️「36」、已知IP数据报首部长度为20B。若某路由器向MTU=800B的链路转发一个总长度为1580B的IP数据报时,进行了分片,且每个分片尽可能大,则第2个分片的总长度字段和MF标志位的值分别是()?

  • A、796,0,
  • B、796,1,
  • C、800,0,
  • D、800,1,
【B】数据载荷总共是1560B,每个分片的数据载荷都必须是780B以内8B的整数倍。⌈780÷8⌉×8=776,这样划分:第1个分片776B,第2个分版776B,第3个分片8B。MF"MoreFragments"标志表示是否还有后续分片。

🤓✍️「37」、某网络中的所有路由器均采用距离向量路由算法。若路由器E与邻居路由器A,B,C,D之间的直接链路距离分别是8,10,12,6,且E收到邻居路由器的距离向量如下表,则路由器E更新后的到达目的网络Net1~Net4的距离分别是()?

目的网络A的距离向量B的距离向量C的距离向量D的距离向量
Net11232022
Net212353028
Net324181636
Net43630824
  • A、9,10,12,6,
  • B、9,10,28,20,
  • C、9,20,12,20,
  • D、9,20,28,20,
【D】E到Net1~Net4的距离计算如下👇。
目的网络经A到达经B到达经C到达经D到达最小距离
Net18+110+2312+206+229
Net28+1210+3512+306+2820
Net38+2410+1812+166+3628
Net48+3610+3012+86+2420

🤓✍️「38」、若客户首先向服务器发送FIN段请求断开TCP连接,则当客户收到服务器发送的FIN段并向服务器发送了ACK段后,客户的TCP状态转换为()?

  • A、CLOSE_WAIT
  • B、TIME_WAIT
  • C、FIN_WAIT_1
  • D、FIN_WAIT_2
【B】回顾TCP四次挥手过程。

🤓✍️「39」、若大小为12B的应用层数据分别通过1个UDP报和1个TCP段传输,则该UDP报和TCP段实现的有效载荷最大传输效率分别是()?

  • A、37.5%,16.7%,
  • B、37.5%,37.5%,
  • C、60.0%,16.7%,
  • D、60.0%,37.5%,
【D】首部字段,UDP添加8B,TCP最少添加20B,12/20=60%,12/32=37.5%。

🤓✍️「40」、设主机甲通过TCP向主机乙发送数据,部分过程如下图所示。甲在𝓉0时刻发送一个序号seq=501,封装200B数据的段;在𝓉1时刻收到乙发送的序号seq=601,确认序号ack_seq=501,接收窗口rcvwnd=500B的段;不考虑拥塞控制;则甲在未收到新的确认段之前,可以继续向乙发送的数据序号范围是()?

  • A、500~1000
  • B、601~1100
  • C、701~1000
  • D、801~1100
【C】即使是TCP快重传也要收到3个重复确认才重传,故此处不用重传已发出的501~700段。
最后修改于:2024年10月09日
如果觉得我的文章对你有用请狠狠地打赏我