🎇C++笔试强训
- 博客主页:一起去看日落吗
- 分享博主的C++刷题日常,大家一起学习
博主的能力有限,出现错误希望大家不吝赐教
- 分享给大家一句我很喜欢的话:夜色难免微凉,前方必有曙光 🌞。
💦🔥
选择题
💦 第一题
在单处理器系统中,如果同时存在有12个进程,则处于就绪队列中的进程数量最多为()
A 1
B 9
C 10
D 11
这道题的答案是D
💦 第二题
在系统内存中设置磁盘缓冲区的主要目的是()
A 减少磁盘 I/O 次数
B 减少平均寻道时间
C 提高磁盘数据可靠性
D 实现设备无关性
因为缓冲区对性能的影响较大,所以设计的目的是为了减少IO的次数
这道题的答案是A
💦 第三题
下列选项中,会导致进程从执行态变为就绪态的事件是()
A 执行 P(wait)操作
B 申请内存失败
C 启动 I/O 设备
D 被高优先级进程抢占
这道题的答案是D
💦 第四题
下列关于管道(Pipe)通信的叙述中,正确的是 ()
A 一个管道可实现双向数据传输
B 管道的容量仅受磁盘容量大小限制
C 进程对管道进行读操作和写操作都可以被阻塞
D 一个管道只能有一个读写进程或一个写进程对其操作
这道题的答案是C
💦 第五题
在一个文件被用户进程首次打开的过程中,操作系统需做的是 ()
A 将文件内容读到内存中
B 将文件控制块读到内存中
C 修改文件控制块中的读写权限
D 将文件的数据缓冲区首指针返回给用户进程
这道题的答案是B
💦 第六题
进程间通讯的方式中哪种的访问速度最快()
A 管道
B 消息队列
C 共享内存
D 套接字
这道题的答案是C
💦 第七题
一个进程的读磁盘操作完成后,操作系统针对该进程必做的是 ()
A 修改进程状态为就绪态
B 降低进程优先级
C .进程分配用户内存空间
D 增加进程的时间片大小
这道题的答案是A
💦 第八题
系统为某进程分配了4 个页框,该进程已访问的页号序列为 2,0,2,9,3,4,2,8,2,4,8,4,5。若进程要 访问的下一页的页号为 7,依据 LRU 算法,应淘汰页的页号是()
A 2
B 3
C 4
D 8
在上一天的选择题中我们已经做过类似的题目了
这道题的答案是A
💦 第九题
设系统缓冲区和用户工作区均采用单缓冲,从外设读入1 个数据块到系统缓冲区的时间为 100,从系统缓冲区读入 1 个数据块到用户工作区的时间为 5, 对用户工作区中的 1 个数据块进行分析的时间为 90(如下图所示)。进程从外设读入并分析 2 个数据块的最短时间是( )。
A 200
B 295
C 300
D 390
这道题的答案是C
💦 第十题
下面哪一种表述不属于操作系统的主要功能?()
A 处理机管理
B 存储器管理
C 设备管理和文件管理
D 可移植
这道题的答案是D
编程题
🔥 第一题
链接:跳台阶拓展问题
- 题目解析
假定第一次跳的是一阶,那么剩下的是n-1个台阶,跳法是f(n-1); 假定第一次跳的是2阶,那么剩下的是n-2个台阶,跳法是f(n-2); 假定第一次跳的是3阶,那么剩下的是n-3个台阶,跳法是f(n-3)… 假定第一次跳的是n-1阶,那么剩下的是1个台阶,跳法是f(1); 假定第一次跳的是n阶,那么剩下的是0个台阶,跳法是1种;
- 解题思路
根据题图解析可以得出有一阶的时候 f(1) = 1 ; 有两阶的时候可以有 f(2) = 1+f(1)=2; 有三阶的时候可以有 f(3) =1+f(2)+f(1)=4;…
总跳法为: f(n) = 1+f(n-1) + f(n-2)+…+f(1) (第一个1是跳n阶只有一种方法)
依次类推,得到类推公式有n阶时:f(n)=2^(n-1)。
- 代码演示
class Solution {
public:
int jumpFloorII(int number) {
//if(number == 1)
// return 1;
//return 2*jumpFloorII((number-1));
//因为是二倍关系,所以可以直接左移一位得到结果
return 1 << (number-1);
}
};
🔥 第二题
链接:快到碗里来
- 解题思路
通过输入碗半径计算得到周长,与输入的猫的身长相比较
- 代码演示
#include <iostream>
using namespace std;
int main()
{
double a,b;
while(cin >> a >> b)
{
if(a < (2*b*3.14))
cout << "Yes" << endl;
else
cout << "No" << endl;
}
return 0;
}