2015年计算机真题及解析解析 - 图文

更新时间:2024-01-06 20:28:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2015年全国硕士研究生入学统一考试

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

一、单项选择题:140小题,每小题2分,共80分。下列每题给出的四个选项中,只有一个选项符合题目要求。请在答题卡上将所选项的字母涂黑。

1.已知程序如下: int s(int n)

{ return (n<=0) ? 0 : s(n-1) +n; } void main()

{ cout<< s(1); }

程序运行时使用栈来保存调用过程的信息,自栈底到栈顶保存的信息一次对应的是 A.main()->S(1)->S(0) B.S(0)->S(1)->main() C. main()->S(0)->S(1) D.S(1)->S(0)->main() D. 先序序列为a,b,c,d的不同二叉树的个数是 A.13

B.14

C.15

D.16

3.下列选项给出的是从根分别到达两个叶节点路径上的权值序列,能属于同一棵哈夫 曼树的是

A.24,10,5和 24,10,7

B.24,10,5和24,12,7

C.24,10,10和 24,14,11 D.24,10,5和 24,14,6

4.现在有一颗无重复关键字的平衡二叉树(AVL树),对其进行中序遍历可得到一个降序序列。下列关于该平衡二叉树的叙述中,正确的是

A.根节点的度一定为2

B.树中最小元素一定是叶节点

C.最后插入的元素一定是叶节点 D.树中最大元素一定是无左子树

5.设有向图G=(V,E),顶点集V={V0,V1,V2,V3},边集E={,,},若从顶点V0 开始对图进行深度优先遍历,则可能得到的不同遍历序列个数是

A.2

B.3

C.4

D.5

6.求下面带权图的最小(代价)生成树时,可能是克鲁斯卡(kruskal)算法第二次选中但不是普里姆(Prim)算法(从V4开始)第2次选中的边是

A.(V1,V3)

B.(V1,V4)

C.(V2,V3)

D.(V3,V4)

7.下列选项中,不能构成折半查找中关键字比较序列的是 A.500,200,450,180

B.500,450,200,180

C.180,500,200,450 D.180,200,500,450

8.已知字符串S为“abaabaabacacaabaabcc”. 模式串t为“abaabc”, 采用KMP算法进行匹配,第一次出现“失配”(s[i] != t[i]) 时,i=j=5,则下次开始匹配时,i和j的值分别是

A.i=1,j=0

B.i=5,j=0

C.i=5,j=2

D.i=6,j=2

9.下列排序算法中元素的移动次数和关键字的初始排列次序无关的是 A.直接插入排序

B.起泡排序

C.基数排序

D.快速排序

10.已知小根堆为8,15,10,21,34,16,12,删除关键字8之后需重建堆,在此过程中,关键字之间的比较数是

A.1

B.2

C.3

D.4

11.希尔排序的组内排序采用的是()

A.直接插入排序 B.折半插入排序 C.快速排序 12.计算机硬件能够直接执行的是() Ⅰ.机器语言程序 Ⅱ.汇编语言程序 A.仅Ⅰ

B.仅Ⅰ Ⅱ

Ⅲ.硬件描述语言程序

D.ⅠⅡ Ⅲ D.归并排序

C.仅Ⅰ Ⅲ

13.由3个“1”和5个“0”组成的8位二进制补码,能表示的最小整数是() A.-126

B.-125

C.-32

D.-3

14.下列有关浮点数加减运算的叙述中,正确的是() Ⅰ. 对阶操作不会引起阶码上溢或下溢 Ⅱ. 右规和尾数舍入都可能引起阶码上溢 Ⅲ. 左规时可能引起阶码下溢 Ⅳ. 尾数溢出时结果不一定溢出 A.仅Ⅱ Ⅲ

B.仅ⅠⅡⅣ C.仅ⅠⅢ Ⅳ

D.ⅠⅡ Ⅲ Ⅳ

15.假定主存地址为32位,按字节编址,主存和Cache之间采用直接映射方式,主存块大小为4个字,每字32位,采用回写(Write Back)方式,则能存放4K字数据的Cache的总容量的位数至少是()

A.146k

B.147K

C.148K

D.158K

16.假定编译器将赋值语句“x=x+3;”转换为指令”add xaddt, 3”,其中xaddt是x 对应的存储单元地址,若执行该指令的计算机采用页式虚拟存储管理方式,并配有相应的TLB,且Cache使用直写(Write Through)方式,则完成该指令功能需要访问主存的次数至少是()

A.0

B.1

C.2

D.3

17.下列存储器中,在工作期间需要周期性刷新的是() A.SRAM

B.SDRAM

C.ROM

D.FLASH

18.某计算机使用4体交叉存储器,假定在存储器总线上出现的主存地址(十进制)序列为8005,8006,8007,8008,8001,8002,8003,8004,8000,则可能发生发生缓存冲突的地址对是()

A.8004、8008

B.8002、8007 C.8001、8008

D.8000、8004

19.下列有关总线定时的叙述中,错误的是() A.异步通信方式中,全互锁协议最慢 B.异步通信方式中,非互锁协议的可靠性最差 C.同步通信方式中,同步时钟信号可由多设备提供 D.半同步通信方式中,握手信号的采样由同步时钟控制

20.若磁盘转速为7200转/分,平均寻道时间为8ms,每个磁道包含1000个扇区,则访问一个扇区的平均存取时间大约是( )

A.8.1ms

B.12.2ms

C.16.3ms

D.20.5ms

21.在采用中断I/O方式控制打印输出的情况下,CPU和打印控制接口中的I/O端口之间交换的信息不可能是( )

A.打印字符 B.主存地址 C.设备状态 D.控制命令

22.内部异常(内中断)可分为故障(fault)、陷阱(trap)和终止(abort)三类。下列有关内部异常的叙述中,错误的( )

A.内部异常的产生与当前执行指令相关 B.内部异常的检测由CPU内部逻辑实现 C.内部异常的响应发生在指令执行过程中

D.内部异常处理的返回到发生异常的指令继续执行 23.处理外部中断时,应该由操作系统保存的是( ) A.程序计数器(PC)的内容 C.块表(TLB)的内容

B.通用寄存器的内容 D.Cache中的内容

24.假定下列指令已装入指令寄存器。则执行时不可能导致CPU从用户态变为内核态(系统态)的是( )

A.DIV R0,R1;(R0)/(R1)→R0 B.INT n;产生软中断

C.NOT R0;寄存器R0的内容取非

D.MOV R0,addr;把地址处的内存数据放入寄存器R0中 25.下列选项中会导致进程从执行态变为就绪态的事件是() A.执行P(wait)操作 C.启动I/O设备

B.申请内存失败 D.被高优先级进程抢占

26.若系统S1 采用死锁避免方法,S2采用死锁检测方法,下列叙述中正确的是() Ⅰ.S1会限制用户申请资源的顺序

Ⅱ.S1需要进行所需资源总量信息,而S2不需要 Ⅲ.S1不会给可能导致死锁的进程分配资源,S2会 A.仅Ⅰ Ⅱ

B.仅Ⅱ Ⅲ

C.仅Ⅰ Ⅲ

D.Ⅰ Ⅱ Ⅲ

27.系统为某进程分配了4个页框,该进程已访问的页号序列为2,0,2,9,3,4,2,8,2,3,8,4,5,若进程要访问的下一页的页号为7,依据LRU算法,应淘汰页的页号是()

A.2

B.3

C.4

D.8

28.在系统内存中设置磁盘缓冲区的主要目的是() A.减少磁盘I/O次数 B.减少平均寻道时间 C.提高磁盘数据可靠性 D.实现设备无关性

29.在文件的索引节点中存放直接索引指针10个,一级二级索引指针各1个,磁盘块大小为1KB。每个索引指针占4个字节。若某个文件的索引节点已在内存中,到把该文件的偏移量(按字节编址)为1234和307400处所在的磁盘块读入内存。需访问的磁盘块个数分别是()

A.1,2 B.1,3 C.2,3 D.2,4

30.在请求分页系统中,页面分配策略与页面置换策略不能组合使用的是()

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

41. 用单链表保存m个整数,节点的结构为(data,link),且|data|

例如若给定的单链表head如下 A.可变分配,全局置换 C.固定分配,全局置换

B.可变分配,局部置换 D.固定分配,局部置换

删除节点后的head为

要求

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

(2) 使用c或c++语言,给出单链表节点的数据类型定义。

(3) 根据设计思想,采用c或c++语言描述算法,关键之处给出注释。 (4) 说明所涉及算法的时间复杂度和空间复杂度。

42. 已知有5个顶点的图G如下图所示

请回答下列问题

辩论者每取出一个邮件,邮件数减1.

A、B两人操作过程: Code Begin A{

While(TRUE){

从A的信箱中取出一个邮件; 回答问题并提出一个新问题; 将新邮件放入B的信箱; } } B{

While(TRUE){

从B的信箱中取出一个邮件; 回答问题并提出一个新问题; 将新邮件放入A的信箱; } } Code End

当信箱不为空时,辩论者才能从信箱中取邮件,否则等待。 当信箱不满时,辩论者才能将新邮件放入信箱,否则等待。

请添加必要的信号量和P、V(或wait, signed)操作,以实现上述过程的同步,要求写出完整过程,并说明信号量的含义和初值。

【参考答案】 Semaphore mutexA=1; Semaphore mutexB=1; Semaphore emptyA=M; Semaphore emptyB=N;

Semaphore fullA=0; While(TRUE){

P(fullA);

P(mutexA)

Get a mail from A_mailbox; V(mutexA); V(fullA);

Answer the question and raise a question;

P(emptyB); P(mutexB)

Semaphore fullB=0; Code Begin A{

send the mail to B; V(mutexB); V(emptyB); } }

B{

While(TRUE){

P(fullB); P(mutexB)

Get a mail from B_mailbox; V(mutexB); V(fullB);

Answer the question and raise a question;

P(emptyA);

P(mutexA) send the mail to A; V(mutexA); V(emptyA); } } Code End

【考查知识点】 考察了利用信号量进程同步问题。

本文来源:https://www.bwwdw.com/article/ez7x.html

Top