文档库 最新最全的文档下载
当前位置:文档库 › 2019年考研408计算机学科专业基础综合真题及答案

2019年考研408计算机学科专业基础综合真题及答案

2019年考研408计算机学科专业基础综合真题及答案
2019年考研408计算机学科专业基础综合真题及答案

2019年全国硕士研究生招生考试

计算机科学与技术学科联考

计算机学科专业基础综合试题

一、单项选择题:1~40小题,每小题2分,共80分。下列每题给出的四个选项中,只有一个选项符合试题要

求。

1.设n是描述问题规模的非负整数,下列程序段的时间复杂度是

x=0;

while(n>=(x+l)*(x+l))

x=x+l;

A. O(log n)

B. O(n1/2)

C. O(n)

D. O(n2)

2.若将一棵树T转化为对应的二又树BT,则下列对BT的遍历中,其遍历序列与T的后根遍历序列相同的

A. 先序遍历

B. 中序遍历

C. 后序遍历

D. 按层遍历

3.对n个互不相同的符号进行哈夫曼编码。若生成的哈夫曼树共有115个结点,则n的值是

A. 56

B. 57

C. 58

D. 60

4.在任意一棵非空平衡二又树(AVL树)T1中,删除某结点v之后形成平衡二又树T2,再将w插入T2形成

平衡二又树T3。下列关于T1与T3的叙述中,正确的是

I.若v是T1的叶结点,则T1与T3可能不相同

Ⅱ.若v不是T1的叶结点,则T1与T3一定不相同

Ⅲ.若v不是T1的叶结点,则T1与T3一定相同

A. 仅I

B. 仅II

C. 仅I、Ⅱ

D. 仅I、Ⅲ

5.下图所示的AOE网表示一项包含8个活动的工程。活动d

的最早开始时间和最迟开始时间分别是

A. 3和7

B. 12和12

C. 12和14

D. 15和15

6.用有向无环图描述表达式(x+y)*((x+y)/x),需要的顶点个

数至少是

A. 5

B. 6

C. 8

D. 9

7.选择一个排序算法时,除算法的时空效率外,下列因素中,

还需要考虑的是

I.数据的规模Ⅱ.数据的存储方式Ⅲ.算法的稳定性V.数据的初始状态

A. 仅Ⅲ

B. 仅I、Ⅱ

C. 仅Ⅱ、Ⅲ、IV

D. I、Ⅱ、Ⅲ、Ⅳ

8.现有长度为11且初始为空的散列表HT,散列函数是H(key)=key%7,采用线性探查(线性探测再散列)

法解决冲突将关键字序列87,40,30,6,11,22,98,20依次插入到HT后,HT查找失败的平均查找长度是

A. 4

B. 5.25

C. 6

D. 6.29

9.设主串T=“abaabaabcabaabc”,模式串S=“abaab c”,采用KMP算法进行模式匹配,到匹配成功时为止,在

匹配过程中进行的单个字符间的比较次数是

A. 9

B. 10

C. 12

D. 15

10. 排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一“趟”。下列序列中,不可能是快速排序

第二趟结果的是

A. 5,2,16,12,28,60,32,72

B. 2,16,5,28,12,60,32,72

C. 2,12,16,5,28,32,72,60

D. 5,2,12,28,16,32,72,60

11. 设外存上有120个初始归并段,进行12路归并时,为实现最佳归并,需要补充的虚段个数是

A. 1

B. 2

C. 3

D. 4

12. 下列关于冯·诺依曼结构计算机基本思想的叙述中,错误的是

A. 程序的功能都通过中央处理器执行指令实现

B. 指令和数据都用二进制表示,形式上无差别

C. 指令按地址访问,数据都在指令中直接给出

D. 程序执行前,指令和数据需预先存放在存储器中

13. 考虑以下C语言代码:

unsigned short usi=65535;

short si=usi;

执行上述程序段后,si的值是

A. -1

B. -32767

C. -32768

D. -65535

14. 下列关于缺页处理的叙述中,错误的是

A. 缺页是在地址转换时CPU检测到的一种异常

B. 缺页处理由操作系统提供的缺页处理程序来完成

C. 缺页处理程序根据页故障地址从外存读入所缺失的页

D. 缺页处理完成后回到发生缺页的指令的下一条指令执行

15. 某计算机采用大端方式,按字节编址。某指令中操作数的机器数为1234 FF00H,该操作数采用基址寻址

方式,形式地址(用补码表示)为FF12H,基址寄存器内容为F000 0000H,则该操作数的LSB(最低有效字节)所在的地址是

A. F000 FF12H

B. F000 FF15H

C. EFFF FF12H

D. EFFF FF15H

16. 下列有关处理器时钟脉冲信号的叙述中,错误的是

A. 时钟脉冲信号由机器脉冲源发出的脉冲信号经整形和分频后形成

B. 时钟脉冲信号的宽度称为时钟周期,时钟周期的倒数为机器主频

C. 时钟周期以相邻状态单元间组合逻辑电路的最大延迟为基准确定

D. 处理器总是在每来一个时钟脉冲信号时就开始执行一条新的指令

17. 某指令功能为R[r2]←R[r1]+M[R[r0]],其两个源操作数分别采用寄存器、寄存器间接寻址方式。对于下列

给定部件,该指令在取数及执行过程中需要用到的是

I.通用寄存器组(GPRs)Ⅱ.算术逻辑单元(ALU)

Ⅲ.存储器(Memory)Ⅳ.指令译码器(ID)

A. 仅I、Ⅱ

B. 仅I、Ⅱ、Ⅲ

C. 仅Ⅱ、Ⅲ、IV

D. 仅I、Ⅲ、Ⅳ

18. 在采用“取指、译码/取数、执行、访存、写回”5段流水线的处理器中,执行如下指令序列,其中s0、s1、

s2、s3和t2表示寄存器编号。

I1:add s2,s1,s0 //R[s2]←R[s1]+R[s0]

I2:load s3,0(t2)//R[s3]←M[R[t2]+0]

I3:add s2,s2 s3 //R[s2]←R[s2]+R[s3]

I4:store s2,0(t2)//M[R[t2]+0]←R[s2]

下列指令对中,不存在数据冒险的是

A. I1和I3

B. I2和I3

C. I2和I4

D. I3和I4

19. 假定一台计算机采用3通道存储器总线,配套的内存条型号为DDR3-1333,即内存条所接插的存储器总

线的工作频率为1333 MHz、总线宽度为64位,则存储器总线的总带宽大约是

A. 10. 66 GB/s

B. 32 GB/s

C. 64 GB/s

D. 96 GB/s

20. 下列关于磁盘存储器的叙述中,错误的是

A. 磁盘的格式化容量比非格式化容量小

B. 扇区中包含数据、地址和校验等信息

C. 磁盘存储器的最小读写单位为一个字节

D. 磁盘存储器由磁盘控制器、磁盘驱动器和盘片组成

21. 某设备以中断方式与CPU进行数据交换,CPU主频为1 GHz,设备接口中的数据缓冲寄存器为32位,

设备的数据传输率为50kB/s。若每次中断开销(包括中断响应和中断处理)为1000个时钟周期,则CPU 用于该设备输入/输出的时间占整个CPU时间的百分比最多是

A. 1.25%

B. 2.5%

C. 5%

D. 12. 5%

22. 下列关于DMA方式的叙述中,正确的是

I. DMA传送前由设备驱动程序设置传送参数

II.数据传送前由DMA控制器请求总线使用权

Ⅲ.数据传送由DMA控制器直接控制总线完成

IV.DMA传送结束后的处理由中断服务程序完成

A. 仅I、Ⅱ

B. 仅Ⅰ、Ⅲ、Ⅳ

C. 仅Ⅱ、Ⅲ、IV

D. I、Ⅱ、Ⅲ、IV

23. 下列关于线程的描述中,错误的是

A. 内核级线程的调度由操作系统完成

B. 操作系统为每个用户级线程建立一个线程控制块

C. 用户级线程间的切换比内核级线程间的切换效率高

D. 用户级线程可以在不支持内核级线程的操作系统上实现

24. 下列选项中,可能将进程唤醒的事件是

I. I/O结束Ⅱ. 某进程退出临界区Ⅲ. 当前进程的时间片用完

A. 仅I

B. 仅Ⅲ

C. 仅I、Ⅱ

D. I、Ⅱ、Ⅲ

25. 下列关于系统调用的叙述中,正确的是

I.在执行系统调用服务程序的过程中,CPU处于内核态

Ⅱ.操作系统通过提供系统调用避免用户程序直接访问外设

Ⅲ.不同的操作系统为应用程序提供了统一的系统调用接口

IV.系统调用是操作系统内核为应用程序提供服务的接口

A. 仅I、IV

B. 仅II、III

C. 仅I、Ⅱ、IV

D. 仅I、Ⅲ、Ⅳ

26. 下列选项中,可用于文件系统管理空闲磁盘块的数据结构是

I.位图Ⅱ.索引节点Ⅲ.空闲磁盘块链Ⅳ.文件分配表(FAT)

A. 仅I、Ⅱ

B. 仅Ⅰ、Ⅲ、Ⅳ

C. 仅l、Ⅲ

D. 仅Ⅱ、Ⅲ、Ⅳ

27. 系统采用二级反馈队列调度算法进行进程调度。就绪队列Q1采用时间片轮转调度算法,时间片为10ms;

就绪队列Q2采用短进程优先调度算法;系统优先调度Q1队列中的进程,当Q1为空时系统才会调度Q2中的进程;新创建的进程首先进入Q1;Q1中的进程执行一个时间片后,若未结束,则转入Q2。若当前Q1、Q2为空,系统依次创建进程Pl、P2后即开始进程调度Pl、P2需要的CPU时间分别为30ms和20ms,则进程P1、P2在系统中的平均等待时间为

A. 25 ms

B. 20 ms

C. 15 ms

D. 10 ms

28. 在分段存储管理系统中,用共享段表描述所有被共享的段。若进程P1和P2共享段S,下列叙述中,错误

的是

A. 在物理内存中仅保存一份段S的内容

B. 段S在P1和P2中应该具有相同的段号

C. P1和P2共享段S在共享段表中的段表项

D. P1和P2都不再使用段S时才回收段S所占的内存空间

29. 某系统采用LRU页置换算法和局部置换策略,若系统为进程P预分配了4个页框,进程P访问页号的序

列为0,1,2,7,0,5,3,5,0,2,7,6,则进程访问上述页的过程中,产生页置换的总次数是

A. 3

B. 4

C. 5

D. 6

30. 下列关于死锁的叙述中,正确的是

I. 可以通过剥夺进程资源解除死锁

II. 死锁的预防方法能确保系统不发生死锁

III. 银行家算法可以判断系统是否处于死锁状态

Ⅳ. 当系统出现死锁时,必然有两个或两个以上的进程处于阻塞态

A. 仅II、Ⅲ

B. 仅I、Ⅱ、Ⅳ

C. 仅I、Ⅱ、Ⅲ

D. 仅I、Ⅲ、Ⅳ

31. 某计算机主存按字节编址,采用二级分页存储管理,地址结构如下所示

页目录号(10位)页号(10位)页内偏移(12位)

虚拟地址2050 1225H对应的页目录号、页号分别是

A. 081H、101H

B. 081H、401H

C. 201H、101H

D. 201H、401H

32. 在下列动态分区分配算法中,最容易产生内存碎片的是

A. 首次适应算法

B. 最坏适应算法

C. 最佳适应算法

D. 循环首次适应算法

33. OSI参考模型的第5层(自下而上)完成的主要功能是

A. 差错控制

B. 路由选择

C. 会话管理

D. 数据表示转换

34. 100BaseT快速以太网使用的导向传输介质是

A. 双绞线

B. 单模光纤

C. 多模光纤

D. 同轴电缆

35. 对于滑动窗口协议,如果分组序号采用3比特编号,发送窗口大小为5,则接收窗口最大是

A. 2

B. 3

C. 4

D. 5

36. 假设一个采用CSMA/CD协议的100Mbps局域网,最小帧长是128 B,则在一个冲突域内两个站点之间的

单向传播延时最多是

A. 2.56 μs

B. 5.12 μs

C. 10.24 μs

D. 20.48 μs

37. 若将101. 200. 16. 0/20划分为5个子网,则可能的最小子网的可分配IP地址数是

A. 126

B. 254

C. 510

D. 1022

38. 某客户通过一个TCP连接向服务器发送数据的部分过程如题38图所

示。客户在t0时刻第一次收到确认序列号ack_seq=100的段,并发送

序列号seq=100的段,但发生丢失。若TCP支持快速重传,则客户重

新发送seq=100段的时刻是

A. t1

B. t2

C. t3

D. t4

39. 若主机甲主动发起一个与主机乙的TCP连接,甲、乙选择的初始序列

号分别为2018和2046,则第三次握手TCP段的确认序列号是

A. 2018

B. 2019

C. 2046

D. 2047

40. 下列关于网络应用模型的叙述中,错误的是

A. 在P2P模型中,结点之间具有对等关系

B. 在客户/服务器(C/S)模型中,客户与客户之间可以直接通信

C. 在C/S模型中,主动发起通信的是客户,被动通信的是服务器

D. 在向多用户分发一个文件时,P2P模型通常比C/S模型所需时间短

二、综合应用题:41~47小题,共70分。

41. (13分)设线性表L=(a1,a2,a…,an-2,a-1,a。)采用带头结点的单链表保存,链表中结点定义如下:

typedef struct node {

int data;

struct node* next;

} NODE;

请设计一个空间复杂度为O(1)且时间上尽可能高效的算法,重新排列L中的各结点,得到线性表L'=(a1,

a n,a2,a n-1,a3,a n-2…)。

要求:

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

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

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

42. (10分)请设计一个队列,要求满足:①初始时队列为空;②入队时,允许增加队列占用空间;③出队后,

出队元素所占用的空间可重复使用,即整个队列所占用的空间只增不减;④人队操作和出队操作的时间复杂度始终保持为O(1)。请回答下列问题:

(1)该队列应该选择链式存储结构,还是顺序存储结构?

(2)画出队列的初始状态,并给出判断队空和队满的条件

(3)画出第一个元素入队后的队列状态。

(4)给出入队操作和出队操作的基本过程。

43.(8分)有n(n≥3)位哲学家围坐在一张圆桌边,每位哲学家交替地就餐和思考。在圆桌中心有m(m≥1)个碗,

每两位哲学家之间有1根筷子。每位哲学家必须取到一个碗和两侧的筷子之后,才能就餐,进餐完毕,将碗和筷子放回原位,并继续思考。为使尽可能多的哲学家同时就餐,且防止出现死锁现象,请使用信号量的P、V操作(wait()、signal()操作)描述上述过程中的互斥与同步,并说明所用信号量及初值的含义。

44.(7分)某计算机系统中的磁盘有300个柱面,每个柱面有10个磁道,每个磁道有200个扇区,扇区大小

为512B。文件系统的每个簇包含2个扇区。请回答下列问题:

(1) 磁盘的容量是多少?

(2) 假设磁头在85号柱面上,此时有4个磁盘访问请求,簇号分别为:100260、60005、101660和110560。

若采用最短寻道时间优先(SSTF)调度算法,则系统访问簇的先后次序是什么?

(3) 第100530簇在磁盘上的物理地址是什么?将簇号转换成磁盘物理地址的过程是由I/O系统的什么程

序完成的?

45. (16分)已知f(n)=n!=n×(n-l)×(n-2)×…×2×1,计算f(n)的C语言函数fl的源程序(阴影部分)及其在32

位计算机M上的部分机器级代码如下:

其中,机器级代码行包括行号、虚拟地址、机器指令和汇编指令,计算机M按字节编址,int型数据占32位。请回答下列问题:

(1) 计算f(10)需要调用函数f1多少次?执行哪条指令会递归调用f1?

(2) 上述代码中,哪条指令是条件转移指令?哪几条指令一定会使程序跳转执行?

(3) 根据第16行call指令,第17行指令的虚拟地址应是多少?已知第16行call指令采用相对寻址方式,

该指令中的偏移量应是多少(给出计算过程)?已知第16行call指令的后4字节为偏移量,M采用大端还是小端方式?

(4) f(13)=6 227 020 800,但f1(13)的返回值为1 932 053 504,为什么两者不相等?要使f1(13)能返回正

确的结果,应如何修改f1源程序?

(5) 第19行imul eax,ecx表示有符号数乘法,乘数为R[eax]和R[ecx],当乘法器输出的高、低32位乘积

之间满足什么条件时,溢出标志OF=1?要使CPU在发生溢出时转异常处理,编译器应在imul指令后加一条什么指令?

46. (7分)对于题45,若计算机M的主存地址为32位,采用分页存储管理方式,页大小为4KB,则第1行

push指令和第30行ret指令是否在同一页中(说明理由)?若指令Cache有64行,采用4路组相联映射方式,主存块大小为64B,则32位主存地址中,哪几位表示块内地址?哪儿位表示Cache组号?哪几位表示标记(tag)信息?读取第16行call指令时,只可能在指令Cache的哪一组中命中(说明理由)?

47. (9分)某网络拓扑如题47图所示,其中R为路由器,主机H1~H4的IP地址配置以及R的各接口IP地址

配置如图中所示。现有若干台以太网交换机(无VLAN功能)和路由器两类网络互连设备可供选择。

请回答下列问题:

(1) 设备1、设备2和设备3分别应选择什么类型网络设备?

(2) 设备1、设备2和设备3中,哪几个设备的接口需要配置IP地址?并为对应的接口配置正确的IP地

址。

(3) 为确保主机H1~H4能够访问Internet,R需要提供什么服务?

(4) 若主机H3发送一个目的地址为192.168.1.127的IP数据报,网络中哪几个主机会接收该数据报?

2019年全国硕士研究生招生考试计算机科学与技术学科联考

计算机学科专业基础综合试题参考答案

一、单项选择题

1.B

2.B

3.C

4.A

5.C

6.A

7.D

8.C

9.B 10.D

11.B 12.C 13.A 14.D 15.D

16.D 17.B 18.C 19.B 20.C

21.A 22.D 23.B 24.C 25.C

26.B 27.C 28.B 29.C 30.B

31.A 32.C 33.C 34.A 35.B

36.B 37.B 38.C 39.D 40.B

二、综合应用题

41.【答案要点】

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

算法分3步完成。第1步,采用两个指针交替前行,找到单链表的中间结点;第2步,将单链表的后半段结点原地逆置;第3步,从单链表前后两段中依次各取一个结点,按要求重排。

(2)算法实现:

(3)算法的时间复杂度:

参考答案的时间复杂度为O(n)。

42. 【答案要点】

(1)采用链式存储结构(两段式单向循环链表),队头指针为front,队尾指针为rear。

(2)初始时,创建只有一个空闲结点的两段式单向循环链表,头指针front与尾指针rear均指向空闲结点。如下图所示。

队空的判定条件:front==rear。

队满的判定条件:front==rear->next。

(3)插入第一个元素后的队列状态:

(4)操作的基本过程:

43. 【答案要点】

//信号量

semaphore bowl;//用于协调哲学家对碗的使用semaphore chopsticks[n];//用于协调哲学家对筷子的使用

for(int i=0;i

chopsticks[i].value=1;//设置两个哲学家之间筷子的数量

bowl.value=min(n-1,m);//bowl.value≤n-1,确保不死锁

CoBegin

while(True){ //哲学家i的程序

思考;

P(bowl);//取碗

P(chopsticks[i]);//取左边筷子

P(chopsticks[(i+l)MOD n]);//取右边筷子

就餐;

V(chopsticks[i]);

V(chopsticks[(i+1)MOD n]);

V(bowl);

}

CoEnd

44.【答案要点】

(1)磁盘容量=(300×10×200×512/1024)KB=3×105 K

B

(2)依次访问的簇是100 260、101 660、110 560、60 005。

(3)第100 530簇在磁盘上的物理地址由其所在的柱面号、磁头号、扇区号构成

其所在的柱面号为?100530/(10×200/2)?=100。100530%(10×200/2)=530,磁头号为?530/(200/2)?=5。

扇区号为(530×2)%200=60。

将簇号转换成磁盘物理地址的过程由磁盘驱动程序完成。

45.【答案要点】

(1)计算f(l0)需要调用函数f1共10次执行第16行call 指令会递归调用f1。

(2)第12行jle指令是条件转移指令。第16行call指令、第20行jmp指令、第30行ret指令一定会使程序跳转执行。

(3)第16行call指令的下一条指令的地址为0040 1025H+5=0040 102AH,故第17行指令的虚拟地址是0040 102AH。call指令采用相对寻址方式,即目标地址=(PC)+偏移量,call指令的目标地址为0040 1000H,所以偏移量=目标地址-(PC)=00401000H-0040 102AH=FFFF FFD6H。根据第16行call指令的偏移量字段为D6 FF FF FF,可确定M采用小端方式。

(4)因为f(13)=6 227 020 800,大于32位int型数据可表示的最大值,因而f1(13)的返回值是一个发生了溢出的结果。

为使f1(13)能返可正确结果,可将函数f1的返回值类型改为double(或long long或long double或float)。

(5)若乘积的高33位为非全0或非全l,则OF=1

编译器应该在imul指令后加一条“溢出自陷指令”,使得CPU自动查询溢出标志OF,当OF=1时调出“溢出异常处理程序”。

46.【答案要点】

第1行指令和第30行指令的代码在同一页。

因为页大小为4KB,所以虚拟地址的高20位为虚拟页号。第1行指令和第30行指令的虚拟地址高20位都是00401H,因此两条指令在同一页中。

Cache组数为64/4=16,因此,主存地址划分中,低6位为块内地址、中间4位为组号(组索引)、高22位为标记。

读取第16行call指令时,只可能在指令Cache第0组中命中。

因为页大小为4KB,所以虚拟地址和物理地址的最低12位完全相同,因而call 指令虚拟地址0040 1025H中的025H=0000 0010 0101B=00 0000 100101B为物理地址的低12位,故对应Cache组号为0。

47.【答案要点】

(1)设备1:路由器,设备2:以太网交换机,设备3:以太网交换机(2)设备1的接口需要配置IP地址;设备1的IFl、IF2和IF3接口的IP地址分别是:192.168.1.254、192.168.1.1和192.168.1.65。

(3)R需要提供NA T服务

(4)主机H4会接收该数据报。

相关文档