• 【C++笔试强训】第二十六天


    🎇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);
            
        }
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    🔥 第二题

    链接:快到碗里来

    在这里插入图片描述

    • 解题思路

    通过输入碗半径计算得到周长,与输入的猫的身长相比较

    • 代码演示
    #include 
    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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

  • 相关阅读:
    QFusion数据库管理平台数据库集群创建及管理
    asp.net学生考试报名管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
    前端vue交互过程中犯过的错
    迅为龙芯开发板固态硬盘启动(烧写系统到固态)-分区
    FindMy网络帮助您找到电动车
    Amazon EC2 部署Ollama + webUI
    游戏盾SDK是如何实现智能加速的?
    【PyTorch基础教程30】DSSM双塔模型代码解析
    解析ChatGPT Plus相比chatgpt3.5有哪些优势
    flutter开发实战-打包应用apk签名及Android studio没有generate signed bundle/apk问题修改
  • 原文地址:https://blog.csdn.net/m0_60338933/article/details/127904261