国家二级Python(公共基础知识)模拟试卷16
单项选择题
1.下面设备中不属于外部设备的是( )。(B)
A. 外部存储器
B. 内部存储器
C. 输入设备
D. 输出设备
解析:计算机中中央处理器(CPU)和主存储器(内存储器)构成主机。除了主机以外,围绕主机设置的各种硬件装置称为外部设备。外部设备的种类很多,应用比较广泛的有输入/输出设备、外部存储器(辅助存储器)和终端设备。本题答案为B选项。
2.系统在创建一个进程时需要调用( )。(B)
A. 阻塞进程原语
B. 创建进程原语
C. 唤醒进程原语
D. 撤销进程原语
解析:进程借助创建原语实现创建一个新进程。系统在创建一个进程时需要调用创建进程原语。本题答案为B选项。
3.顺序程序不具有( )。(B)
A. 顺序性
B. 并发性
C. 封闭性
D. 可再现性
解析:顺序程序具有顺序性、封闭性和可再现性的特点,使得程序设计者能够控制程序执行的过程(包括执行顺序、执行时间),对程序执行的中间结果和状态可以预先估计,这样就可以方便地进行程序的测试和调试。顺序程序不具有并发性。并发性是并发程序的特点。本题答案为B选项。
4.下列叙述中正确的是( )。(A)
A. 进程控制块PCB是进程存在的唯一标志
B. 进程创建完成后即进入运行状态
C. 处于就绪状态的进程只能有一个
D. 处于运行状态的进程当运行时间片用完后将转换为阻塞状态
解析:进程控制块(PCB)是由系统为每个进程分别建立的,用以记录对应进程的程序和数据的存储情况,记录进程的动态信息。系统根据PCB而感知进程的存在,根据PCB中的信息对进程实施控制管理。当进程结束时,系统即收回它的PCB,进程也随之消亡。因此可以说,PCB是一个进程存在的唯一标志。进程创建完成后即进入就绪状态,处于就绪状态的进程可以有多个;处于运行状态的进程当运行时间片用完后将转换为就绪状态。本题答案为A选项。
5.下列叙述中正确的是( )。(A)
A. 地址重定位方式包括静态地址重定位和动态地址重定位
B. 地址重定位要求程序必须占用连续固定的内存空间
C. 地址重定位是在程序执行期间进行的
D. 地址重定位是在程序执行之前进行的
解析:地址重定位建立用户程序的逻辑地址与物理地址之间的对应关系,实现方式包括静态地址重定位和动态地址重定位。静态地址重定位是在程序执行之前由操作系统的重定位装入程序完成,程序必须占用连续的内存空间,且一旦装入内存后,程序不便于移动。动态地址重定位在程序执行期间进行,由专门的硬件机构来完成,通常采用一个重定位寄存器,在每次进行存储访问时,将取出的逻辑地址加上重定位寄存器的内容形成物理地址。动态地址重定位的优点是不要求程序装入固定的内存空间,在内存中允许程序再次移动位置,而且可以部分地装入程序运行,同时也便于多个作业共享同一程序的副本。本题答案为A选项。
6.下列叙述中错误的是( )。(B)
A. 循环链表中有一个表头结点
B. 循环链表的存储空间是连续的
C. 循环链表的表头指针与循环链表中最后一个结点的指针均指向表头结点
D. 循环链表实现了空表与非空表运算的统一
解析:线性表链式存储结构的特点是,用一组不连续的存储单元存储线性表中的各个元素。线性链表的存储单元是任意的,即各数据结点的存储序号可以是连续的,也可以是不连续的。循环链表采用链式存储结构,因此存储空间也可以是不连续的。本题答案为B选项。
7.下列叙述中正确的是( )。(A)
A. 在栈中,栈顶指针的动态变化决定栈中元素的个数
B. 在循环队列中,队尾指针的动态变化决定队列的长度
C. 在循环链表中,头指针和链尾指针的动态变化决定链表的长度
D. 在线性链表中,头指针和链尾指针的动态变化决定链表的长度
解析:在栈中,栈顶指针top动态反映了栈中元素的变化情况,A选项叙述正确。在循环队列中,队尾指针和队头指针的动态变化决定队列的长度,B选项叙述错误。在链式存储结构中,无论是循环链表还是线性链表,插入和删除元素时,只需要改变相应位置的结点指针即可,头指针和尾指针无法确定链表的长度,C、D选项叙述错误。本题答案为A选项。
8.下列叙述中正确的是( )。(B)
A. 在循环队列中,队尾指针的动态变化决定队列的长度
B. 在循环队列中,队头指针和队尾指针的动态变化决定队列的长度
C. 在带链的队列中,队头指针与队尾指针的动态变化决定队列的长度
D. 在带链的栈中,栈顶指针的动态变化决定栈中元素的个数
解析:带链的队列和带链的栈均采用链式存储结杓。链式存储的存储单元是不连续的,因为是不连续的存储空间,所以指针将不会有规律地连续变化,C、D两项错误。在循环队列中,队头指针和队尾指针的动态变化决定队列的长度,B选项正确,A选项错误。本题答案为B选项。
9.循环队列的存储空间为Q(1:50),初始状态为空。经过一系列正常的入队与退队操作后,front=24,rear=25。此时该循环队列中的元素个数为( )。(A)
A. 1
B. 49
C. 50
D. 25
解析:若循环队列的存储空间为(1:m),在循环队列运转起来后,如果front<rear,则队列中的元素个数为rear-front;如果front>rear,则队列中的元素个数为rear-front+m。本题中front<rear,则队列中的元素个数为25-24=1。本题答案为A选项。
10.在希尔排序法中,每经过一次数据交换后( )。(C)
A. 不会产生新的逆序
B. 只能消除一个逆序
C. 能消除多个逆序
D. 消除的逆序个数一定比新产生的逆序个数多
解析:在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。希尔排序的基本思想是,先取一个整数(称为增量)d1<n,把全部数据元素分成d1组,所有距离为dt倍数的元素放在一组中,组成了一个子序列,对每个子序列分别进行简单插入排序,然后取d2<d1重复上述分组和排序工作,直到di=1,即所有记录在一组中为止。希尔排序可以实现通过一次交换而消除多个逆序。本题答案为C选项。
11.设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。经过一系列正常的操作后,front-1=rear。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为( )。(C)
A. 0
B. 1
C. 48
D. 49
解析:在循环队列运转起来后,如果front<rear,则队列中的元素个数为rear-front个;如果front>rear,则队列中的元素个数为rear-front+m。本题中,front>rear,则元素个数为rear-front+50=front-1-front+50=49。在长度为n的线性表中寻找值最大的元素,最坏情况下需要比较的次数为n-1。因此,在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为49-1=48。本题答案为C选项。
12.在具有2n个结点的完全二叉树中,叶子结点个数为( )。(B)
A. n-1
B. n
C. n+1
D. n
本文档预览:3600字符,共7785字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载