#484. 2026信息素养C++模拟题(六)

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

单选题(每题 55 分,共 100100 分)

  1. 红军通信员需要在一个有序数组 int signal[8]={3,7,12,18,25,30,42,55} 中查找值 1818。使用二分查找,第一次比较的中间值是? {{ select(1) }}
  • 77
  • 1818
  • 2525
  • 1212
  1. 革命根据地建设中,使用嵌套循环输出 5555 列的星号矩阵。以下哪个代码正确? {{ select(2) }}
  • 选项如下:

    for(int i=0;i<5;i++) {
        for(int j=0;j<5;j++)
            cout<<"*";
        cout<<endl;
    }
    
  • 选项如下:

    for(int i=0;i<5;i++)
        for(int j=0;j<5;j++)
            cout<<"*";
    
  • 选项如下:

    for(int i=0;i<5;i++) {
        for(int j=0;j<5;j++)
            cout<<"*";
    }
    
  • 选项如下:

    for(int i=0;i<5;i++)
        cout<<"*****"<<endl;
    
  1. 红军密码破译中,需要对数组 int code[6]={8,3,5,1,9,2} 进行升序排序。使用选择排序,第一轮(i=0i=0)后数组变成? {{ select(3) }}
  • {1,3,5,8,9,2}
  • {2,3,5,1,9,8}
  • {1,3,5,8,9,2}
  • {8,3,5,1,9,2}
  1. 长征途中,红军需要统计二维数组中所有元素的总和。int data[3][4]={{10,20,30,40},{5,15,25,35},{8,16,24,32}},以下哪个代码正确? {{ select(4) }}
  • 选项如下:

    int sum=0;
    for(int i=0;i<3;i++)
        for(int j=0;j<4;j++)
            sum+=data[i][j];
    
  • 选项如下:

    int sum=0;
    for(int i=0;i<4;i++)
        for(int j=0;j<3;j++)
            sum+=data[i][j];
    
  • 选项如下:

    int sum=0;
    for(int i=0;i<3;i++)
        sum+=data[i];
    
  • 选项如下:

    int sum=0;
    for(int j=0;j<4;j++)
        sum+=data[0][j];
    
  1. 革命根据地需要计算前缀和数组。原数组 a={2,5,3,7,1},前缀和数组 pre[0]=0, pre[1]=2, pre[2]=7, pre[3]=10,则 pre[4]pre[5] 分别是? {{ select(5) }}
  • 17171818
  • 10101111
  • 7788
  • 15151616
  1. 红军通信中,使用栈(后进先出)模拟电报处理。依次入栈“紧急”、“普通”、“机密”,出栈顺序是? {{ select(6) }}
  • 紧急、普通、机密
  • 机密、普通、紧急
  • 普通、紧急、机密
  • 机密、紧急、普通
  1. 革命物资运输中,使用队列(先进先出)模拟物资装车。依次入队“弹药”、“粮食”、“药品”,出队顺序是? {{ select(7) }}
  • 弹药、粮食、药品
  • 药品、粮食、弹药
  • 粮食、弹药、药品
  • 药品、弹药、粮食
  1. 红军密码中,表达式 (3 > 2) && (5 <= 4) || (1 == 1) 的结果是? {{ select(8) }}
  • true
  • false
  • 11
  • 编译错误
  1. 长征途中,红军需要找出数组 int march[8]={15,8,23,6,19,12,3,27} 中的最大值及其位置。以下哪个代码正确? {{ select(9) }}
  • 选项如下:

    int max=march[0],pos=0; 
    for(int i=1;i<8;i++) 
        if(march[i]>max){
          max=march[i];
          pos=i;
        }
    }
    
  • 选项如下:

    int max=0,pos=0; 
    for(int i=0;i<8;i++) 
        if(march[i]>max){
          max=march[i];
          pos=i;
        }
    }
    
  • 选项如下:

    int max=march[0];
    for(int i=1;i<8;i++)
        if(march[i]>max) 
          max=march[i];
    
  • A和C都正确但A更完整

  1. 革命根据地建设中,需要判断三角形三边 aabbcc 能否构成三角形。以下哪个条件正确? {{ select(10) }}
  • a+b>=c && a+c>=b && b+c>=a
  • a+b>c && a+c>b && b+c>a
  • a+b>c || a+c>b || b+c>a
  • a*b>c
  1. 红军通信密码中,使用位运算。表达式 5 & 3 的结果是? {{ select(11) }}
  • 11
  • 77
  • 88
  • 22
  1. 革命根据地需要将八进制数 37(8)37_{(8)} 转换为十进制。等于十进制多少? {{ select(12) }}
  • 2828
  • 3131
  • 3737
  • 6464
  1. 红军密码破译中,需要对数组进行逆序操作。int a[5]={1,2,3,4,5},逆序后 a[2] 的值是? {{ select(13) }}
  • 11
  • 22
  • 33
  • 55
  1. 长征途中,红军需要使用 do-while 循环至少执行一次侦察任务。以下哪个代码语法正确? {{ select(14) }}
  • 选项如下:

    do {
        scout();
    }until(condition);
    
  • 选项如下:

    do {
        scout();
    } while(condition)
    
  • 选项如下:

    while(condition) do {
        scout();
    }
    
  • 选项如下:

    do {
        scout();
    } while(condition);
    
  1. 革命根据地需要统计数组中正数、负数和零的个数。int data[6]={-3,0,5,-1,0,8},正数、负数、零的个数分别是? {{ select(15) }}
  • 22, 11, 33
  • 11, 22, 33
  • 22, 22, 22
  • 33, 11, 22
  1. 红军通信中,表达式 10 / 310.0 / 3 的结果分别是? {{ select(16) }}
  • 333.3333.333\ldots
  • 3.3333.333\ldots3.3333.333\ldots
  • 3333
  • 3.03.03.3333.333\ldots
  1. 革命根据地建设中,需要找出数组 int corps[5]={12,8,15,6,20} 中比平均值大的元素个数。平均值是 12.212.2,比平均值大的有? {{ select(17) }}
  • 22
  • 33
  • 11
  • 44
  1. 红军密码中,使用异或运算加密。已知密钥 key=7,明文 m=10,密文 c=m^key。密文 c 是? {{ select(18) }}
  • 1717
  • 33
  • 7070
  • 1313
  1. 革命根据地需要使用 break 语句提前结束循环。以下代码输出什么?
for (int i = 1; i <= 5; i++) {
    if (i == 3) break;
    cout << i << " ";
}

{{ select(19) }}

  • 1 2
  • 1 2 3
  • 1 2 3 4 5
  • 3 4 5
  1. 红军密码中,使用 continue 语句跳过本次循环。以下代码输出什么?
for (int i = 1; i <= 5; i++) {
    if (i == 3) continue;
    cout << i << " ";
}

{{ select(20) }}

  • 1 2
  • 1 2 3 4 5
  • 1 2 4 5
  • 3