GESP C++ 一级模拟卷4(冲刺模拟卷)
选 单选题(共 15 题,每题 2 分)
2026年春节联欢晚会上武术表演节目《武BOT》中,多个机器人表演空翻并保持队列。如果将机器人视为一个计算机系统,下列哪项不能作为输入设备?( )
小明学习编程有一段时间了,他想在图形环境下把文本文件的名字改一下。他用鼠标左键点击选中该文件后,立即完成下面哪个操作后将处于输入新文件名的状态?( )
以下代码中,关于变量a, b的描述正确的是( )。
int a = 5;
if (a > 3) {
int b = 10;
cout << a + b;
}
cout << a;
在C++中,下列哪项可以作为合法的变量名?( )
C++表达式 3 * 3 % 2 的值为( )。
以下代码执行后,其说法正确的是( )。
int M = 0, N = 0;
cin >> M >> N;
if (N > M)
cout << (N - M);
else
cout << (M - N);
以下关于C++代码的说法,正确的是( )。
double PI = 3.1415926;
cout << (PI);
C++表达式 14 - 3 * 3 % 2 的值是( )。
执行以下代码,输出是( )。
int a = 5;
int b = ++a;
cout << a << " " << b;
以下代码用于判断某年是否为闰年(闰年:能被4整除但不能被100整除,或能被400整除),横线上应填入( )。
int year;
cin >> year;
if (__________________)
cout << "闰年";
else
cout << "平年";
以下代码执行后,输出是( )。
int i, tnt = 1;
for (i = 0; i < 5; i++)
tnt *= i;
cout << tnt << " " << i;
以下代码执行后,输出是( )。
int i;
for (i = 1; i < 5; i++) {
if (i % 3 == 0)
break;
cout << i << "#";
}
if (i >= 5)
cout << "END";
以下代码用于判断判断N是否为位增数(如123),两处横线应填入( )。
int N, n1, n2;
cin >> N;
__________;
while (N) {
n1 = N % 10;
if (n1 >= n2) { cout << 0; return 1; }
n2 = n1, N /= 10;
}
cout << 1;
执行以下代码可以找出百位、十位和个位满足 a²+b²=c² 的三位数。横线处应填入( )。
for (int i = 100; i <= 999; i++) {
int a = i / 100;
_____________
int c = i % 10;
if (a * a + b * b == c * c) count++;
}
以下代码用于判断N是否为双螺旋数(奇数位之和=偶数位之和)。空白处应填入( )。
int N, N1 = 0, N2 = 0;
while (N) {
____________
____________
}
if (N1 == N2) cout << "Yes";
判 判断题(共 10 题,每题 2 分)
小明的电话手表除了看时间还能打电话、收发信息,可以推测手表中装有操作系统。( )
C++表达式 4 % 2 和 2 * 2 % 2 的结果相同。( )
在Windows中,1KB = 1000字节。( )
在C++中,false是关键字,不能作为变量名。( )
C++中定义整型变量N,执行scanf("%d",&N); cout<<N/3*5; 时输入3.6,输出是6。( )
以下代码执行时输出是__0322$$。( )
printf("__%02d%2d$$", 3, 22);
C++表达式 (N % 2 == 0) && (N % 3 == 0) 和 N % 6 == 0 对于所有正整数N效果相同。( )
C++中,表达式 100 / 200 * 200 的值是0。( )
以下代码能正确判断输入的正整数是否为对称数(回文数)。( )
int n, rev = 0, old;
cin >> n;
old = n;
while (n != 0) {
rev = rev * 10 + n % 10;
n /= 10;
}
if (old == rev)
cout << "对称数";
以下代码执行后输出为2500。( )
int cnt = 0;
for (int i = 1; i < 100; i++)
cnt += i++;
cout << cnt;
编 编程操作题(共 2 题,共 50 分)
编程题 1:商店折扣
时间限制:1.0 s 内存限制:512.0 MB
【题目描述】
商店开展促销活动,给出两种方案:第一种是满 x 元减 y 元(只能用一次);第二种是打 n 折(价格变为原价的 n/10)。
小明挑选了总价为 p 元的物品,结账时只能选一种方案。请问小明最少需要支付多少钱?
【输入格式】
四行,四个正整数 x, y, n, p。x表示满减门槛,y表示满减金额,n表示折扣(1≤n≤9),p表示原价。
【输出格式】
一行,一个实数,保留两位小数,表示最少支付的金额。
【样例输入1】
8
7
9
10
【样例输出1】
3.00
【样例输入2】
8
7
2
11
【样例输出2】
2.20
【数据范围】
1 ≤ x, y ≤ 10000,1 ≤ n ≤ 9,1 ≤ p ≤ 10000。
编程题 2:数字替换
时间限制:1.0 s 内存限制:512.0 MB
【题目描述】
小明不喜欢数字4,但觉得数字8寓意好。他想把一个整数中所有的数字4都替换成数字8。如果数中不含4则无需修改。
【输入格式】
一行,一个整数 N(可能很大,但不超过10⁹)。
【输出格式】
一行,替换后的整数。
【样例输入1】
8459045
【样例输出1】
8859085
【样例输入2】
123
【样例输出2】
123
【数据范围】
0 ≤ N ≤ 10⁹。