2026信息素养大赛算法应用初赛真题1(C++)
真题速递,考完的同学可以看看题目和答案,预估一下自己几分,为后续的复赛做准备。据说题目有很多版本,卷子是从题库随机抽题组成的,有利有弊,肯定会挨喷,哈哈哈。初赛基数,决定着进入复赛的分数不低,大家可以提前准备了。广告一下,准备复赛可以刷历年真题,相关信息看下面。获取方式在历史文章中查看付费文章。

历年真题
犇犇,公众号:AC喵学编程全国青少年信息素养大赛历年真题
一、 单选题(每题 分)
1. 执行 for(int i=0; i<4; i++) { cout << i*2; } 后,屏幕输出为
A.2468
B.02468
C.0246
D.246
2. 如果一个正整数 ,既是 的倍数,又是 的约数,它的 C++ 表达式应该如何表示
A.8 % a == 0 && 24 % a == 0;
B.8 % a == 0 && a % 24 == 0;
C.a / 8 == 0 && 24 / 8 == 0;
D.a % 8 == 0 && 24 % a == 0;
3. 若 int x = 8, y = 8;,则表达式 x == y 的值为
A.true
B.false
C.8
D.0
4. 执行代码 int a; cin >> a; 时,若从键盘输入 后按回车,变量 的值为
A.'5'
B.50
C."50"
D.0
5. 阅读以下代码,屏幕最终输出为
C++
int n = 40;if (n >= 60) cout << "Pass";cout << "Over";A.无输出
B.Pass
C.Over
D.PassOver
6. 若要存储一个学生的平均成绩(如 分),最合适的变量数据类型是
A.int
B.double
C.char
D.bool
7. 判断一个整数 是否为奇数的正确 C++ 表达式是
A.n % 2 == 2
B.n / 2 == 1
C.n % 2 != 0
D.n % 2 == 0
8. 在 C++ 中,表达式 的计算结果是
A.62
B.26
C.3
D.36
9. 阅读以下代码,程序运行后的输出结果是
int a[6] = {5, 12, 7, 20, 11, 18};int cnt = 0;for(int i=0; i<6; i++) {if(a[i] > 10 && a[i] % 2 == 0) { cnt++; }}cout << cnt;A.5
B.4
C.3
D.2
10. 已知代码 int score[4] = {90, 85, 92, 78};,执行 cout << score[3]; 后,屏幕输出为
A.90
B.85
C.78
D.92
二、 多选题(每题 分)
11. 阅读以下 C++ 代码片段,下列说法正确的有
int b[4] = {12, 18, 24, 30};int sum = 0;for(int j = 0; j < 4; j++) {if(b[j] % 6 == 0 && b[j] > 15) { sum += b[j]; }}cout << sum;A.表达式 b[j] % 6 == 0 用于判断 b[j] 是否为 的约数
B.代码的功能是计算数组中所有大于 且是 的约数的元素之和
C.循环结束后,变量 sum 的值为
D.数组 b 中下标为 的元素值是
12. 关于 C++ 中 while 循环的特点,下列说法正确的有
A.若 while 条件始终为 true 且循环体不改变条件,将导致死循环
B.while 循环特别适合处理不知道循环次数的场景
C.while 循环语法中包含初始化、条件、更新三个表达式
D.while 循环属于先判断条件再执行循环体的结构
13. 关于 C++ 复合运算符,下列说法正确的有
A.a *= 3 等价于 a = a * 3
B.a /= 4 等价于 a = a / 4
C.a -= 5 等价于 a = a + 5
D.使用复合运算符可以使代码更简洁
14. 已知 bool x = true, y = false;,下列逻辑表达式结果为 true 的有
A.x && y
B.x || y
C.!x
D.!y
15. 在 C++ 数组操作中,下列做法正确且安全的有
A.使用 for(int i=0; i<n; i++) 遍历长度为 的数组
B.用 arr[0] 访问数组的第一个元素
C.定义 int arr[n]; 后,使用 arr[n] 访问最后一个元素
D.int arr[3] = {1, 2, 3}; 在定义时直接初始化数组
三、 判断题(每题 分)
16. 在 C++ 程序中,若表达式 a % b 的结果为 ,则说明 是 的倍数。
[ ] 正确 [ ] 错误
17. 若要统计一维数组中满足特定条件的元素个数,通常需要将 for 循环体嵌套在 if 分支语句内部。
[ ] 正确 [ ] 错误
18. 在 for 循环嵌套中,外层循环变量每变化一次,内层循环都会重新从初始值开始,完整执行一遍。
[ ] 正确 [ ] 错误
19. C++ 的 while 循环每次执行循环体后,都会重新判断循环条件,若条件为 false 则继续循环。
[ ] 正确 [ ] 错误
20. 在 C++ 中,cout << "Score:" << 100; 会在屏幕上输出 Score:100。
[ ] 正确 [ ] 错误 
参考答案与简析
C —— i分别为 ,对应输出 ,连在一起是0246。D —— 是 的倍数即 a % 8 == 0; 是 的约数即24 % a == 0。A —— x和y都等于 ,关系表达式成立,结果为布尔值true。B —— int型变量读入整数 ,其值为数值 。C —— 不成立,不输出 "Pass",直接执行下一句输出 "Over"。 B —— 带有小数点的成绩用浮点型 double存储最合适。C —— 奇数除以 的余数不等于 (即为 或 )。 B —— 先算乘法 ,再算减法 。 C —— 满足大于 且是偶数的有 三个数, cnt累加为 。C —— 数组下标从 开始, score[3]对应第 个元素,即 。CD —— A、B 选项中的“约数”表述错误,应为“倍数”;满足条件的元素为 ,和为 ; b[2]的值确实是 。ABD —— C 选项描述的是典型的 for循环语法结构,while语法本身只包含条件。ABD —— C 选项中 a -= 5等价于a = a - 5。BD —— true || false结果为true;!false结果为true。ABD —— C 选项中长度为 的数组最大合法下标为 ,访问 arr[n]会导致越界。正确 —— 能整除说明 是 的整数倍。 错误 —— 应当是将 if分支语句嵌套在for循环体内部。正确 —— 这是嵌套循环的标准执行流程。 错误 —— 条件为 false时会退出循环,而不是继续。正确 —— 字符串字面量和数字会连续输出在屏幕上。
往期导读
===========================
往期文章导读:
【信息素养】
1726年4月

1726年4月

1626年4月

1326年4月

【SC】
126月

255月

【C++】
067月

266月

116月

076月

285月

【蓝桥杯】
1324年1月

1224年1月

315月

295月

285月

新鲜出炉!蓝桥杯国赛真题(sc)
【等级考试】
136月

125月


编者不易,分享、在看与点赞,至少我要拥有一个吧