GESP_2026年06月_C++一级试卷

从PDF导入:GESP_2026年06月_C++一级试卷

C++ 120分钟 总分 100.0 27 题
试卷题目预览
第1题 中级 2.0分 单选
学校组织到未来农场参观,小明听讲解员介绍,在智能温室中,湿度传感器可以连续检测土壤的湿度变化,并将检测到的湿度数据实时发送给中央控制器。中央控制器根据这些数据判断是否开启灌溉系统。请问,这里的湿 度传感器所发挥的作用,类似于计算机系统中的哪一类组件?( )
A. 处理器
B. 存储器
C. 输入设备
D. 输出设备
第2题 中级 2.0分 单选
在使用某集成开发环境(比如Dev-C++)来编辑源代码文件时,程序员经常需要在编辑区中对代码进行各种修改。以下关于在编辑区中执行的操作描述不正确的是()。
A. 可以将变量名count统一修改为number
B. 可以连续撤销最近2次输入的内容
C. 可以调整代码行的缩进(如按Tab键)
D. 在注释文本中间不能混用中英文
第3题 中级 2.0分 单选
有关如下C++代码的说法,正确的是()。

float a = 3 + 3.5;
cout << a;

A. 代码执行将报错。如果将a=3+3.5改为a=3+3+1/2将能正常执行
B. 代码执行将报错。如果将a=3+3.5改为a=3.0+3.5将能正常执行
C. 代码能正常执行,将输出6
D. 代码能正常执行,将输出6.5
第4题 中级 2.0分 单选
下列C++表达式与-2*2%4的值不同的是()。
A. -(2*2)%4
B. (-2*2)%4
C. -2*(2%4)
D. (2*2)%-4
第5题 中级 2.0分 单选
执行如下C++代码片段,其输出是()。

int a = 3;
int b = a;
a = 4;
printf("%d %d", a, b);

A. 33
B. 43
C. 44
D. 34
第6题 中级 2.0分 单选
如下C++代码执行时输入2026-6-27,下列说法正确的是()。

int N;
cin >> N;
cout << N;

A. 输入失败,不允许输入减号,没有输出
B. 允许输入,输出1993
C. 允许输入并原样输出2026-6-27
D. 允许输入并输出2026
第7题 中级 2.0分 单选
如下C++代码执行时,其说法错误的是()。

int N, M;
cin >> N >> M;
if (N > M)
cout << "A" << (N - M);
else
cout << "B" << (M - N);

A. 如果输入43,将输出A1
B. 如果输入34,将输出B1
C. 如果输入33,将输出A0
D. 如果输入44,将输出B0
第8题 中级 2.0分 单选
阅读如下C++代码,下列说法错误的是()。

int cnt = 0;
for (int i = 0; i < 5; i++)
cnt += 1;
cout << cnt;

A. 将cnt+=1修改为cnt=cnt+1,执行效果相同
B. 将cnt+=1修改为cnt=1+cnt,执行效果相同
C. 将cnt+=1修改为cnt=+1,执行效果相同
D. 将cnt+=1修改为cnt=+1+cnt,执行效果相同
第9题 中级 2.0分 单选
如下C++代码执行后输出是12345678910 11 5 6 7 8 9 10 11...横线处应该先后依次填入的运算符是()。

int num = 1;
for (int i = 0; i < 35; i++) {
printf("%d", num);
if (num __ 10)
num __= 2;
else
num __= 1;
}

A. > /= +=
B. > %= +=
C. > %= +=
D. > /= +=
第10题 中级 2.0分 单选
如下C++代码可以执行,其输出是()。

int i;
for (i = 1; i < 5; i++)
if (i % 2 == 0) {
continue;
cout << i << "#";
}
cout << i << "END#";

A. 5END#
B. 5#END
C. 1#3#4#END
D. 1#3#4 END#
第11题 中级 2.0分 单选
如下C++代码执行时,下列说法正确的是()。

int N, i;
cin >> N;
for (i = 2; i < N; i++)
if (N % i == 0) {
cout << "1#";
break;
} else
cout << "0#";

A. 如果输入2,将输出1#
B. 如果输入15,将输出0#1#
C. 如果输入1,将输出0#
D. 如果输入3,将输出1#
第12题 中级 2.0分 单选
有关如下C++代码,下列说法中错误的是()。

int i, tot;
i = 0;
tot = 0;
while (0 <= i && i < 10) {
tot += 1;
i += 1;
}
cout << tot;

A. 如果调整0<=i && i<10为1<=i && i<10,输出同样为45
B. 如果将i=0和tot=0合并为i=tot=0,执行结果相同
C. 将tot+=1与i+=1交换顺序,执行结果相同
D. 将i=0与tot=0交换顺序,执行结果相同
第13题 中级 2.0分 单选
以下C++代码可以找出满足条件的四位数,横线处应该填入的是()。

int count = 0;
for (int n = 1000; n <= 9999; n++) {
int a = n / 1000;
int b = (n / 100) % 10;
int c = ______;
int d = n % 10;
if (a*a*a*a + b*b*b*b + c*c*c*c + d*d*d*d == n)
count++;
}

A. int c=(n/10)/10
B. int c=(n/10)%10
C. int c=(n%10)/10
D. int c=(n%10)%10
第14题 中级 2.0分 单选
下面的C++代码用于计算经过n秒后的秒针位置(0~59),两处横线处分别应填入的代码是()。

int start, n, pos;
cout << "当前秒数(0-59):";
cin >> start;
cout << "经过多少秒:";
cin >> n;
pos = ______;
if (______)
cout << n << "秒后回到12点方向" << endl;
else
cout << n << "秒后指向" << pos << "秒刻度" << endl;

A. (start+n)/60 和 pos==0
B. (start+n)%60 和 pos==0
C. (start+n)/60 和 pos<=0
D. (start+n)%60 和 pos=0
第15题 中级 2.0分 单选
如果正整数N只能被1和它本身整除,则它是一个质数。下面的C++代码用于判断正整数N是否为质数。横线处不应填入的代码是()。

int N, i;
cin >> N;
if (N <= 1) {
cout << "NO";
return 0;
}
for (i = 2; ______; i++)
if (N % i == 0) {
cout << "NO";
return 0;
}
cout << "YES";

A. i
B. i<=N
C. i<=N/2
D. i*i<=N
第16题 中级 2.0分 判断
又到期末考试周,小明发现这次许多闭卷考试不仅禁止携带手机、平板电脑,还有AI眼镜也同样不允许带入考场。这些AI眼镜应该也是内置了操作系统并可能支持Wi-Fi或蓝牙连 接。
T. 正确
F. 错误
第17题 中级 2.0分 判断
如果n为大于100的整数,则C++表达式(n/10)%10与(n%100)/10的结果相同。
T. 正确
F. 错误
第18题 中级 2.0分 判断
下面C++代码执行后将输出19。

int i;
for (i = 0; i < 20; i += 3)
if (i % 3 != 0)
break;
cout << i;

T. 正确
F. 错误
第19题 中级 2.0分 判断
在数学中,N!称之为N的阶乘,其含义是1到N之积。如下C++代码能输出N!的结果。

int N;
cout << "请输入正整数:";
cin >> N;
int rst = 0;
for (int i = 1; i < N + 1; i++)
rst *= i;
cout << rst;

T. 正确
F. 错误
第20题 中级 2.0分 判断
如下C++代码能实现输出正整数N的各位数字。

int N;
cin >> N;
while (N > 0) {
cout << (N % 10) << endl;
N = N / 10;
}

T. 正确
F. 错误
第21题 中级 2.0分 判断
将如下C++代码中的printf输出换行符更换为另一种写法,输出效果相同。

for (int i = 0; i < 100; i++) {
if (i % 5 == 0)
printf("\n");
printf("%2d", i);
}

T. 正确
F. 错误
第22题 中级 2.0分 判断
C++代码cout<<(2.5%2)能够生成可执行代码,但执行时将报错,因为%只能适用于正整数。
T. 正确
F. 错误
第23题 中级 2.0分 判断
下面的C++代码执行后将输出24。

int total;
for (int n = 1; n <= 4; n++)
total *= n;
cout << total;

T. 正确
F. 错误
第24题 中级 2.0分 判断
如果a是C++的整型变量,值为4,则表达式(a%2==0)+(a/2)的值为4。
T. 正确
F. 错误
第25题 中级 2.0分 判断
删除下面C++代码中的continue后,其输出与原来相同。

int x = 0;
while (x < 4) {
if (x == 2)
continue;
cout << x << ",";
x++;
}

T. 正确
F. 错误
第26题 中级 25.0分 编程
去旅行


【题目描述】快暑假了,小杨同学想知道如何前往目的地最便宜。有三种方案:1.从A市直飞B市;2.从A市坐高铁到C市,然后坐飞机到B市;3.从A市坐高铁到C市,然后坐高铁到B市。请帮小杨同学求出最便宜的出行方案的价格。

【输入格式】输入包含4行,每行一个正整数,分别表示四种交通方式的价格。

【输出格式】输出一个正整数,表示最便宜的出行方案的价格。

【样例】
999
105
699
588
【样例解释】
693
【数据范围】所有输入均为正整数,且不超过10000。
第27题 中级 25.0分 编程
交税


【题目描述】劳务报酬需要按月预交个税:1.劳务报酬不超过800的,不需要预交个税;2.劳务报酬超过800的,仅超过800的部分按照20%税率预交个税。给定小杨同学12个月的月度劳务报酬,计算他这12个月应预交个税的总和。

【输入格式】输入12行,每行一个浮点数,表示每个月的劳务报酬。

【输出格式】输出一个浮点数,保留两位小数。

【样例】
932.0
1634.3
1790.4
2172.9
378.1
283.4
2761.9
3583.5
10.1
2324.9
1111.6
3812.3
【样例解释】
2584.76
【数据范围】每月劳务报酬收入均为正,且恰好有一位小数,且不超过4000.0。
💬