#1016. GESP C++ 二 级 2026年3月真题 · 单选题

GESP C++ 二 级 2026年3月真题 · 单选题

GESP C++ 二 级 2026年3月真题(120 分钟,总分 100 分)

单选题(共 15 题,每题 2 分,共 30 分)

1. 2026年春节联欢晚会上一个武术表演节目《武 BOT》。节目中多个人形机器人会表演空翻,它们落地可能会有微微踉跄,但都会迅速调整姿态站稳,并适当移动来和前后左右的其他机器人保持原来队列。如果将机器人视作一个计算机系统,那么在该计算机系统中下面哪一项不能作为输入设备()。

{{ select(1) }}

  • 检测重心的重力传感器
  • 预装的AI算法程序
  • 接收动作指令的遥控器
  • 拍摄其他机器人的摄像头

2. 下面代码用来找出输入的N个正整数中最大的一个。如果将代码段用流程图来表示,则 L1 标记的代码行应该使用的图形是(  )。

int N, max=0, val;
cin >> N;

while(N){
   cin >> val;
   if(val > max) // L1
       max = val;
   N--;
}

cout << max;

{{ select(2) }}

  • 圆形框
  • 椭圆形框
  • 平行四边形框
  • 菱形框

3. 下面 C++ 代码可以执行,有关说法正确的是()。

double PI = 3.1415926;
cout << (PI);

{{ select(3) }}

  • 为了方便初学者,cout << (PI)和cout << (pi)效果相同,即变量的大小写不敏感
  • cout << (PI)修改为cout << (Pi)能正常执行
  • 不能用PI做变量名,因为要保存圆周率这个常量
  • 将程序中全部PI都改写为Pai,将能正常执行,不会报错

4. 下面选择项中,与C++表达式 !(x > 5 && y <= 10) 等价的是()。

{{ select(4) }}

  • x <= 5 && y > 10
  • x > 5 || y <= 10
  • x <= 5 || y > 10
  • ! x > 5 && ! y <= 10

5. 某同学执行C++代码cout << ((0.1 + 0.2) == 0.3)时输出0,下面最可能的原因是()。

{{ select(5) }}

  • C++的+运算符在处理小数时存在bug
  • 0.1、0.2和0.3在计算机中无法用二进制浮点数精确表示,导致0.1 + 0.2的结果与0.3存在微小误差
  • == 运算符不能⽤于⽐较浮点数,只能⽤于整数
  • 因为0.1 + 0.2的数学结果不等于 0.3

6. 下面的 C++ 代码段执行后其输出是()。

tnt = 0;
for (int i = 0; i < 5; i++){
   for (int j = 0; j < i; j++)
       tnt += 1;
   cout << tnt << "#";
}
cout << tnt;

{{ select(6) }}

  • 0#1#3#6#10#10
  • 1#2#3#4#5#6#7#8#9#10#10
  • 10#10
  • 10

7. 下面的 C++ 代码执行之后的输出是()。

for ( int i = -2; i < 2; i++)
   if (not i % 3)
       cout << i << "#";

{{ select(7) }}

  • 0#
  • -2#-1#1#
  • -1#0#
  • -2#0#1#

8. 下面的 C++ 代码执行后其输出是()。

int cnt = 0, i, j;
for (i =1; i < 5; i++){
   for (j =0; j < i; j++)
      cout << j << "#";
   break;
}
if(i >= 5)
   cout << (i*j);

{{ select(8) }}

  • 0#0#1#0#1#2#0#1#2#3#12
  • 0#0#1#0#1#2#0#1#2#3#
  • 0#
  • 1#

9. 下面 C++ 代码执行后其输出是()。

int count = 0;
for (int i = 1; i < 4; i++)
   for (int j = 1; j < 5; j++){
       if (j == 3)
           continue;
       if (i == 2)
           break;
       count += 1;
  }
cout << (count);

{{ select(9) }}

  • 2
  • 4
  • 6
  • 8

10. 下面4个选项中,与下面 C++ 代码段具有相同效果的是()。

i = 0;
while (i < 5){
   cout << i;
   i += 1;
}

{{ select(10) }}

  • for (i = 0; i < 5; i++)
       cout << i;
  • for (i = 1; i < 5; i++)
       cout << i;
  • for (i = 0; i < 6; i++)
       cout << i;
  • for (i = 1; i < 6; i++)
       cout << i;

11. 下面 C++ 代码执行后输出是(     )。

int n = 10;
while (n > 0){
   n -= 1;
   if (n % 3 == 0)
       continue;
   if (n == 5)
       break;
}
cout << n;

{{ select(11) }}

  • 0
  • 5
  • 6
  • 7

12. 下面 C++ 代码段执行后,其输出是(   )。

int i, j, cnt;
cnt = 0;
for (i = 0; i < 5; i++){
   i = -i;
   for (j = i; j < -i; j++)
       cnt += 1;
   i = -i;
}
cout << cnt;

{{ select(12) }}

  • 5
  • 15
  • 20
  • 30

13. 某学校图书馆的借阅卡号由6位整数组成。前5位是顺序编号,第6位是校验码,用于防止输错。校验码规则如下:将前5位数字相加,然后除以10的余数,就是第6位数字。如卡号123455的前5位之和为15,除以10的余数是5,故第6位为5。下面的C++代码段用于判断卡号是否正确,横线处应填入的代码是()。

cout << "请输入卡号:";
cin >> N;
order_num = N / 10; // 获得前5位顺序号,假设录入一定为6位正整数
check_num = N % 10; // 获得最后一位

tnt = 0; // 保存前5位之和

for (i = 0; i < 5; i++){
   ________________;
   order_num /= 10;
}

if (__________________)
   cout << "符合校验规则";
else
   cout << "不符合校验规则";

{{ select(13) }}

  • tnt += order_num / 10
    tnt / 10 == check_num
  • tnt += order_num % 10
    tnt % 10 == check_num
  • tnt = order_num / 10 + tnt
    tnt % 10 == check_num
  • tnt = order_num % 10
    tnt / 10 == check_num

14. 下面的 C++ 代码段正常执行后其输出的数字图形是(    )。

for (i = 1; i < 5; i++){
   for (j = 1; j < i+1; j++)
       cout << j;
   cout << endl;
}

{{ select(14) }}

  • 1
    12
    123
    1234
  • 1
    22
    333
    4444
  • 1
    21
    321
    4321
  • 4
    34
    234
    1234

15. 某学校举办“校园演讲比赛”,每位选手由8位评委打分(分数为 0~10 的整数),且每位评委必须打分。计分规则:若至少有5位评委给出大于等于6分,则成绩有效,最终得分为所有8位评委的总分;如给出低于6分的评委数量超过5位,则记为0分。以下核心程序段依次输入8个分数,并计算最终得分。横线处应填入( )。

total_score = 0; // 所有分数之和
high_count = 0;  // ≥6分的评委数量

for (i = 0; i < 8; i++){
   cout << "请输入评委分数: ";
   cin >> score;
   ____________________;
   if (score >= 6)
       ________________;
}

if (high_count >= 5)
   cout << total_score;
else
   cout << 0;

{{ select(15) }}

  • total_score += score
    high_count += 1
  • total_score += score
    high_count += score
  • high_count += 1
    total_score += score
  • total_score *= score
    high_count *= 1