#1693. GESP-C++一级(2029-09)

GESP-C++一级(2029-09)

CCF GESP C++ 一级 (2026 年 09 月)

一、单选题(每题 2 分,共 30 分)

1. 第⼆届世界⼈形机器⼈运动会开幕式上,机器⼈⽅阵通过控制程序来完成整场表演。表演前,⼯程师们使⽤ 集成开发环境(IDE)编写并调试⽅阵的控制程序。下列关于 IDE 功能的描述,错误的是( )。

{{ select(1) }}

  • 可以提供代码⾃动补全,提⾼编程效率
  • 可以提供辅助信息,帮助排查程序逻辑错误
  • 可以直接控制机器⼈电机转动
  • ⽀持语法⾼亮,使代码更易阅读

2. 现代计算机⾃问世⾄今,已经经历了四个时代,即:电⼦管计算机(1946—1958 年)、晶体管计算机(1958 —1964 年)、中⼩规模集成电路计算机(1965—1970 年)以及⼤规模和超⼤规模集成电路计算机(1971 年⾄今)。 那么这⾥划分计算机时代所采⽤的主要依据是( )。

{{ select(2) }}

  • 运算速度
  • 存储容量
  • 体积⼤⼩
  • 核⼼元器件

3. 下列 C++ 代码执⾏的输出是( )

int a = 4 + -2 * 3;
cout << a;

{{ select(3) }}

  • -2
  • 6
  • 18
  • 输出错误提⽰信息

4. 下列 C++ 表达式与 2 * - 2 % 3 的值相同的是( )

{{ select(4) }}

  • (2 * - 2) % 3
  • 2 * (- 2 % 3)
  • 2 * - (2 % 3)
  • 2 % - 2 * 3

5. 如下 C++ 代码执⾏后,其输出是( )

int a = 3;
int b = 4;
printf("%d#%d\n", a, b);

{{ select(5) }}

  • 3 4
  • 3#4
  • 3 # 4

6. 下列 C++ 代码执⾏后的输出是( )

int a = 8;
int b = 10;
cout << (a % b) << " " << (a * 1 / b) << " " << (a * 1.0 / b);

{{ select(6) }}

  • 8 0.8 0
  • 0 0.8 0
  • 8 0 0.8
  • 0 0 0.8

7. 执⾏下⾯代码后, b 的值会是( )

int b = 8;
++b *= 2 + 1;

{{ select(7) }}

  • 18
  • 17
  • 19
  • 27

8. 执⾏如下 C++ 代码,其输出是( )

int i, cnt = 0;
for (i = 0; i < 10; i++)
cnt += 1;
cout << i << ' ' << cnt;

{{ select(8) }}

  • 10 10
  • 9 9
  • 10 9
  • 9 10

9. 执⾏如下 C++ 代码,变量都是整型,则其输出是( )

/ 9
int cnt, i;
cnt = 0;
for (i = -10; i < 0; i++)
cnt += 1;
cout << (i * cnt);

{{ select(9) }}

  • -10
  • -9
  • 0
  • 9

10. 如下 C++ 代码执⾏输出是( )

int i;
for (i = 1; i < 5; i++) {
if (i % 3 == 0) {
printf("%d+", i);
continue;
} else {
printf("%d-", i);
break;
}
}
printf("%dEND*", i);

{{ select(10) }}

  • 1-1
  • 1 - 1 END*
  • 1+1-2-2END*
  • 1-1END*

11. 如下 C++ 代码执⾏时,下列说法错误的是( ) 4 10

cout << tot << "-END";

{{ select(11) }}

  • 如果输⼊ 3 ,输出是: 3#2#1#3-END
  • 如果输⼊ -10 ,输出是: 0-END
  • 如果输⼊ 0 ,输出是: 0-END
  • 如果输⼊ 1 ,输出是: 1#0-END

12. 下列 C++ 代码执⾏时如输⼊ 35 ,输出如下图所⽰。横线处应填⼊的代码是( ) 3

tot = 0;
for (i = 0; i < N; i++) {
printf(__________);
tot = tot + 1;
if (tot % 10 == 0)
printf("\n");
}

{{ select(12) }}

  • "%3d", N
  • "%3d", N - i
  • N - i
  • N

13. 下⾯ C++ 代码执⾏后输出是( )

int k = 0;
while (k < 8) {
k += 2;
continue;
if (k > 5)
break;
cout << k << "#";
}
if (k >= 8)
cout << "FINISH";

{{ select(13) }}

  • FINISH
  • 2#4#6#FINISH
  • 2#4#FINISH
  • 2#4#6#8#FINISH

14. 在下列 C++ 代码中,如果 N 和 M 均输⼊⼤于 0 的整数,则可以取得正整数 N 的从右到左第 M 位置的 数。个位数为第 1 位置。则横线处应填⼊( )。 2 7

M10 = 1;
for (; M > 1; M--)
M10 *= 10;
cout << ______________; // L1

{{ select(14) }}

  • N / M10 % 10
  • N / M10 / 10
  • N % M10 % 10
  • N % M10 / 10

15. 求解鸡兔同笼。在如下 C++ 代码中, tou 代表鸡和兔的头总数, jiao 代表鸡和兔的脚总数。先后两个 输⼊均为正整数。关于该程序下⾯说法准确的是( ) 2 7

for (tu_tou = 0; tu_tou < tou + 1; tu_tou++) { // L1
ji_tou = tou - tu_tou;
if (tu_tou * 4 + ji_tou * 2 == jiao) {
printf("兔的数量=%d,鸡的数量=%d\n", tu_tou, ji_tou);
break;
}
}
if (tu_tou == tou) // L2
printf("无解\n");

{{ select(15) }}

  • 能求解鸡兔同笼。
  • ji_tou 没有初始化,在 L1 ⾏代码前增加 ji_tou = 0; 即可求解鸡兔同笼。
  • 将 L1 ⾏的 tu_tou < tou + 1 改为 tu_tou <tou 即可求解鸡兔同笼。
  • 将 L2 ⾏的 tu_tou == tou 改为 tu_tou == tou + 1 即可求解鸡兔同笼。

二、判断题(每题 2 分,共 20 分)

1. C++ 程序执⾏ cin 或 scanf 语句时通常是使⽤键盘等输⼊设备来输⼊某个变量的值

{{ select(16) }}

2. 如果 n 为 3 位数的正整数,则 C++ 表达式 n % 100 将能得到最⾼位。如 n 为 123 ,则该表达式的值 为 1 。

{{ select(17) }}

3. 下⾯ C++ 代码执⾏后将输出 20

{{ select(18) }}

4. 下列 C++ 代码执⾏时如果先后输⼊ 10 和 10 ,则将输出 10小于10 2 4

{{ select(19) }}

5. 如下 C++ 代码如果输⼊⼤于 0 的整数,则可以求 1 到 N 之和 2 6

{{ select(20) }}

6. 在 C++ 中,表达式 2 % 2 与 (-2) % 2 的值相同

{{ select(21) }}

7. 试图编译并执⾏下⾯ C++ 代码,会输出 2

{{ select(22) }}

8. 在 C++ 代码中,如果两个变量 __ 和 ____ 都只包含下划线( _ ),但数⽬不同,则可能导致编译器⽆法识 别,⽽报告变量重复定义。

{{ select(23) }}

9. C++ 的变量 X 是 double 型,则表达式 X = 27 % 12 的结果不可预测

{{ select(24) }}

10. 下⾯ C++ 代码执⾏后输出的是 3

int ans = 0;
for (int idx = 1; idx <= 7; idx += 2) {
if (idx == 5)
continue;
if (idx * idx > 30)
break;
ans += idx;
}
cout << ans;

{{ select(25) }}