当前位置:问答库>考研试题

2018年兰州理工大学计算机与通信学院892数据结构考研强化五套模拟题

  摘要

一、单项选择题

1. 本地用户通过键盘登录系统时,首先获得的键盘输入信息的程序是( ).

A. 命令解释程序

B. 中断处理程序

C. 系统调用服务程序

D. 用户登录程序

【答案】B

【解析】外部设备在与计算机连接时有多种方式,中断技术就是一种常用方式. 其工作原理是:利用处理机中断信号线,外部设备在需要服务的时候将该线设置为有效,计算机若同意接受中断则会停止当前进程的运行,转而服务发出中断的物理设备(注意与陷阱,即软中断有区别),那么对不同外部设备进行服务的程序代码是不同的,如何找到这些代码呢? 这就要借助中断向量,中断向量一般是由硬件根据中断的类型(不同外设不同)计算所得,或计算机系统在开机配置时所配置的. 处理机取得中断向量,其实就是一个物理地址,该地址下存放的是为此中断服务的代码的起始地址. 所以,当键盘按下的时候,键盘控制器获得该操作动作,先将键盘扫描码读入键盘缓冲区,再向处理机发出键盘中断,适当的时候(一条指令的末尾或一条原语结束)处理机会响应中断,调用指定服务程序将键盘缓冲区中的键盘扫描码输入到登录进程中去. 如此,最先响应键盘的必然是中断处理程序. 本题中,像命令解释器(例如cmd 窗口)、系统调用服务和用户登录程序都在中断处理程序后面.

2. 每个结点的度或者为0或者为2的二叉树称为正则二叉树。n 个结点的正则二叉树中有( )个叶子。 A.

B.

C.

D. 【答案】D

【解析】二叉树结点总数n =n 0+n 1+n 2(n0,n 1,n 2分别代表度为0,度为1,度为2的结点数) 。又在非空二叉树中:n 0=n 2+l ,且本题所给树为正则二叉树,n 1=0,所以n =2*n0﹣l ,因此n 1=(n+1)/2。

3. 浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤. 设浮点数的阶码

7和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位). 若有两个数X =2×29/32,Y

=2×5/8,则用浮点加法计算X +Y 的最终结果是( ).

A.001111100010

B.001110100010

C.010000010001

D. 发生溢出 5

【答案】D

【解析】浮点数加、减运算一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤,难点在对阶、规格化、判溢出这三步.X 和Y 的阶码不同,所以应该先对阶,对阶原则为:小阶向大阶

7看齐. 因此将Y 对阶后得到:Y =2×5/32,然后将尾数相加,得到尾数之和为:34/32.因为这是两

个同号数相加,尾数大于1,则需要右规,阶码加1. 由于阶码的位数为5位,且含两位符号位,即阶码的表示范围在之间. 而阶码本身等于7,再加1就等于8. 因此,最终结果发生溢出.

4. 若x=103, y=-25测下列表达式采用8位定点补码运算实现时, 会发生溢出的是( )

A.x+y

B.-x+y

C.x-y

D.-x-y

【答案】C

答:8位定点补码能表示的数的范围为:-128~127

A 结果为78, B 结果为-128, D结果为-78都在此范围内, 只有C 结果128超过了8位定点补码能表示的数的范围, 会发生溢出

5. 数组通常具有的两种基本操作是( )。

A. 查找和修改

B. 查找和索引

C. 索引和修改

D. 建立和删除

【答案】A

【解析】数组中的元素是顺序存放的,通过下标可以很好地查找数组元素,同时通过对应的指针可以修改数组元素的值,因此数组通常具有的两种基本操作是查找和修改。根据数组的性质,数组通常具有的两种基本运算是排序和查找。

6. 假定编译器规定int 和short 类型长度分别为32位和16位, 执行下列C 语言语句:

;

A.00007FFAH

B.0000FFFAH

C.FFFF7FFAH

D.FFFFFFFAH

:得到y 的机器数为( )。

【答案】B 。

X 和y 均为无符号数, 其中X 为16位, y 为32位, 将16位无符号数转化成32位无符【解析】

号数, 前面要补零。因为X=65530=FFFAH, 所以y=0000FFFAH。

7. 若对n 阶对称矩阵A 以行序为主序方式将其下三角形的元素(包括主对角线上所有元素) 依次存放于一维数组B[l...(n(n+1))/2]中,则在B 中确定a ij (i<j) 的位置k 的关系为( )。

A.i*(i﹣1)/2+j

B.j*(j﹣1)/2+i

C.i*(i+1)/2+j

D.j*(j+1)/2+i

【答案】B

【解析】将n 阶对称矩阵存人一维数组中,一维数组的大小需为n(n+1)/2。对n 阶对称矩阵A 以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)

依次存放于一维数组

中,当i <j 时,i 与k 的关系为j*(j﹣1)/2+i 。

8. 某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。

A. 单链表

B. 仅有头指针的单循环链表

C. 双链表

D. 仅有尾指针的单循环链表

【答案】D

【解析】仅有尾指针的单循环链表,在最后插入元素和删除第一个元素都会用到这个尾指针。

9. 在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A ,并已知A 的左孩子的平衡因子为0, 右孩子的平衡因子为1,则应作( )型调整以使其平衡

A.LL

B.LR

C.RL

D.RR

【答案】C

【解析】A 的平衡因子此时为-1,要使插入结点不平衡,必须插在右孩子的左子树上,A 平衡因子变成了-2. 则需要进行两次旋转(先右旋后左旋) 。

10.采用指令Cache 与数据Cache 分离的主要目的是( )

A. 减低Cache 的缺失损失

B. 提高Cache 的命中率

C. 减低CPU 平均访问时间