2017年考研计算机统考408真题
一、单项选择题
1. 下列函数的时间复杂度是 1 。
int fun c(i nt n)
{ int i = 0; sum = 0;
while( sum < n) sum += ++i; return i;
}
A. O(log n)
B. O( n1/2)
C. O(n)
D. O(nlogn)
2. 下列关于栈的叙述中,错误的是 2 。
I?采用非递归方式重写递归程序时必须使用栈
II. 函数调用时,系统要用栈保存必要的信息
III. 只要确定了入栈的次序,即可确定出栈次序
IV. 栈是一种受限的线性表,允许在其两端进行操作
A.仅1
B.仅1、II、
III
C.仅1、山、IV
D.仅II、山、IV
3. 适用于压缩存储稀疏矩阵的两种存储结构是 3 。
A. 三元组表和十字链表
B. 三元组表和邻接矩阵
C. 十字链表和二叉链表
D. 邻接矩阵和十字链表
4. 要使一棵非空二叉树的先序序列与中序序列相同,其所有非叶结点须满足的条件是
4 。
A. 只有左子树
B. 只有右子树
C. 结点的度均为1
D. 结点的度均为2
5. 已知一棵二叉树的树形如下图所示,其后序序列为e,a,c,b,d,g,f ,树中与结点a
同层的结点是 5 。
A. c
B. d
C. f
D. g
6. 已知字符集{a,b,c,d,e,f,g,h} ,若各字符的哈夫曼编码依次是
0100,10,0000,0101,001,011,11,0001 ,则编码序列0100011001001011110101 的
译码结果是 6 。
A. a c g a b f h
B. a d b a g b b
C. a f b e a g d
D. a f e e f g d
7. 已知无向图G含有16条边,其中度为4的顶点个数为3,度为3的顶点个数为4,
其他顶点的度均小于3。图G所含的顶点个数至少是7 。
A. 10
B. 11
C. 13
D. 15
8. 下列二叉树中,可能成为折半查找判定树(不含外部结点)的是8 。
9. 下列应用中,适合使用B+树的是9
A. 编译器中的词法分析
B. 关系数据库系统中的索引
C. 网络中的路由表快速查找
D. 操作系统的磁盘空闲块管理
10. 在内部排序中,若选择了归并排序而没有选择插入排序,则可能的理由是_____ 10
I?归并排序的程序代码更短
II?归并排序的占用空间更少
III.归并排序的运行效率更高
A. 仅II
B. 仅III
C. 仅I、II
D. 仅I、III
11. 下列排序方法中,若将顺序存储更换为链式存储,则算法的时间效果会降低的是_
11 。
I. 插入排序
II. 选择排序
III. 起泡排序
IV. 希尔排序
V. 堆排序
A. 仅I、II
B. 仅II、III
C. 仅山、IV
D. 仅IV、V
12. 假定计算机M1和M2具有相同的指令集体系结构(ISA),主频分别为1.5GHz和
1. 2GHz。在M1和M2上运行某基准程序P,平均CPI分别
为2和1,则程序P在M1和M2上运行时间的比值是12 。
A. 0.4
B. 0.625
C. 1.6
D. 2.5
13. 某计算机主存按字节编址,由4个64M*8位的DRAM芯片采用交叉编址方式构成,
并与宽度为32位的存储器总线相连,主存每次最多读写32位数据。若double 型
变量x的主存地址为804 001AH,则读取x需要的存储周期是13 。
A. 1
B. 2
C. 3
D. 4
14. 某C语言程序段如下:
for(i = 0; i <= 9; i++)
{ lemp = 1;
for(j < 0; j <= I; j++) temp *= a[j]; sum += temp;
}
下列关于数组a的访问局部性的描述中,正确的是14 。
A.时间局部性和空间局部性皆有
B.无时间局部性,有空间局部性
C.有时间局部性,无空间局部性
D.时间局部性和空间局部性皆无
15.下列寻址方式中,最适合按下标顺序访问一维数组兀素的是15 。
A.相对寻址
B.寄存器寻址
C.直接寻址
D.变址寻址
16.某计算机按字节编址,指令字长固定且只有两种指令格式,其中三地址指令29条
二地址指令107条,每个地址字段为6位,则指令字长至少应该是16
A.24位
B.26位
C.28位
D.32位
17.下列关于超标量流水线特性的叙述中,正确的是16 。
1?能缩短流水线功能段的处理时间
II.能在一个时钟周期内同时发射多条指令
III.能结合动态调度技术提咼指令执仃并仃性
A.仅II
B.仅1、山
C.仅II、III
D.1、II 和III
18.下列关于主存储器(MM )和控制存储器(CS)的叙述中,错误的是18 。
A.MM在CPU夕卜,CS在CPU内
B.MM按地址访问,CS按内存访问
C.MM存储指令和数据,CS存储微指令
D.MM用RAM和ROM实现,CS用ROM实现
19.下列关于指令流水线数据通路的叙述中,错误的是19 。
A.包含生成控制信号的控制部件
B.包含算法逻辑运算部件(ALU )
C.包含通用寄存器组和取指部件
D.由组合逻辑电路和时序逻辑电路组合而成
20.下列关于多总线结构的叙述中,错误的是20 。
A.靠近CPU的总线速度较快
B.存储器总线可支持突发传送方式
C.总线之间须通过桥接器相连
D.PC l_Express*16米用并行传输方式
21.I/O指令实现的数据传送通常发生在21 。
A.I/O设备和I/O端口之间
B.通用寄存器和I/O设备之间
C.I/O端口和I/O端口之间
D.通用寄存器和I/O 端口之间
22.下列关于多重中断系统的叙述中,错误的是
A. 在一条指令执行结束时响应中断
B. 中断处理期间CPU 处于关中断状态
C. 中断请求的产生与当前指令的执行无关
D. CPU 通过采样中断请求信号检测中断请求
中的作业分别是
23
A. J2、 J3
B. J1、 J4
C.
J2、 J4 D. J1、
J3
24. 执行系统调用的过程包括如下主要操作:
1) 返回用户态 2) 执行陷入(trap )指令
3) 传递系统调用参数 4) 执行相应的服务程序 正确的执行顺序是 24
。
A. 2) 3) 1) 4)
B. 2) 3) 3) 1)
C. 3) 2) 4) 1)
D. 3)
4) 2) 1)
25. 某计算机按字节编址,其动态分区内存管理采用最佳适应算法,每次分配和回收内
链第一个分区的起始地址和大小分别是 25 。
A. 3
、 20K 、380KB
B. 3、 500K 、80KB
C.
4、 20K 、 180KB D. 4
、
500K 、 80KB
A. 1026B
B. 1536B
C. 1538B
D.
2048B
22
26. 某文件系统的簇和磁盘扇区大小分别为
则系统分配给该文件的磁盘空间大小是 1KB 和512B 。若一个文件的大小为 1026B ,
26 。
27. 下列有关基于时间片的进程调度的叙述中,错误的是27 。
A. 时间片越短,进程切换的次数越多,系统开销也越大
B. 当前进程的时间片用完后,该进程状态由执行态变为阻塞态
C. 时钟中断发生后,系统会修改当前进程在时间片内的剩余时间
D. 影响时间片大小的主要因素包括响应时间、系统开销和进程数量等。
28. 与单道程序系统相比,多道程序系统的优先是28 。
I. CPU利用率高
II. 系统开销小
III. 系统吞吐量大
IV. I/O设备利用率高
A.仅
1、III
B.仅
1、IV
C.仅
II、III
D.仅
1、山、IV
29. 下列选项中,磁盘逻辑格式化程序所做的工作是29 。
I?对磁盘进行分区
II?建立文件系统的根目录
III. 确定磁盘扇区校验码所占位数
IV. 对保存空闲磁盘块信息的数据结构进行初始化
A. 仅II
B. 仅II、IV
C. 仅山、IV
D. 仅I、II、IV
30. 某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件主、文件主
的伙伴、其他用户;访问权限分为5种:完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表示不同类别用户对一个文件的访问
权限,则描述文件权限的位数至少应为30 。
A. 5
B. 9
C. 12
D. 20
31. 若文件fl的硬链接为f2,两个进程分别打开fl和f2,获得对应的文件描述符为fd1
和fd2,则下列叙述中,正确的是31 。
I. f1和f2的读写指针位置保持相同
II. f1和f2共享同一个内存索引结点
III. fdl和fd2分别指向各自的用户打开文件表中的一项
A. 仅III
B. 仅II、III
C. 仅I、II
D. I、II 和III
32. 系统将数据从磁盘读到内存的过程包括以下操作:
1)DMA控制器发出中断请求
2)初始化DMA控制器并启动磁盘
3)从磁盘传输一块数据到内存缓冲区
4) 执行“ DMA结束”中断服务程序正确的执行顺序是32 。
A. 3) 1) 2) 4)
B. 2) 3) 1) 4)
C. 2) 1) 3) 4)
D. 1) 2) 4) 3)
33. 假设OSI参考模型的应用层欲发送400B的数据(无拆分),除物理层和应用层之处,
其他各层在封装PDU时均引入20B的额外开销,则应用层数据传输效率约为_
33 。
A.80%
B.83%
C.87%
D.91%
34. 若信道在无噪声情况下的极限数据传输速率不小于信噪比为30dB条件下的极限数
据传输速率,则信号状态至少是34 。
A. 4
B. 8
C. 16
D. 32
35. 在下图所示的网络中,若主机H发送一个封装访问InternetIP 分组的IEEE 802.11
数据帧F,则帧F的地址1、地址2和地址3分别是35 。
A. 00-12-34-56-78-9a,00-12-34-56-78-9b,00-12-34-56-78-9c
B. 00-12-34-56-78-9b,00-12-34-56-78-9a,00-12-34-56-78-9c
C. 00-12-34-56-78-9b,00-12-34-56-78-9c,00-12-34-56-78-9a
D. 00-12-34-56-78-9a,00-12-34-56-78-9c,00-12-34-56-78-9b
36. 下列IP地址中,只能作为IP分组源IP地址但不能作为目的IP地址是36
A. 0.0.0.0
B. 127.0.0.1
C. 200.10.10.3
D. 255.255.255.255
37. 直接封装RIP,OSPF,BGP报文的协议分别是37 。
A.TCP
、UDP、IP
B.
TCP
、
IP、UDP
C.UDP
、
TCP、IP
D.UDP
、IP、TCP
38. 若将网络21.3.0.0/16划分为128个规模相同的子网,则每个子网可分配的最大IP
地址个数是38 。
A. 254
B. 256
C. 510
D. 512
39. 若甲向乙发起了一个TCP连接,最大段长MSS=KB, RTT=5ms,乙开辟的接收缓存
为64KB,则甲从连接建立蒽至发送窗口达到32KB,需经过的时间至少是
38 。
A. 25ms
B. 30ms
C. 160ms
D. 165ms
40. 下列关于FTP协议的叙述中,错误的是40 。
A. 数据连接在每次数据传输完毕后就关闭
B. 控制连接在整个会话期间保持打开状态
C. 服务器与客户端的TCP 20端口建立数据连接
D. 客户端与服务器的TCP 21端口建立控制连接
、综合应用题
41. 请设计一个算法,将给定的表达式树(二叉树)转换为等价的中缀表达式(通过括
号反映操作符的计算次序)并输出。例如,当下列两棵表达式作为算法的输入时:
输出的等价中缀表达式分别为(a+b)*(c+(-d))
二叉树结点定义如下:
Typedef struct node
{ char data[10]; II存储操作数或操作符
Struct node * left, * right;
}BTree;
要求:
(1) 给出算法的基本设计思想。
(2) 根据设计思想,采用C或C++语言描述算法,关键之处给出注释。
42. 使用Prim (普里姆)算法求带权连通图的最小(代价)生成树( MST)。请回答下
列问题。
(1) 对下列图G,从顶点A开始求G的MST,依次给出按算法选出的边。
(2) 图G的MST是唯一的吗?
和(a*b)+(-(-c-d))。
(3) 对任意的带权连通图,满足什么条件时,其
MST是唯一的?
■ p I轴
43. 已知TT^UB,计算f(n)的C语言函数fl如下:
1 int f1( un sig ned n)
2 { int sum = 1, power = 1;
3 for(un sig ned i=0; i <= n-1; i++)
4 { power *= 2;
5 sum += power;
6 }
7 return sum;
8 }
将f1中的int都改为float,可得到计算f(n)的另一个函数f2。假设unsigned 和int型数据都占32位,float采用IEEE 754单精度标准。
请回答下列问题。
(1) 当n=0时,f1会出现死循环,为什么?若将f1中的变量i和n都定义为int型,则f1是否还
会出现死循环?为什么?
(2) f1(23)和f2(23)的返回值是否相等?机器数各是什么(用十六进制表示)?
(3) F1(24)和f2(24)的返回值分别为33 554 431和33 554 432.0,为什么不相等?
(4) f(31)=2 32-1,而f1(31)的返回值却为-1,为什么?若使f1(n)的返回值与f(n)相等,则最大的n
是多少?
(5) F2(127)的机器数为7F80 0000H,对应的值是什么?若使f2(n)的结果不溢出,则最大的n是
什么?若使f2(n)的结果精确(无舍入),则最大的n是多少?
44. 在按字节编址的计算机M上,题43中f1的部分源程序(部分)与对应的机器级
代码(包括指令的虚拟地址)如下:
int f1( un sig ned n)
1 00401020 55 push ebp
for(un sig ned i = 0; i <=n-1; i++)
20 0040105E 39 4D F4 cmp dword ptr[ebp-0Ch], ecx
{ power *= 2;
23 00401066 D1 E2 shl edx, l
return sum;
35 0040107F C3 ret
其中,机器级代码行包括行号、虚拟地址、机器指令和汇编指令。
请回答下列问题。
(1) 计算机M是RISC还是CISC ?为什么?
(2) f1的机器指令代码共占多少字节?要求给出计算过程。
⑶第20条指令cmp通过i减n-1实现对i和n-1的比较。执行f1(0)过程中,当i=0时,cmp指令执行
后,进/借位标志CF的内容是什么?要求给出计算过程。
(4)第23条指令shl通过左移操作实现了power*2 运算,在f2中能否也用shl指
令实现power*2 ?为什么?
45.假定题44给出的计算机M采用二级分布虚拟存储管理方式,邪气地址格式如下:
请针对题43的函数fl和题44中的机器指令代码,回答下列问题。
(1) 函数fl的机器指令代码占多少页?
(2) 取第1条指令(push ebp)时,若在进行地址变换的过程中需要访问内存中的
页目录和页表,而会分别访问它们各自的第几个表项(编号从0开始)?
(3) M的I/O采用中断控制方式。若进程P在调用fl之前通过scanf()获取n的值,
则在执行scanf()的过程中,进程P的状态会如何变化?CPU是否会进入内核
态?
46. 某进程中有3个并发执行的线程thread1 、thread2 和thread3 ,其伪代码如下所
临界资源,并且最大程序地并发执行。
47. 甲乙双方均采用后退N帧协议(GBN )进行持续的双向数据传输,且双方始终采用捎带确认,帧长
均为1000B。妄y和R,y分别表示甲方和乙方发送的数据帧,其中:
x是发送序号;y是确认序号(表示希望接收对方的下一帧序号) ;数据帧的发送序
号和确认序号字段均为3比特。信道传输速率为100Mbps,RTT=0.96ms。下图给
出了甲方发送数据帧和接收数据帧的两种场景,其中t0为初始时刻,此时甲方的
发送和确认序号均为0,和时刻甲方有足够多的数据待发送。
请回答下列问题。
(1)对于图(a ) , t o 时刻期间,甲方可以断定乙方已正确接收的数据帧数是多少?正 确接
收的是哪几个帧(请用
S X,y 形式给出)?
⑵ 对于图 ⑻,从t i 时刻起,甲方在不出现超时且未收到乙方新的数据帧之前,
最
多还可以发送多少个数据帧?其中第一个帧和最后一个帧分别是哪个 (请用S x,y
形式给出)?
(3)对于图(b ),从t i 时刻起,甲方在不出现新的超时且未收到乙方新的数据帧之前, 需要
重发多少个数据帧?重发的第一个帧是哪个(请用
S x,y 形式给出)?
甲方可以达到的最大信道利用率是多少
?
(b)