#X250301. CCF GESP 2025年3月认证 C++ 1级试题
CCF GESP 2025年3月认证 C++ 1级试题
No testdata at current.
CCF 编程能力等级认证C++ 一级
2025 年 03 月
一、 单选题(每题 2 分,共 30 分)
- 2025 年春节有两件轰动全球的事件,一个是 DeepSeek 横空出世,另一个是智梦片《哪吒2》票房破人,入了全球票房榜。下面关于 DeepSeek 与《哪吒2》的描述成立的是( )。 {{ select(1) }}
- 《哪吒2》是一款新型操作系统
- DeepSeek 是深海钻探技术
- 《哪吒2》可以生成新的软件
- DeepSeek 可以根据《哪吒2》的背景生成剧情脚本
- 在某集成开发环境中编辑一个源代码文件时不可以执行下面( )操作。 {{ select(2) }}
- 修改变量定义
- 保存代码修改
- 撤销代码修改
- 插入执行截图
- 在 C++ 中,下列可以改变变量的是( )。 {{ select(3) }}
- Var-1
- S1
- %%1
- _Var_i
- 以下哪个是 C++ 语言的关键字?( ) {{ select(4) }}
- abs
- cin
- do
- endl
- 下面的框架在 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) {
}
- 下面 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)
- 看关于 C++ 代码的说法,错误的是( )。 printf("我爱编程!"); {{ select(7) }}
- 配对双引号内的汉字改为英文 hello C++ 代码能正确执行
- 配对双引号内的汉字改为 Hello[代码] C++ 代码能正确执行
- 代码中的每个双引号,都可以改为两个单引号
- 代码中的每个双引号,都可以改为三个双引号
- C++ 表达式 16 / 4 % 2 的值是( )。 {{ select(8) }}
- 8
- 4
- 2
- 0
- N 是 C++ 的正整数,值为 12,则 cout << (N % 3 + N / 5) 的输出是( )。 {{ select(9) }}
- 6-4
- 2-4
- 6-6
- 2-6
- 下面 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)
- 执行下面的 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
- 下面 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))
- 下面 C++ 代码执行后输出是( )。
int tnt = 0;
for (int i = -1000; i < 1000; i++)
tnt += i;
cout << tnt << endl;
{{ select(13) }}
- -100
- 0
- 999
- 1000
- 下面 C++ 代码执行后输出的是( )。
int i;
for (i = 1; i < 100; i += 5)
continue;
cout << i << endl;
{{ select(14) }}
- 101
- 100
- 99
- 96
- 下面 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 分)
- C++、Python都是⾼级编程语⾔,它们的每条语句最终都要通过机器指令来完成。( ) {{ select(16) }}
- 正确
- 错误
- 在C++中表达式N * 2 % N中如果N的值为正整数,则其值为2。( ) {{ select(17) }}
- 正确
- 错误
- 执⾏如下C++代码如果在键盘上输⼊10,执⾏后将输出20。 ( )
char N;
printf("请输入正整数:");
cin >> N;
printf("%d\n", N * 2);
{{ select(18) }}
- 正确
- 错误
- 删除下⾯C++代码中的continue不影响程序的执⾏效果。( )
for (int i = 0; i < 100; i++){
if (i % 2 == 0){
printf("偶数");
continue;
}
else
printf("奇数");
}
{{ select(19) }}
- 正确
- 错误
- 下⾯C++代码执⾏时将报错,因为所在位置应该是变量名,⽽不可以做变量名。( )
for (int _ = 0; _ < 100; _++)
cout << "*" << endl;
{{ select(20) }}
- 正确
- 错误
- 下⾯C++代码被执⾏后,将先后输出3和5。( )
for (int i = 3; i < 5; i += 2)
printf("%d ", i);
{{ select(20) }}
- 正确
- 错误
- 下⾯的C++代码执⾏后将先后输出7个
true 。( )
for (int i = 0; i < 10; i++)
cout << (i * 2 < i * i) << " ";
{{ select(21) }}
- 正确
- 错误
- 在C++代码中,user_Name 、userName 、user-Name 、userName 都是合法的变量名。( ) {{ select(22) }}
- 正确
- 错误
- C++语⾔中 continue 语句可以来提前结束循环。( ) {{ select(23) }}
- 正确
- 错误
- 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;
}