万卷网> GESP认证 >C++ > 2025年6月CCF—GESP(C++一级)编程能力等级认证试卷

2025年6月CCF—GESP(C++一级)编程能力等级认证试卷
一级 2025 2026-03-28 12:11:36 295

一、单选题

1.

下面的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

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++代码,下面描述正确的是?( )

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

输出 101

B.

输出 102

C.

输出 103

D.

编译将报错,无法执行

4.

下面的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

5.

下面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

6.

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

A.

0

B.

11

C.

13

D.

-67

7.

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

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

执行后输出10

B.

执行后输出 {First}

C.

执行后输出 "{First}"

D.

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

8.

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

A.

8 9

B.

9 9

C.

9 10

D.

编译错误,无法执行

9.

下面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

10.

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

A.

3

B.

17

C.

19

D.

20

11.

下面的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





12.

下面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

13.

以下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;

14.

2025年4月19日在北京举行了一场颇为瞩目的人形机器人半程马拉松赛。

比赛期间,跑动着的机器人会利用身上安装的多个传感器所反馈的数据来调整姿态、保持平衡等,那么这类传感器类似于计算机的?( )

A.

处理器

B.

存储器

C.

输入设备

D.

输出设备

15.

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

A.

X.cpp

B.

X-cpp

C.

X#cpp

D.

X_cpp

二、判断题

1.

执行C++代码 cout << (12 + 12.12) 将报错,因为12是int类型,而12.12是float类型,不同类型不能直接运算。( )

A.正确 B.错误
2.

删除下面C++代码中的continue后其输出是 0#2#4#6#8#。( )

int i;
for (i = 0; i < 10; i++) {
    if (i % 2 == 0) {
        cout << i << "#";
        continue;
    }
}
if (i >= 10)
    cout << "END";
A.正确 B.错误
3.

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

int cnt;
for (int i = 0; i < 10; i++)
    cnt += 1;
cout << cnt;
A.正确 B.错误
4.

在C++代码中,不可以将变量命名为false,因为false是C++语言的关键字。( )

A.正确 B.错误
5.

将下面C++代码中的 i < 100; i = i + 1 修改为 i < 200; i += i + 1 ,其输出与当前代码输出相同。( )

int cnt = 0;
for (int i = 0; i < 100; i = i + 1)
    cnt += 1;
cout << cnt;
A.正确 B.错误
6.

交换下面C++代码中的 i += 2 和 cnt += 1 ,交换前后分别运行的两次输出相同。( )

int i, cnt = 0;
while (i < 10) {
    i += 2;
    cnt += 1;
}
cout << cnt;
A.正确 B.错误
7.

在下面C++代码中,删除 break 语句对程序执行结果没有影响。( )

int i;
for (i = 0; i < 10; i++) {
    continue;
    cout << i << "#";
    break;
}
if (i >= 10)
    cout << "END";
A.正确 B.错误
8.

X是C++的整型变量,则表达式 3 < X < 5 求值结果是4。( )

A.正确 B.错误
9.

如果N是C++的整型变量,值为5,则表达式 (N + !N) 的值为4。( )

A.正确 B.错误
10.

人们现在参加很多闭卷考试时通常都不允许带智能手机、平板电脑等,此外很多种智能手表同样因为具有嵌入操作系统及通信等功能,所以也不允许随身携带。( )

A.正确 B.错误

三、编程题

1.

假期阅读

时间限制:1 s,内存限制:512 MB

【问题描述】

小 A 有一本厚厚的书。这本书总共有 n 页,小 A 一天中最多只能阅读完其中的 k 页。小 A 的假期总共有 t 天,他想知道在假期中最多能阅读完这本书的多少页。

【输入描述】

第一行,一个正整数 n,表示书的页数。

第二行,一个正整数 k,表示小 A 每天最多阅读的页数。

第三行,一个正整数 t,表示小 A 假期的天数。

【输出描述】

一行,一个整数,表示假期中所能阅读的最多页数。

【样例输入1】

8
3
2

【样例输出1】

6

【样例输入2】

19
3
30

【样例输出2】

19

【数据范围】

对于所有测试点,保证 n、k、t 均不超过 1000。

2.

值日

时间限制:1 s,内存限制:512 MB

小杨和小红是值日生,负责打扫教室。小杨每 m 天值日一次,小红每 n 天值日一次。今天他们两个一起值日,请问至少多少天后,他们会再次同一天值日?

【输入描述】

第一行,一个正整数 m,表示小杨的值日周期;

第二行,一个正整数 n,表示小红的值日周期。

【输出描述】

一行,一个整数,表示至少多少天后他们会再次同一天值日。

【样例输入1】

4
6

【样例输出1】

12

【数据范围】

对于所有测试点,保证 1 <= m 、n <= 100 。

公众号
客服 反馈
顶部