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

2016年武汉工程大学理学院数据结构(C语言版)复试笔试最后押题五套卷

  摘要

一、选择题

1. —个非空广义表的表尾( )。

A. 不能是子表

B. 只能是子表

C. 只能是原子

D. 是原子或子表

答:B

【解析】广义表的定义是一个递归定义,当广义表非空时,称第一个元素是它的表头,称其余元素构成的表称为它的表尾。因此一个非空广义表的表尾只能是子表。

2. 向一个栈顶指针为h 的带头结点的链栈中插入指针S 所指的结点时,应执行( )。

答:D

【解析】本题是向一个链栈中插入结点,可从头结点后插入。先将s 结点指向第一个头结点之后的结点之前,再将头结点指向s 结点。

3. 某计算机主频为1.2GHz ,其指令分为4类,它们在基准程序中所占比例及CPI 如下表所示。

该机的MIPS 数是( )

A.100

B.200

C.400

D.600

答:C

【解析】基准程序的 该机器的

4. 下列关于虚拟存储的叙述中,正确的是( )。

A. 虚拟存储只能基于连续分配技术

B. 虚拟存储只能基于非连续分配技术

第 2 页,共 42 页 计算机的主频为为1200MHz ,

C. 虚拟存储容量只受外存容量的限制

D. 虚拟存储容量只受内存容量的限制

答:D 。

【解析】所谓虚拟存储,是指运行的进程不必全部装入内存,只需要部分装入便可以开始运行的一种技术,在运行过程中,当所需要的代码部分不在内存时,通过一种技术(例如缺页中断

,技术)将所需要的页面调入内存,从而继续运行。虚拟存储可以在较少的内存中运行较大的程序。但是需要有较大的外存以及相应的软、硬件 机制配合才能实现。虚拟存储器可以连续分配也可以非连续分配,虚拟存储器和外存大小没有关系,所以选项中 的A ,B ,C 都是错误的,所以答案是D 项。

5. 若一个用户进程通过read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( )。

I. 若该文件的数据不在内存,则该进程进入睡眠等待状态;II. 请求read 系统调用会导致CPU 从用户态切换到核心态;III. read系统调用的参数应包含文件的名称

A. 仅 I 、II

B. 仅 I 、III

C. 仅 II 、III

D.I 、II 和III

答:A

,原进程【解析】对于I ,当所读文件的数据不再内存时,产生中断(缺页中断、缺段中断)

,直到所需数据从外村调入内存后,将该进程唤醒,使其变为就绪进入睡眠等待状态(阻塞状态)

状态。对于II , read系统调 用CPU 将从用户态切换到核心态,从而获取操作系统提供的服务。对于III ,在操作系统中,要读一个文件首先要open 系统调用将该文件打开。Open 系统调用的参数需要包含文件的路径名与文件名,而read 系统调用只需使用open 返回的文件描述符,并不使用

Read 系统调用要求用户提供三个输入参数:文件名作为参数。①文件描述 符;②buf 缓冲区首址;

③传送的字节数n 。read 系统调用的功能是试图从fd 所指示的文件中读入n 个字节的数据,并将它们送至由指针buf 所指示的缓冲区中。

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

A.SRAM

B.SDRAM

C.ROM

D.FLASH

答:B

【解析】动态随机存储器(DRAM )是利用存储元电路中栅极电容上的电荷来存储信息的,电容上的电荷一般只能维持

间必须刷新。

第 3 页,共 42 页 因此即使电源不掉电,信息也会自动消失。为此,每隔一定时

7. 下列选项中,操作系统提供的给应用程序的接口是( )。

A. 系统调用

B. 中断

C. 库函数

D. 原语

答:A

【解析】操作系统提供给用户应用程序的接口只有两种:命令输入和系统调用。其中,命令输入又有不同的形式,例如常规的命令行、图形化人机交互接口复杂调用(例如多种,

以及包含在)自然命令用户接口等,而系统调用中除了常规的一些传统的系统调用(例如read ( ))以外,还有经过扩展的库中的各种封装好的过程调用(最终都是通过系统调用陷入到操作系统中去的)等。

8. 偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。下列寻址方式中,不属于偏移寻址方式的是( )。

A. 间接寻址

B. 基址寻址

C. 相对寻址

D. 变址寻址

答:A

【解析】在四种不同的寻址方式中,间接寻址按指令的形式地址从主存中取出操作数的有效地址,然后再按此有效地址从主存中读出操作数。其余三种寻址方式可以统称为偏移寻址。

9. 下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是( )。

A. 先来先服务

B. 高响应比优先

C. 时间片轮转

D. 非抢占式短任务优先

答:B

【解析】分析该题目可以看到,本题所提到的问题是涉及短任务调度也就是属于作业调度,因此首先排除时 间片轮转算法;因为作业调度算法中没有时间片轮转的算法。其次,因为问题提到短任务,则先来先服务的算法也可以排除了,它与短任务无关。剩余高响应比优先算法和非抢占式短任务优先是哪一个? 我们可以通过分析得到,非抢占式短任务优先算法不能解决饥饿问题,因为当一个系统短任务源源不断到达是,长任务必然会得不到 调度,产生饥饿。而解决此方法的最好方式就是采用计算响应比的方法,并以高响应比值优先调度。这样,无论短任务或长任务,均可以得到调度,而且,较短任务会得到优先的调度。故满足短任务优先且不会发生饥饿现象的调度算法只有尚响应比优先算法。

第 4 页,共 42 页