2018年湖南师范大学967C语言程序设计和数据结构[专业硕士]之数据结构考研基础五套测试题
● 摘要
一、单项选择题
1. 一个C 语言程序在一台32位机器上运行. 程序中定义了3个变量x 、Y 和z ,其中x 和z 为int
Y 为short 型. 当x =127,Y =-9时,x 、Y 和z 的值分别是. 型,执行赋值语句z =x +Y 后,( )
A.x =0000007FH , Y =FFF9H , z =00000076H
B.x =0000007FH , Y =FFF9H , z =FFFF0076H
C.x =0000007FH , Y =FFF7H , z =FFFF0076H
D.x =0000007FH , Y =FFF7H , z =00000076H
【答案】D
【解析】当两个不同长度的数据,要想通过算术运算得到正确的结果,必须将短字长数据转换成长字长数据,这被称为“符号扩展”.例如,x 和z 为int 型,数据长32位,Y 为short 型,数据长16位,因此首先应将y 转换成32位的数据,然后再进行加法运算.
运算采用补码的形式,而x 的补码是0000007FH ,Y 的补码是FFFFFFF7H ,所以x +Y =00000076H.
2.
操作系统的子系统通常由四个层次组成, 每一层明确定义了与邻近层次的接口。其合理的层次组织排列顺序是( )。
A. 用户级
B. 用户级
C. 用户级
D. 用户级
【答案】A 。
【解析】对于一次设备的调用, 操作系统为用户准备了系统调用的接口, 当用户使用设备时, 首先在用户程序中发起一次系统调用, 操作系统的设备无关层软件接到该调用请求后调用处理程序进行处理, 根据调用格式和形参, 再转到相应的设备驱动程序去处理; 大部分设备在运行时是需要时间的, 所以设备驱动程序会以中断方式驱动设备, 即设置好控制寄存器参数和中断向量等参数后阻塞自己; 当设备准备好或所需数据到达后设备硬件发出中断, 设备驱动程序唤醒, 将数据按上述调用顺序逆向回传到用户程序中, 或继续驱动设备执行下一条指令。因此,
为四个层次:用户层、与设备无关的软件层、设备驱动程序以及中断处理程序。
软件从上到下分软件、设备无关软件、设备驱动程序、中断处理程序 软件、设备无关软件、中断处理程序、设备驱动程序 软件、设备驱动程序、设备无关软件、中断处理程序 软件、中断处理程序、设备无关软件、设备驱动程序
3. 对于循环队列( )。
A. 无法判断队列是否为空
B. 无法判断队列是否为满
C. 队列不可能满
D. 以上说法都不是
【答案】D
【解析】循环队列也会出现队列满的情况,并且循环队列也可以判断是否为空或满。至少可以通过两种方法进行判断:①另设一个布尔变量来区别队列是空还是满;②队满时,
(rear+1)
font 。
4. 下列选项中,导致创建新进程的操作是( ).
(1)用户登录成功
(2)设备分配
(3)启动程序执行
A. 仅(1)和(2)
B. 仅(2)和(3)
C. 仅(1)和(3)
D. (1)、(2)和(3)
【答案】C
【解析】进程创建是需要填写PCB 表的,其中唯一不需要的是(2).考察一个进程创建的过程是这样的:当进程被创建,可以是用户创建,例如双击相关图标;也可以由父进程创建,例如lock ( )时,操作系统首先到PCB 表区搜索空闲的表格,若无则直接拒绝创建进程,若有则填写PCB 表创建进程. 通常填写PCB 表的过程有一段时间(主要涉及资源分配需要协调),许多操作系统为此设立了一个中间状态称为“初始化”,也有的操作系统不设这个中间状态. 此时操作系统填写进程ID 号、处理机参数、进程参数(状态、特权、优先级) 、分配内存(若是虚拟存储就分配虚拟地址) 、映射文件等,一切就绪,将控制权交给系统进行下一步调度. 设备分配可能引起进程状态的改变,但不会创建新进程,用户登录成功和启动程序执行都会创建新的进程,所以本题答案为C.
5. 下列选项中, 不可能是快速排序第2趟排序结果的是( )
A.2, 3, 5, 4, 6, 7, 9
B.2, 7, 5, 6, 4, 3, 9
C.3, 2, 5, 4, 7, 6, 9
D.4, 23, 5, 7, 6, 9
【答案】C
【解析】对于快速排序, 每一趟都会使一个元素位于有序时的位置, 而有序序列为2, 3, 4, 5, 6, 7, 9, 与C 进行对比, 只有9位于它有序的时候的位置, 显然不是第二趟快速排序的结果
6. 采用指令Cache 与数据Cache 分离的主要目的是( )
A. 减低Cache 的缺失损失
B. 提高Cache 的命中率
C. 减低CPU 平均访问时间
D. 减少指令流水线资源冲突
【答案】D
【解析】指令流水线不会断流, 预取过来的都是指令
7. 二叉树在线索化后,仍不能有效求解的问题是( )。
A. 前序线索二叉树中求前序后继
B. 中序线索二叉树中求中序后继
C. 中序线索二叉树中求中序前驱
D. 后序线索二叉树中求后序后继
【答案】D
【解析】后序线索二叉树求后序后继要分3种情况,比较复杂,不是仅仅线索化后就能求解的,算法上还要要分情况讨论。
8. 若用邻接矩阵存储有向图, 矩阵中主对角线以下的元素均为零, 则关于该图拓扑序列的结论是( )。
A. 存在, 且唯一
B. 存在, 且不唯一不唯一
C. 存在, 可能不唯一
D. 无法确定是否存在
【答案】C 。
【解析】图的基本应用--拓扑排序, 用邻接矩阵存储有向图, 矩阵中主对角线以下的元素均为零, 说明该图为有向无环图, 所以其拓扑序列存在, 但不一定唯一,
如图的邻接矩阵为, 则存在两个拓扑序列。
9. 数据序列(8,9,10,4,5,6,20,1,2) 只能是下列排序算法中的( )的两趟排序后的结果。
A. 选择排序
B. 起泡排序
C. 插入排序
D. 堆排序
【答案】C