#483. 2026信息素养C++模拟题(五)

2026信息素养C++模拟题(五)

单选题(每题 5 分,共 100 分)

  1. 红军通信员需要编写一个函数计算两个根据地之间的距离。以下哪个函数定义正确?

{{ select(1) }}

  • 选项如下:

    int distance(int a, int b) {
        return abs(a-b);
    }
    
  • 选项如下:

    int distance(int a, int b) {
        a + b;
    }
    
  • 选项如下:

    function distance(a, b) {
        return a + b;
    }
    
  • 选项如下:

    int distance(int a; int b) {
        return a + b;
    }
    
  1. 革命标语 "打倒帝国主义" 存储在字符串 ss 中,执行 s.length() 后结果是多少?

{{ select(2) }}

  • 55
  • 66
  • 77
  • 88
  1. 红军密码本使用字符串拼接技术。执行以下代码后 ss 的值是?string s = "星星"; s += "之火";

{{ select(3) }}

  • "星星 之火"
  • "之火星星"
  • "星星之火"
  • 编译错误
  1. 延安兵工厂需要计算炮弹的抛物线高度,使用 cmath 库的 pow 函数。计算 221010 次方,正确写法是?

{{ select(4) }}

  • pow(10, 2)
  • pow(2, 10.0)
  • pow(2, 10)
  • 2 ** 10
  1. 革命根据地需要从文件 "heroes.txt" 中读取英雄名单。以下哪个代码正确打开文件?

{{ select(5) }}

  • FILE fin = open("heroes.txt");
  • fstream fin("heroes.txt", ios::out);
  • ifstream fin("heroes.txt");
  • ofstream fin("heroes.txt");
  1. 红军过雪山时,需要计算绝对温度差。以下哪个函数可以计算绝对值?

{{ select(6) }}

  • abs(x)
  • fabs(x)
  • sqrt(x)
  • A和B都可以
  1. 革命物资分类中,需要判断编号 nn 是否为质数(素数)。以下哪个代码片段正确?

{{ select(7) }}

  • 选项如下:

    bool isPrime=false;
    for(int i=2;i*i<=n;i++)
        if(n%i==0) isPrime=true;
    
  • 选项如下:

    bool isPrime=true;
    for(int i=1;i<n;i++)
        if(n%i==0) isPrime=false;
    
  • 选项如下:

    bool isPrime=true;
    for(int i=2;i<=n;i++)
        if(n%i==0) isPrime=false;
    
  • 选项如下:

    bool isPrime=true;
    for(int i=2;i*i<=n;i++)
        if(n%i==0) isPrime=false;
    
  1. 南湖红船的船体数据存储在结构体中。以下哪个结构体定义正确?

{{ select(8) }}

  • 选项如下:

    struct Boat(string name, int year, double length);
    
  • 选项如下:

    struct {
        Boat name;
        Boat year;
        Boat length;
    };
    
  • 选项如下:

    struct Boat {
        string name;
        int year;
        double length
    }
    
  • 选项如下:

    struct Boat {
        string name;
        int year;
        double length;
    };
    
  1. 红军通信密码使用凯撒加密,每个字母向后移动 33 位。若原字母是 'D',加密后是?

{{ select(9) }}

  • 'A'
  • 'G'
  • 'E'
  • 'D'
  1. 革命根据地需要计算组合数 C(4,2)C(4,2)(从 44 个哨所中选 22 个巡逻)。以下哪个表达式结果正确?

{{ select(10) }}

  • 4*3/2
  • 4*3*2/2
  • 4+3
  • 4*2
  1. 长征途中,红军需要将十进制数 2525 转换为二进制。2525 的二进制表示是?

{{ select(11) }}

  • 1001110011
  • 1100111001
  • 1101011010
  • 1010110101
  1. 延安整风运动中,需要将字符串 "革命" 重复输出 55 次。以下哪个代码正确?

{{ select(12) }}

  • cout<<"革命"*5;
  • for(int i=0;i<5;i++) cout<<"革命";
  • print("革命", 5);
  • cout<<"革命"+5;
  1. 红军密码本中,需要交换两个变量 aabb 的值。以下哪个代码正确?

{{ select(13) }}

  • 选项如下:

    int t=a;
    a=b;
    b=t;
    
  • 选项如下:

    a=b;
    b=a;
    
  • 选项如下:

    a=b;
    b=a;
    swap(a,b);
    
  • 选项如下:

    int t=b;
    a=t;
    b=a;
    
  1. 革命根据地建设中,需要计算圆面积(粮仓底面)。使用 acos(-1.0) 获取 π\pi 值,以下哪个表达式正确计算半径 rr 的圆面积?

{{ select(14) }}

  • acos(-1.0) * r * r
  • acos(-1) * r * r
  • acos(0) * r * r
  • acos(-1.0) * 2 * r
  1. 红军通信中,需要使用递归函数计算 nn 个情报站的传递次数(每个站传给下一个)。以下哪个递归函数正确?

{{ select(15) }}

  • 选项如下:

    int count(int n) {
        if(n==1) return 0;
        return 1+count(n-1);
    }
    
  • 选项如下:

    int count(int n) {
        return 1+count(n-1);
    }
    
  • 选项如下:

    int count(int n) {
        if(n==0) return 0;
        return count(n-1);
    }
    
  • 选项如下:

    int count(int n) {
        if(n==1) return 1;
        return count(n-1);
    }
    
  1. 革命烈士纪念馆中,需要将英雄名字按拼音首字母排序。使用 C++ STL 的 sort 函数,正确写法是?

{{ select(16) }}

  • sort(names, names + n);
  • sort(names, n);
  • names.sort();
  • sort(names[0], names[n]);
  1. 红军密码中,需要对字符进行 ASCII 码运算。字符 'A' 的 ASCII 码是 6565,表达式 'A' + 2 的结果是?

{{ select(17) }}

  • 6767
  • 'C'
  • A2
  • 编译错误
  1. 革命根据地需要计算等差数列之和:哨所编号从 11nn,总和公式是?

{{ select(18) }}

  • n*(n+1)/2
  • n*n
  • n*(n-1)/2
  • 2*n
  1. 红军物资清单写入文件,以下哪个代码正确?

{{ select(19) }}

  • 选项如下:

    ofstream fout("supply.txt");
    fout << "粮食 100";
    
  • 选项如下:

    ifstream fout("supply.txt");
    fout << "粮食 100";
    
  • 选项如下:

    ofstream fout("supply.txt", ios::in);
    fout << "粮食 100";
    
  • 选项如下:

    fstream fout("supply.txt");
    fout >> "粮食 100";
    
  1. 长征途中,红军需要计算阶乘 5!5!(55 个纵队的排列方式)。以下哪个代码正确?

{{ select(20) }}

  • 选项如下:

    int r=1;
    for(int i=1;i<=5;i++) r*=i;
    
  • 选项如下:

    int r=0;
    for(int i=1;i<=5;i++) r+=i;
    
  • 选项如下:

    int r=1;
    for(int i=0;i<5;i++) r*=i;
    
  • 选项如下:

    int r=5;
    for(int i=1;i<5;i++) r*=i;