CCF GESP 2025年6月认证 C++ 1级

单选题
共 15 道 每题 2 分 共计 30 分
第 1 题

2025 年 4 月 19 日在北京举行了一场颇为瞩目的人形机器人半程马拉松赛。比赛期间,跑动着的机器人会利用身上安装的多个传感器所反馈的数据来调整姿态、保持平衡等,那么这类传感器类似于计算机的( )。

A

处理器

B

存储器

C

输入设备

D

输出设备

第 2 题

在某集成开发环境中调试下面代码段时尝试设置断点和检查局部变量,下面哪个说法是错误的( )。

int i,N = 0; // L1
cin >> N; // L2
for (i = 1; i < 9; i++)
    if (N % i == 0) break;  // L3
if (i < 9)
    printf("N不能大于9\n"); // L4
A

断点不可以设在 L1 标记的代码行

B

执行暂停在 L2 标记的代码行时,可以检测 i 的值

C

执行暂停在 L3 标记的代码行时,可以修改 i 的值

D

执行有可能暂停在 L4 标记的代码行

第 3 题

对下列 C++ 的代码,描述准确的是( )。

int first = 10;
printf("{%d}\n", First)
A

执行后输出 10

B

执行后输出 {First}

C

执行后输出 "{First}"

D

编译报错,因为 First 应该是 first

第 4 题

在 C++ 中,下列可以做变量名的是( )。

A

X.cpp

B

X-cpp

C

X#cpp

D

X_cpp

第 5 题

C++ 表达式 14 - 3 * 3 % 2 的值是( )。

A

0

B

11

C

13

D

-67

第 6 题

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

int x = 10, y = 20;
x = x + y;
y = x - y;
x = x - y;
cout << x << ' ' << y;
A

10 20

B

20 10

C

10 10

D

20 20

第 7 题

定义整型变量 int a = 16,则执行 ++a += 3 之后,a 的值会是( )。

A

3

B

17

C

19

D

20

第 8 题

C++ 的 int 类型变量 X 的值为 8,如果执行 cout << (++X)++;,则输出和执行后 X 的值分别是( )。

A

8 9

B

9 9

C

9 10

D

编译错误,无法执行

第 9 题

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

int a, b;
a = 3;
b = 4;
printf("a+b=%02d#a+b={a+b}", a + b, a + b);
A

a+b=07#a+b={a+b}

B

a+b= 7#a+b=7

C

a+b=7#a+b={a+b}

D

a+b=7#a+b=7

第 10 题

下面的 C++ 代码用于求 M 天后是星期几,两处横线处分别应填入的代码是( )。

int N, M, D;
cout << "当前星期几?"; // 星期日是0
cin >> N;
cout << "求多少天后?"; // 输入正整数
cin >> M;
D = ____________;
if (___________)
    printf("%d天后是星期日", M);
else
    printf("%d天后是星期%d", M, D);
A
(N + M) / 7
D == 0
B
(N + M) % 7
D == 0
C
(N + M) / 7
D <= 0
D
(N + M) % 7
D = 0
第 11 题

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

int i;
for (i = 1; i < 11; i += 3) {
    continue;
    if (i % 2 == 0)
        break;
    printf("%d#", i);
}
if (i >= 11)
    printf("END");
A

END

B

1#

C

1#4#END

D

1#4#7#10#END

第 12 题

下面的 C++ 代码用于求 N 的所有因数(即能将 N 整除的数),如输入 12 则将输出12,6,4,3,2,1 。( )。

int i, N;
cin >> N;
i = N;
while (______) {
    if (N % i == 0)
        printf("%d,", i);
    i -= 1;
}
printf("1");
A

i -= 1

B

i == 1

C

i > 1

D

i >= 1

第 13 题

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

int Sum = 0;
for (int i = 0; i < 10; i++) {
    if (i % 2 == 0)
        continue;
    if (i % 5 == 0)
        break;
    Sum += i;
}
cout << Sum;
A

55

B

15

C

9

D

4

第 14 题

试图编译并执行下面 C++ 代码,下面描述正确的是( )。

float x;
x = 101;
x++;
cout << ++x;
A

输出 101

B

输出 102

C

输出 103

D

编译将报错,无法执行

第 15 题

以下 C++ 代码可以找出百位、十位和个位满足特定条件的三位数,横线处应该填入的是( )。

int count = 0;
for (int i = 100; i <= 999; i++) {
    int a = i / 100;
    _______________________
    int c = i % 10;
    if (a * a + b * b == c * c) {
        count++;
    }
}
A

int b = (i / 10) / 10;

B

int b = (i / 10) % 10;

C

int b = (i % 10) / 10;

D

int b = (i % 10) % 10;

单选题部分已到底了。