CCF编程能力等级认证GESP—C++1级—20250628

CCF编程能力等级认证GESP---C++1级---20250628

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

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

cpp 复制代码
A. 处理器
B. 存储器
C. 输入设备
D. 输出设备

正确答案:C

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

cpp 复制代码
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
cpp 复制代码
A. 断点不可以设在L1标记的代码行
B. 执行暂停在L2标记的代码行时,可以检测i的值
C. 执行暂停在L3标记的代码行时,可以修改i的值
D. 执行有可能暂停在L4标记的代码行

正确答案:A

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

cpp 复制代码
int first = 10;
printf("{%d}\n", First)
cpp 复制代码
A. 执行后输出10
B. 执行后输出 {First}
C. 执行后输出 "{First}"
D. 编译报错,因为First应该是first

正确答案:D

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

cpp 复制代码
A. X.cpp
B. X-cpp
C. X#cpp
D. X_cpp

正确答案:D

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

cpp 复制代码
A. 0
B. 11
C. 13
D. -67

正确答案:C

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

cpp 复制代码
int x = 10, y = 20;
x = x + y;
y = x - y;
x = x - y;
cout << x << ' ' << y;
cpp 复制代码
A. 10 20
B. 20 10
C. 10 10
D. 20 20

正确答案:B

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

cpp 复制代码
A. 3
B. 17
C. 19
D. 20

正确答案:D

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

cpp 复制代码
A. 8 9
B. 9 9
C. 9 10
D. 编译错误,无法执行

正确答案:C

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

cpp 复制代码
int a, b;
a = 3;
b = 4;
printf("a+b=%02d#a+b={a+b}", a + b, a + b);
cpp 复制代码
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天后是星期几,两处横线处分别应填入的代码是( )。

cpp 复制代码
int N, M, D;
cout << "当前星期几? "; // 星期日是0
cin >> N;
cout << "求多少天后? "; // 输入正整数
cin >> M;
D = _______;
if (_______)
	printf("%d天后是星期日", M);
else
	printf("%d天后是星期%d", M, D);
cpp 复制代码
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++代码执行后输出是( )。

cpp 复制代码
int i;
for (i = 1; i < 11; i += 3){
	continue;
	if (i % 2 == 0)
		break;
	printf("%d#", i);
}
if (i >= 11)
	printf("END");
cpp 复制代码
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 。( )。

cpp 复制代码
int i, N;
cin >> N;
i = N;
while (_______){
	if (N % i == 0)
		printf("%d,", i);
	i -= 1;
}
printf("1");
cpp 复制代码
A. i -= 1
B. i == 1
C. i > 1
D. i >= 1

正确答案:C

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

cpp 复制代码
int Sum = 0;
for (int i = 0; i < 10; i++){
	if (i % 2 == 0)
		continue;
	if (i % 5 == 0)
		break;
	Sum += i;
}
cout << Sum;
cpp 复制代码
A. 55
B. 15
C. 9
D. 4

正确答案:D

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

cpp 复制代码
float x;
x = 101;
x++;
cout << ++x;
cpp 复制代码
A. 输出 101
B. 输出 102
C. 输出 103
D. 编译将报错,无法执行

正确答案:C

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

cpp 复制代码
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++;
	}
}
cpp 复制代码
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语句对程序执行结果没有影响。 ( )

cpp 复制代码
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#。( )

cpp 复制代码
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 ,其输出与当前代码输出相同。( )

cpp 复制代码
int cnt = 0;
for (int i = 0; i < 100; i = i + 1)
	cnt += 1;
cout << cnt;

正确答案:错误

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

cpp 复制代码
int i, cnt = 0;
cnt = 0;
while (i < 10){
	i += 2;
	cnt += 1;
}
cout << cnt;

正确答案:错误

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

cpp 复制代码
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。

相关推荐
BD_Marathon40 分钟前
MyBatis:配置文件完成增删改查_添加
java·mybatis
程序员JerrySUN42 分钟前
深度理解 KVM:Linux 内核系统学习的重要角度
java·linux·学习
默|笙42 分钟前
【c++】STL-容器 list 的实现
c++·windows·list
BTU_YC1 小时前
Neo4j Python 驱动库完整教程(带输入输出示例)
开发语言·python·neo4j
曾几何时`1 小时前
分别使用Cypher与python构建neo4j图谱
开发语言·python·机器学习
屁股割了还要学1 小时前
【C语言进阶】题目练习(2)
c语言·开发语言·c++·学习·算法·青少年编程
weixin_457665391 小时前
基于可变参模板的线程池
linux·c++
Hello.Reader2 小时前
Go-Redis 入门与实践从连接到可观测,一站式掌握 go-redis v9**
开发语言·redis·golang
编程小白gogogo2 小时前
Student后台管理系统查询接口
java·spring·mybatis
007php0072 小时前
使用LNMP一键安装包安装PHP、Nginx、Redis、Swoole、OPcache
java·开发语言·redis·python·nginx·php·swoole