#X250301. CCF GESP 2025年3月认证 C++ 1级试题

CCF GESP 2025年3月认证 C++ 1级试题

No testdata at current.

CCF 编程能力等级认证C++ 一级

2025 年 03 月

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

  1. 2025 年春节有两件轰动全球的事件,一个是 DeepSeek 横空出世,另一个是智梦片《哪吒2》票房破人,入了全球票房榜。下面关于 DeepSeek 与《哪吒2》的描述成立的是( )。 {{ select(1) }}
  • 《哪吒2》是一款新型操作系统
  • DeepSeek 是深海钻探技术
  • 《哪吒2》可以生成新的软件
  • DeepSeek 可以根据《哪吒2》的背景生成剧情脚本
  1. 在某集成开发环境中编辑一个源代码文件时不可以执行下面( )操作。 {{ select(2) }}
  • 修改变量定义
  • 保存代码修改
  • 撤销代码修改
  • 插入执行截图
  1. 在 C++ 中,下列可以改变变量的是( )。 {{ select(3) }}
  • Var-1
  • S1
  • %%1
  • _Var_i
  1. 以下哪个是 C++ 语言的关键字?( ) {{ select(4) }}
  • abs
  • cin
  • do
  • endl
  1. 下面的框架在 L1 和 L2 标记的两行处分别填写选项中的代码,哪组不能通过编译( )。
int main() {
    int i = 0; // L1
    break;
    return 0; // L2
}

{{ select(5) }}

do {
}
while (i != 0);
  - 
for (; i < 10; i++) {
}

if (i == 0) {
}
switch (i) {
}
  1. 下面 C++ 语句( )执行后的输出是 032225。 {{ select(6) }}
  • printf("%02d%02d%5d", 3, 22)
  • printf("%02d%02d%5d", 3, 22)
  • printf("%02d%02d%5d", 3, 22)
  • printf("%02d%02d%5d", 3, 22)
  1. 看关于 C++ 代码的说法,错误的是( )。 printf("我爱编程!"); {{ select(7) }}
  • 配对双引号内的汉字改为英文 hello C++ 代码能正确执行
  • 配对双引号内的汉字改为 Hello[代码] C++ 代码能正确执行
  • 代码中的每个双引号,都可以改为两个单引号
  • 代码中的每个双引号,都可以改为三个双引号
  1. C++ 表达式 16 / 4 % 2 的值是( )。 {{ select(8) }}
  • 8
  • 4
  • 2
  • 0
  1. N 是 C++ 的正整数,值为 12,则 cout << (N % 3 + N / 5) 的输出是( )。 {{ select(9) }}
  • 6-4
  • 2-4
  • 6-6
  • 2-6
  1. 下面 C++ 代码执行后的输出是( )。
int N = 10;
printf("%d",(N)=%d*%d)", N, N, N * N);

{{ select(10) }}

  • 1010=(1010)
  • 100-10
  • N*N=100
  • (N)(N)=(1010)
  1. 执行下面的 C++ 代码,在键盘上先后输入 100 和 200,输出是( )。
int first, second;
cout << "请输入第1个整数:";
cin >> first;
cout << "请输入第2个整数:";
cin >> second;
cout << (first / second * second) << endl;

{{ select(11) }}

  • 200
  • 100
  • 1
  • 0
  1. 下面 C++ 代码执行后,将输出能被 2 整除且除以 7 余数为 2 的数。下列选项不能实现的是( )。
for (int i = 0; i < 100; i++)
    if
    cout << i << " ";

{{ select(12) }}

  • ((i % 2 == 0) && (i % 7 == 2))
  • ((!(i % 2)) && (i % 7 == 2))
  • ((!(i % 2)) && (!(i % 7)))
  • ((i % 2 != 1) && (i % 7 == 2))
  1. 下面 C++ 代码执行后输出是( )。
int tnt = 0;
for (int i = -1000; i < 1000; i++)
    tnt += i;
cout << tnt << endl;

{{ select(13) }}

  • -100
  • 0
  • 999
  • 1000
  1. 下面 C++ 代码执行后输出的是( )。
int i;
for (i = 1; i < 100; i += 5)
    continue;
cout << i << endl;

{{ select(14) }}

  • 101
  • 100
  • 99
  • 96
  1. 下面 C++ 代码执行后输出的是( )。
int tnt = 0;
for (int i = 5; i < 100; i += 5) {
    if (i % 2 == 0)
        continue;
    tnt += i;
    if ((i % 3 == 0) && i % 7 == 0)
        break;
}
cout << tnt << endl;

{{ select(15) }}

  • 500
  • 450
  • 10
  • 1

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

  1. C++、Python都是⾼级编程语⾔,它们的每条语句最终都要通过机器指令来完成。( ) {{ select(16) }}
  • 正确
  • 错误
  1. 在C++中表达式N * 2 % N中如果N的值为正整数,则其值为2。( ) {{ select(17) }}
  • 正确
  • 错误
  1. 执⾏如下C++代码如果在键盘上输⼊10,执⾏后将输出20。 ( )
char N;
 printf("请输入正整数:");
 cin >> N;
 printf("%d\n", N * 2);

{{ select(18) }}

  • 正确
  • 错误
  1. 删除下⾯C++代码中的continue不影响程序的执⾏效果。( )
for (int i = 0; i < 100; i++){
 if (i % 2 == 0){
 printf("偶数");
 continue;
 }
 else
 printf("奇数");
 }

{{ select(19) }}

  • 正确
  • 错误
  1. 下⾯C++代码执⾏时将报错,因为所在位置应该是变量名,⽽不可以做变量名。( )
for (int _ = 0; _ < 100; _++)
 cout << "*" << endl;

{{ select(20) }}

  • 正确
  • 错误
  1. 下⾯C++代码被执⾏后,将先后输出3和5。( )
 for (int i = 3; i < 5; i += 2)
 printf("%d ", i);

{{ select(20) }}

  • 正确
  • 错误
  1. 下⾯的C++代码执⾏后将先后输出7个
true 。(  )
for (int i = 0; i < 10; i++)
 cout << (i * 2 < i * i) << " ";

{{ select(21) }}

  • 正确
  • 错误
  1. 在C++代码中,user_Name 、userName 、user-Name 、userName 都是合法的变量名。( ) {{ select(22) }}
  • 正确
  • 错误
  1. C++语⾔中 continue 语句可以来提前结束循环。( ) {{ select(23) }}
  • 正确
  • 错误
  1. C++中定义整型变量N,执⾏语句 scanf("%d", &N); cout << N / 3 * 5; 时输⼊3.6,则输出是6。( ) {{ select(24) }}
  • 正确
  • 错误

三、编程题(每题25分,共50分)

3.1编程题 1

• 时间限制:1.0 s • 内存限制:512.0 MB

3.1.1 图书馆里的老鼠

3.1.2 题目描述

图书馆⾥有n本书,不幸的是,还混⼊了⼀只⽼⿏,⽼⿏每x⼩时能啃光⼀本书,假设⽼⿏在啃光⼀本书之前,不会啃另⼀本。请问y⼩时后图书馆⾥还剩下多少本完整的书。

3.1.3 输入格式

三⾏,第⼀⾏⼀个正整数n,表⽰图书馆⾥书的数量; 第⼆⾏,⼀个正整数x,表⽰⽼⿏啃光⼀本书需要的时间; 第三⾏,⼀个正整数y,表⽰经过的总时间; 输⼊数据保证y⼩时后⾄少会剩下⼀本完整的书。

3.1.4 输出格式

⼀⾏,⼀个整数,表⽰y⼩时后图书馆⾥还剩下多少本完整的书。

3.1.5 样例

3.1.5.1 输入样例 1

10
2
3

3.1.5.2 输入样例 1

8

3.1.5.3 输入样例 2

5
2
4

3.1.5.4 输出样例 2

 3

3.1.6 数据范围

对于所有测试点,保证1≤n,x,y≤1,000,保证y⼩时后⾄少会剩下⼀本完整的书。

3.1.7 参考程序

#include <bits/stdc++.h>
using namespace std;
int main() {
    int n, x, y, ans;
    cin >> n >> x >> y;
    assert(1 <= n && n <= 1000 && 1 <= x && x <= 1000 && 1 <= y && y <= 1000);
    ans = n - y / x - 1 + (y % x == 0);
    assert(ans >= 1);
    cout << ans << '\n';
    return 0;
}

3.2编程题 2

• 时间限制:1.0 s • 内存限制:512.0 MB

3.2.8 四舍五入

3.2.9 题目描述

四舍五⼊是⼀种常见的近似计算⽅法。现在,给定n个整数,你需要将每个整数四舍五⼊到最接近的整⼗数。例如, 43四舍五⼊后为40, 58四舍五⼊后为60。

3.2.10 输入格式

共n+1⾏,第⼀⾏,⼀个整数n,表⽰接下来输⼊的整数个数。 接下来n⾏,每⾏⼀个整数ai,...an,表⽰需要四舍五⼊的整数。

3.2.11输出格式

n⾏,每⾏⼀个整数,表⽰每个整数四舍五⼊后的结果。

3.2.12 样例 1

5
43
58
25
67
99

3.2.12.5 输入样例 1

40
60
30
70
100

3.2.6 输出样例 1

对于所有测试点,保证1≤n≤100,1≤ai≤10000。

3.2.7 参考程序

#include <bits/stdc++.h>
using namespace std;
int main() {
    int n; cin >> n; assert(1 <= n && n <= 100);
    for (int i = 1, x; i <= n; i++) {
        cin >> x; assert(1 <= x && x <= 10000);
        cout << (x + 5) / 10 * 10 << '\n';
    }
    return 0;
}