#X000110. GESP C++一级试卷(2025年6月)
GESP C++一级试卷(2025年6月)
一、选择题
本试卷共15道单项选择题,考察基本语法、逻辑结构和简单算法。
第1题
2025年4月19日在北京举行了一场颇为瞩目的人形机器人半程马拉松赛。比赛期间,跑动着的机器人会利用身上安装的多个传感器所反馈的数据来调整姿态、保持平衡等,那么这类传感器类似于计算机的( )。
{{ select(1) }}
- 处理器
- 存储器
- 输入设备
- 输出设备
第2题
在某集成开发环境中调试下面代码段时尝试设置断点和检查局部变量,下面哪个说法是错误的( )。
1 int i,N = 0; // L1
2 cin >> N; // L2
3 for (i = 1; i < 9; i++)
4 if (N % i == 0) break; // L3
5 if (i < 9)
6 printf("N不能大于9\n"); // L4
{{ select(2) }}
- 断点不可以设在L1标记的代码行
- 执行暂停在L2标记的代码行时,可以检测i的值
- 执行暂停在L3标记的代码行时,可以修改i的值
- 执行有可能暂停在L4标记的代码行
第3题
对下列C++的代码,描述准确的是( )。
1 int first = 10;
2 printf("%d\n", First)
{{ select(3) }}
- 执行后输出10
- 执行后输出(first)
- 执行后输出"first"
- 编译报告错误,因为First应该是first
第4题
在C++中,下列可以做变量名的是( )。
{{ select(4) }}
- X.cpp
- X-cpp
- X#cpp
- X_cpp
第5题
C++表达式 14-3*3%2 的值是( )。
{{ select(5) }}
- 0
- 11
- 13
- -67
第6题
下面的C++代码执行后,其输出是( )。
1 int x = 10, y = 20;
2 x = x + y;
3 y = x - y;
4 x = x - y;
5 cout << x << ' ' << y;
{{ select(6) }}
- 10 20
- 20 10
- 10 10
- 20 20
第7题
定义整型变量 int a=16,则执行 ++a += 3 之后,a的值会是( )。
{{ select(7) }}
- 3
- 17
- 19
- 20
第8题
C++的 int 类型变量 x 的值为8,如果执行 cout << (++x)++;则输出和执行后 x 的值分别是( )。
{{ select(8) }}
- 8 9
- 9 9
- 9 10
- 编译错误,无法执行
第9题
下面C++代码执行后的输出是( )。
1 int a,b;
2 a = 3;
3 b = 4;
4 printf("a+b=%02d#a+b=(a+b)", a+b, a+b);
{{ select(9) }}
- a+b=67#a+b=(a+b)
- a+b= 7#a+b=7
- a+b=7#a+b=(a+b)
- a+b=7#a+b=7
第10题
下面的C++代码用于求M天后是星期几,两处横线处分别应填入的代码是( )。
int N, M, D;
cout << "当前星期几";// 星期日是0
cin >> N;
cout << "求多少天后";// 输入正整数
cin >> M;
D = ______;
if (______)
printf("%d天后是星期日", M);
else
printf("%d天后是星期%d", M, D);
{{ select(10) }}
- (N + M) / 7 D == 0
- (N + M) % 7 D == 0
- (N + M) / 7 D <= 0
- (N + M) % 7 D = 0
第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");
{{ select(11) }}
- END
- 1#
- 1#4#END
- 1#4#7#10#END
第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");
{{ select(12) }}
- i -= 1
- i == 1
- i > 1
- i >= 1
第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;
{{ select(13) }}
- 55
- 15
- 9
- 4
第14题
试图编译并执行下面C++代码,下面描述正确的是( )。
float x;
x = 101;
x++;
cout << ++x;
{{ select(14) }}
- 输出 101
- 输出 102
- 输出 103
- 编译将报错,无法执行
第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++;
}
}
{{ select(15) }}
- int b = (i / 10) / 10;
- int b = (i / 10) % 10;
- int b = (i % 10) / 10;
- int b = (i % 10) % 10;
二、判断题
本试卷共10道判断题,考察基本概念和代码理解。
第16题
人们现在参加很多闭卷考试时通常都不允许带智能手机、平板电脑等,此外很多种智能手表同样因为具有嵌入操作系统及通信等功能,所以也不允许随身携带。( )
{{ select(16) }}
- 正确
- 错误
第17题
如果 N 是 C++ 的整型变量,值为 5,则表达式 (N + !N) 的值为 4。( )
{{ select(17) }}
- 正确
- 错误
第18题
在下面 C++ 代码中,删除 break 语句对程序执行结果没有影响。( )
int i;
for (i = 0; i < 10; i++) {
continue;
cout << i << "#";
break;
}
if (i >= 10)
cout << "END";
{{ select(18) }}
- 正确
- 错误
第19题
删除下面 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";
{{ select(19) }}
- 正确
- 错误
第20题
将下面 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;
{{ select(20) }}
- 正确
- 错误
第21题
交换下面C++代码中的 i += 2 和 cnt += 1,交换前后分别运行的两次输出相同。( )
1 int i, cnt = 0;
2 cnt = 0;
3 while (i < 10){
4 i += 2;
5 cnt += 1;
6 }
7 cout << cnt;
{{ select(21) }}
- 正确
- 错误
第22题
下面的C++代码执行后将输出45。( )
1 int cnt;
2 for (int i = 0; i < 10; i++)
3 cnt += 1;
4 cout << cnt;
{{ select(22) }}
- 正确
- 错误
第23题
执行C++代码cout << (12 + 12.12)将报错,因为12是int类型,而12.12是float类型,不同类型不能直接运算。( )
{{ select(23) }}
- 正确
- 错误
第24题
在C++代码中,不可以将变量命名为false,因为false是C++语言的关键字。( )
{{ select(24) }}
- 正确
- 错误
第25题
X是C++的整型变量,则表达式3 << x < 5求值结果是4。( )
{{ select(25) }}
- 正确
- 错误