
一、单选题 每题 2 分,共 30 分
| 1 | 答案:投影仪 计算机设备分输入设备和输出设备。麦克风、手写板、扫描仪都是向计算机传入数据的输入设备;投影仪是将计算机内容向外展示的输出设备。 |
| 2 | 答案:6 C++ 表达式遵循先乘除、后加减的运算优先级。(3*4=12),(12/2=6),最后 (12-6=6)。 |
| 3 | 答案:9w C++ 变量命名规则:只能由字母、数字、下划线组成,不能以数字开头,区分大小写。9w 以数字开头,属于非法变量名;其余选项均符合规则。 |
| 4 | 答案:不能直接确定 在 C++ 中,设定 double 变量也可以存储整数,所以不能确定。 |
| 5 | 答案:同一变量可以被多次赋值 变量名不能以数字开头,第一项错误;变量定义后可以反复赋值,第二项正确;变量声明后可以不立即赋值,第三项错误;变量类型定义后无法修改,第四项错误。 |
| 6 | 答案:4 b /= 3 是复合赋值运算符,等价于 b = b / 3。b 为整型,整数除法直接取商,(12/3=4)。 |
| 7 | 答案:a 利用临时变量 c 保存初始 a 的值:c=a,再执行 a=b 让 a 变为 90,最后 b=c 让 b 变为 50,最终输出 90 和 50。 |
| 8 | 答案:9 循环规则:i 初始为 3,循环条件 i<=8,每次自增 3。循环执行两次:(i=3)、(i=6);累加计算:(0+3+6=9),最终输出 9。 |
| 9 | 答案:i+=3 要求依次输出 1、4、7,规律是每次数值增加 3。i+=3 表示变量 i 每次加 3,符合输出要求;其余选项无法得到该序列。 |
| 10 | 答案:6 同时被 3 和 4 整除的数,等价于被最小公倍数 12 整除。统计 22~92 之间 12 的倍数:24、36、48、60、72、84,一共 6 个。 |
| 11 | 答案:18 i%4 表示对 4 取余数,遍历 1~12 可分为 3 组(1~4、5~8、9~12),每组余数和为 (1+2+3+0=6);总和 (6*3=18)。 |
| 12 | 答案:72 36 18 循环条件为数字是偶数时执行:(输入 72,输出 72,72/2=36);(36,输出 36,36/2=18);(18,输出 18,18/2=9);9 是奇数,循环结束。最终输出 72 36 18。 |
| 13 | 答案:6 8 不使用临时变量交换两个整数的算法:(a=8+6=14);(b=14-6=8);(a=14-8=6);最终 (a=6,b=8)。 |
| 14 | 答案:15 功能为计算数字各位之和,输入 456:(456%10=6),和为 6,(456/10=45);(45%10=5),和为 11,(45/10=4);(4%10=4),和为 15,(4/10=0);循环结束,最终输出 15。 |
| 15 | 答案:1#2#3#4# 循环 i 取值为 1、2、3、4、5;continue 跳过本次循环剩余代码:(i=1、2、3、4) 不满足 i%5==0,正常输出;(i=5) 满足条件,执行 continue,不输出;最终结果为 1#2#3#4#。 |
二、判断题 每题 2 分,共 20 分
| 1 | 错误 CPU 全称是中央处理器,并非普通芯片,该说法错误。 |
| 2 | 正确 想要计算 1~60 的偶数和,可以使用循环遍历所有数字,筛选偶数并累加,循环结构完全适用。 |
| 3 | 错误 % 是取模运算符,规则:被除数小于除数时,余数等于被除数。(5 % 9 = 5),程序不会报错。 |
| 4 | 错误 C++ 变量名允许使用下划线,student_Name 命名格式合法,题目说法错误。 |
| 5 | 正确 C++ 逗号表达式的取值规则:取最后一个表达式的结果。(3,7) 最终取值为 7,输出结果为 7。 |
| 6 | 错误 (n=768),n/10 是整数除法,结果为 76;想要取出个位数字 6,应使用 n%10,该说法错误。 |
| 7 | 正确 原条件 i<=18 和修改后 i<18,循环执行过程完全一致:(i=3)、(i=11) 均满足两个条件,执行输出;(i=19) 均退出循环,输出结果不变。 |
| 8 | 错误 C++ 不支持连续比较写法 100<=y<=999,合法写法为 y >= 100 && y <= 999,语法错误。 |
| 9 | 错误 bool 是 C++ 布尔类型,仅有 true 和 false 两个合法值,bool m = false; 语法正常,不会报错。 |
| 10 | 错误 循环条件 i < 15,i 取值为 5、10:(i=5) 输出 5;(i=10) 输出 10;(i=15) 不满足条件,循环结束;最终输出 510,没有空格和数字 15,题目说法错误。 |
三、编程题
题目 A · 身高组队
输入小明及另外三名同学的身高,按照「差距最小优先;差距相同时选身高更低者」的规则,输出与小明组队的同学身高。
参考代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
int h1, h2, h3, h4;
cin >> h1 >> h2 >> h3 >> h4;
int d2 = abs(h2 - h1);
int d3 = abs(h3 - h1);
int d4 = abs(h4 - h1);
if ((d2 < d3 && d2 < d4)
|| (d2 == d3 && h2 < h3)
|| (d2 == d4 && h2 < h4)) {
cout << h2;
} else if ((d3 < d2 && d3 < d4)
|| (d3 == d2 && h3 < h2)
|| (d3 == d4 && h3 < h4)) {
cout << h3;
} else {
cout << h4;
}
return 0;
}
解题思路:
| 1 | 读取输入:定义变量分别存储小明及另外三名同学的身高,通过 cin 一次读入四个整数。 |
| 2 | 计算差距:用 abs() 函数分别计算三名同学与小明身高的绝对差值 d2、d3、d4。 |
| 3 | 多条件比对:通过 if-else 分支,严格遵循「差值最小优先,差值相同时选身高更低者」的规则进行比对。 |
| 4 | 输出结果:符合组队条件的同学身高通过 cout 输出。 |
题目 B · 数字出现次数统计
输入一个整数 N 和一个数字 B,统计 N 的十进制表示中,数字 B 出现的次数并输出。
参考代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, b;
cin >> n >> b;
int cnt = 0;
while (n > 0) {
int gw = n % 10; // 取出个位
if (gw == b) {
cnt++;
}
n = n / 10; // 去掉个位
}
cout << cnt << endl;
return 0;
}
解题思路:
| 1 | 读取输入:读入整数 n 和目标数字 b,定义计数器 cnt 并初始化为 0。 |
| 2 | 逐位拆分:通过 while 循环,每次用 n%10 取出个位,用 n/10 去掉个位,直到 n 变为 0。 |
| 3 | 判断并计数:每次取出个位后,判断是否与目标数字 b 相等,相等则计数器 cnt 加 1。 |
| 4 | 输出结果:循环结束后,cnt 即为数字 b 在 n 中出现的次数,直接输出。 |
备考提示
本次模拟题涵盖:变量与数据类型、运算符优先级、循环结构、条件判断、数位拆分五大核心考点。建议重点掌握整数除法规则、复合赋值运算、以及数位拆分的经典套路。
