#1018. GESP C++ 二 级 2026年3月真题 · 判断题

GESP C++ 二 级 2026年3月真题 · 判断题

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

判断题(共 10 题,每题 2 分,共 20 分)

1. 小明的妈妈最近刚刚给他买了一块电话手表,除了可以看时间,小明也可以用它和妈妈打电话、收发信息,那么可以推测这块手表中装有一款特定操作系统。(  )

{{ select(1) }}

  • 正确
  • 错误

2. C++ 语句 cout << ('4' % '2' == '2' * '2' % 2);执行后的输出是1。(  )

{{ select(2) }}

  • 正确
  • 错误

3. 下面的 C++ 代码段执行时将报错,因为10是整数类型, a 是布尔类型。由于类型不同,不能进行加法运算。(  )

bool a = true;
cout << (10 + a);

{{ select(3) }}

  • 正确
  • 错误

4. 下面C++代码段执行后将输出0-3-6-9-。 (  )

for (int i = 0; i < 10; i++){
   if (i % 3)
       continue;
   cout << i <<  "-";
}

{{ select(4) }}

  • 正确
  • 错误

5. 执行下面的 C++ 代码段,如果N是基本数据类型,则语句cout << (N);将被执行 0 次或无数次(即死循环)。(  )

cin >> N;
while (N)
   cout << (N);

{{ select(5) }}

  • 正确
  • 错误

6. 下面的 C++ 代码段可正常执行,删除continue不影响执行效果。(  )

for (i = 0; i < 10; i++){
   i += 1;
   continue;
}
cout << (i);

{{ select(6) }}

  • 正确
  • 错误

7. 下面的 C++ 代码段用于计算1到N之间且包含N的所有数字中含有的3的个数,如1到40含有14个3, 而1到20则只含有2个3。如果将 while (i != 0) 改为 while (abs(i)),则执行结果相同。(  )

cout << "请输入正整数N:";
cin >> N;
cnt = 0; // 保存3的个数
for (k = 1; k < N + 1; k++){
   i = k;
   while (i != 0){
       if (i % 10 == 3)
           cnt += 1;
       i /= 10;
    }
}
cout << cnt;

{{ select(7) }}

  • 正确
  • 错误

8. 下面的 C++ 代码段执行将不会有输出,因为内层循环 j 总是 0 开始,i * j % 10 == 0将会被满足,执行break,故而 i 小于 10,不会满足 if 判断条件。(  )

for (i = 1; i < 10; i++)
   for (j = 0; j < i; j++)
       if (i * j % 10 == 0)
           break;
if(i >= 10)
   cout << (i*j);

{{ select(8) }}

  • 正确
  • 错误

9. 下列 C++ 代码执行后将输出 1#4#9#16#16。(  )

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

{{ select(9) }}

  • 正确
  • 错误

10. 下面 C++ 代码执行后输出如左图所示,将" %d"修改为"%3d"即可实现右图输出。(  )

for (i = 1; i < 10; i++){
   for (j = 1; j < 10; j++)
       printf(" %d", i*j);
   printf("\n");
}

{{ select(10) }}

  • 正确
  • 错误