CCF编程能力等级认证GESP—C++1级—20250628
CCF编程能力等级认证GESP—C++1级—20250628
- 单选题(每题 2 分,共 30 分)
- 判断题(每题 2 分,共 20 分)
- 编程题 (每题 25 分,共 50 分)
- 假期阅读
- 值日
单选题(每题 2 分,共 30 分)
1、2025年4月19日在北京举行了一场颇为瞩目的人形机器人半程马拉松赛。比赛期间,跑动着的机器人会利用
身上安装的多个传感器所反馈的数据来调整姿态、保持平衡等,那么这类传感器类似于计算机的( )。
A. 处理器
B. 存储器
C. 输入设备
D. 输出设备
正确答案:C
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标记的代码行
正确答案:A
3、对下列C++的代码,描述准确的是( )。
int first = 10;
printf("{%d}\n", First)
A. 执行后输出10
B. 执行后输出 {First}
C. 执行后输出 "{First}"
D. 编译报错,因为First应该是first
正确答案:D
4、在C++中,下列可以做变量名的是( )。
A. X.cpp
B. X-cpp
C. X#cpp
D. X_cpp
正确答案:D
5、C++表达式 14-3*3%2 的值是( )。
A. 0
B. 11
C. 13
D. -67
正确答案:C
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
正确答案:B
7、定义整型变量 int a=16 ,则执行 ++a += 3 之后,a的值会是( )。
A. 3
B. 17
C. 19
D. 20
正确答案:D
8、C++的 int 类型变量 X 的值为8,如果执行 cout << (++X)++; ,则输出和执行后 X 的值分别是( )。
A. 8 9
B. 9 9
C. 9 10
D. 编译错误,无法执行
正确答案:C
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
正确答案:A
10、下面的C++代码用于求M天后是星期几,两处横线处分别应填入的代码是( )。
int N, M, D;
cout << "当前星期几? "; // 星期日是0
cin >> N;
cout << "求多少天后? "; // 输入正整数
cin >> M;
D = _______;
if (_______)printf("%d天后是星期日", M);
elseprintf("%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
正确答案:B
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
正确答案:A
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
正确答案:C
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
正确答案:D
14、试图编译并执行下面C++代码,下面描述正确的是( )。
float x;
x = 101;
x++;
cout << ++x;
A. 输出 101
B. 输出 102
C. 输出 103
D. 编译将报错,无法执行
正确答案:C
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;
正确答案:B
判断题(每题 2 分,共 20 分)
1、人们现在参加很多闭卷考试时通常都不允许带智能手机、平板电脑等,此外很多种智能手表同样因为具有嵌
入操作系统及通信等功能,所以也不允许随身携带。( )
正确答案:正确
2、如果N是C++的整型变量,值为5,则表达式 (N + !N) 的值为4。 ( )
正确答案:错误
3、在下面C++代码中,删除break语句对程序执行结果没有影响。 ( )
int i;
for (i = 0; i < 10; i++){continue;cout << i << "#";break;
}
if (i >= 10)cout << "END";
正确答案:正确
4、删除下面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";
正确答案:错误
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;
正确答案:错误
6、交换下面C++代码中的 i += 2 和 cnt += 1 ,交换前后分别运行的两次输出相同。( )
int i, cnt = 0;
cnt = 0;
while (i < 10){i += 2;cnt += 1;
}
cout << cnt;
正确答案:错误
7、下面的C++代码执行后将输出45。( )
int cnt;
for (int i = 0; i < 10; i++)cnt += 1;
cout << cnt;
正确答案:错误
8、执行C++代码 cout << (12 + 12.12) 将报错,因为12是int类型,而12.12是float类型,不同类型不能直接运算。( )
正确答案:错误
9、在C++代码中,不可以将变量命名为false,因为false是C++语言的关键字。( )
正确答案:正确
10、X是C++的整型变量,则表达式 3 < X < 5 求值结果是4。( )
正确答案:错误
编程题 (每题 25 分,共 50 分)
假期阅读
【问题描述】
小 A 有一本厚厚的书。这本书总共有 页,小 A 一天中最多只能阅读完其中的 页。小 A 的假期总共有 天,他想知道在假期中最多能阅读完这本书的多少页。
【输入格式】
第一行,一个正整数 ,表示书的页数。
第二行,一个正整数 ,表示小 A 每天最多阅读的页数。
第三行,一个正整数 ,表示小 A 假期的天数。
【输出格式】
一行,一个整数,表示假期中所能阅读的最多页数。
【样例输入 1】
8
3
2
【样例输出 1】
6
【样例输入 2】
19
3
30
【样例输出 2】
19
【数据范围】
对于所有测试点,保证n, k, t均不超过1000。
值日
【问题描述】
小杨和小红是值日生,负责打扫教室。小杨每 天值日一次,小红每 天值日一次。今天他们两个一起值日,请问至少多少天后,他们会再次同一天值日?
【输入格式】
第一行,一个正整数 ,表示小杨的值日周期;
第二行,一个正整数 ,表示小红的值日周期。
【输出格式】
一行,一个整数,表示至少多少天后他们会再次同一天值日。
【样例输入 1】
4
6
【样例输出 1】
12
【数据范围】
对于所有测试点,保证1≤m,n≤100。