2026年全国青少年信息素养大赛初赛真题(算法应用主题赛C++小学组初赛真题1:文末附答案和解析)

一、单项选择题(每题5分)
执行
for(int k=5; k>=1; k--) { cout << k; }后,屏幕输出为( ) A. 12345 B. 5432 C. 01234 D. 54321如果一个正整数数a,既是8的倍数,又是24的约数,它的C++表达式应该如何表示( ) A. a % 8 == 0 && 24 % a == 0; B. a / 8 == 0 && 24 / 8 == 0; C. 8 % a == 0 && a % 24 == 0; D. 8 % a == 0 && 24 % a == 0;
若
int a = 10, b = 5;,则表达式a != b的值为( ) A. true B. false C. 10 D. 5执行以下代码,若从键盘输入整数18,则变量age的值为( )
int age; cin>>age;A. “18” B. 18 C. ‘1’ D. 1
阅读以下代码,屏幕最终输出为( )
int n = 40;if(n >= 60) cout << "Pass";cout << "Over";A. PassOver B. Over C. Pass D. 无输出
若要存储一个学生的平均成绩(如89.5分),最合适的变量数据类型是( ) A. int B. double C. char D. bool
判断一个整数 n 是否为奇数的正确 C++ 表达式是( ) A.
B.
C.
D. 
在 C++ 中,表达式
的计算结果是( ) A. 3 B. 3.33 C. 2 D. 0阅读以下代码,程序运行后的输出结果是( )
int c[6] = {4, 9, 16, 25, 36, 49};int s = 0;for(int i=0; i<6; i++) {if(c[i] % 2 == 0) {s += c[i];}}cout << s;A. 25 B. 43 C. 56 D. 139
已知代码
int score[4] = {90, 85, 92, 78};,执行cout << score[3];后,屏幕输出为( ) A. 90 B. 85 C. 92 D. 78
二、多项选择题(每题5分,全对得5分,错选、多选、少选均不得分)
阅读以下 C++ 代码片段,关于其执行逻辑与运行结果的描述,正确的有( )
int a[5] = {10, 15, 8, 21, 6};int cnt = 0;for(int i = 0; i < 5; i++) {if(a[i] % 2 != 0) {cnt++;}}cout << cnt;A. 若将数组初始值改为 {1, 2, 3, 4, 5},则输出结果仍为 2 B. 程序运行后屏幕最终输出的结果为 2 C. 表达式 a[i] % 2 != 0 的作用是筛选出数组中奇数 D. for循环体内部的if条件判断语句共执行了5次
关于C++中while循环的特点,下列说法正确的有( ) A. while循环属于先判断条件再执行循环体的结构 B. while循环语法中包含初始化、条件、更新三个表达式 C. while循环特别适合处理不知道循环次数的场景 D. 若while条件始终为true且循环体不改变条件,将导致死循环
关于复合赋值运算符,下列说法正确的有( ) A. a += b 等价于 a = a + b B. 复合运算符左侧必须是已定义的变量 C. 复合运算符可提高代码书写效率 D. a /= 0 在程序中是合法的数学运算
已知 bool p = false, q = true; 下列逻辑表达式结果为 false 的有( ) A. p && q B. p || !q C. !p D. !q
在C++数组操作中,下列做法正确且安全的有( ) A. 使用 for(int i=0; i<n; i++) 遍历长度为n的数组 B. 用 arr[0] 访问数组的第一个元素 C. 定义 int arr[n]; 后,使用 arr[n] 访问最后一个元素 D. int arr[3] = {1, 2, 3}; 在定义时直接初始化数组
三、判断题(每题5分)
在C++程序中,表达式 17 % 4 的计算结果为1,说明17不能被4整除。( )
在C++中,若要对一组数组中满足条件的元素求和,通常应将if条件判断嵌套在for循环内部。( )
在for循环嵌套中,外层循环变量每变化一次,内层循环都会重新从初始值开始,完整执行一遍。( )
while循环在执行循环体之前,不需要先判断循环条件是否成立。( )
在C++中,cout << “Hello” << 2024; 会在屏幕上输出 Hello2024。( )
参考答案与解析
一、单项选择题
答案:D解析:循环从 k=5 开始,每次减1,输出 5,4,3,2,1,拼接为 “54321”。
答案:A解析:
a % 8 == 0表示 a 是8的倍数,24 % a == 0表示 a 是24的约数,两者用 && 连接。答案:A解析:10 != 5 为真,C++ 中逻辑真值为 true。
答案:B解析:输入整数18,变量 age 存储整数值 18。
答案:B解析:n=40 不满足 n>=60,跳过输出 “Pass”,直接输出 “Over”。
答案:B解析:89.5 是浮点数,需要 double 类型存储小数。
答案:B解析:奇数不能被2整除,即 n % 2 != 0。
答案:C解析:20 除以 6 余数为 2,% 取余得 2。
答案:C解析:数组中偶数为 4、16、36,和为 56。
答案:D解析:数组下标从 0 开始,score[3] 是第4个元素 78。
二、多项选择题
答案:B、C、D解析:
A:改为 {1,2,3,4,5} 后奇数有 1,3,5 共3个,输出3,不是2,故A错。 B:原数组奇数 15、21,cnt=2,正确。 C:表达式判断奇数,正确。 D:for 循环执行 5 次,每次执行 if 判断,正确。 答案:A、C、D解析:
A:while 先判断条件,正确。 B:while 只有条件表达式,不强制包含初始化和更新,故B错。 C:适合循环次数未知,正确。 D:条件恒真且无改变,导致死循环,正确。 答案:A、B、C解析:
A:复合赋值等价,正确。 B:左侧需为变量,正确。 C:书写更简洁,正确。 D:除零非法,运行时错误,故D错。 答案:A、B、D解析:
A:false && true = false B:false || false = false C:!false = true D:!true = false 结果为 false 的是 A、B、D。 答案:A、B、D解析:
A:正确遍历方式。 B:arr[0] 是第一个元素,正确。 C:arr[n] 越界(下标 0~n-1),不安全,错误。 D:定义时初始化,正确。
三、判断题
答案:(正确)解析:余数为1 ≠ 0,表示不能整除。
答案:(正确)解析:常规做法:for 循环遍历,if 筛选条件,再累加。
答案:(正确)解析:嵌套循环规则,内层每次完整执行。
答案:(错误)解析:while 循环必须首先判断条件,条件为真才执行循环体。
答案:(正确)解析:连续输出字符串和整数,结果无空格,为 “Hello2024”。
关注老师的专栏,查看完整版全国青少年信息素养大赛C++备赛资料(初赛+复赛):
https://blog.csdn.net/weixin_66461496/category_12969975.html
相关课程《全国青少年信息素养大赛C++初赛真题试卷及答案解析》(视频课)
https://www.bilibili.com/cheese/play/ss447406764
相关课程《全国青少年信息素养大赛C++复赛真题试卷及答案解析》(视频课)
https://www.bilibili.com/cheese/play/ep2532538
各种学习资料,助力大家一站式学习和提升!!!
#include<bits/stdc++.h>using namespace std;intmain(){cout<<"########## 一站式掌握信奥赛知识! ##########";cout<<"############# 冲刺信奥赛拿奖! #############";cout<<"###### 课程购买后永久学习,不受限制! ######";return 0;}
【秘籍汇总】(完整csp信奥赛C++学习资料):
1、csp/信奥赛C++,完整信奥赛系列课程(永久学习):
https://edu.csdn.net/lecturer/7901

2、CSP信奥赛C++竞赛拿奖视频课:
https://edu.csdn.net/course/detail/40437
https://edu.csdn.net/course/detail/41081
3、csp信奥赛高频考点知识详解及案例实践:
CSP信奥赛C++动态规划:https://blog.csdn.net/weixin_66461496/category_13096895.html
CSP信奥赛C++标准模板库STL:https://blog.csdn.net/weixin_66461496/category_13108077.html
信奥赛C++提高组csp-s知识详解及案例实践:https://blog.csdn.net/weixin_66461496/category_13113932.html
4、csp信奥赛冲刺一等奖有效刷题题解:
信奥赛C++普及组CSP-J一等奖通关刷题题单及题解:https://blog.csdn.net/weixin_66461496/category_12673810.html
信奥赛C++提高组csp-j初赛&复赛真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12808781.html
信奥赛C++提高组csp-s初赛&复赛真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_13125089.html
5、GESP C++考级真题题解:

GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html

GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html
GESP(C++ 七级+八级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_13117178.html
· 文末祝福 ·
#include<bits/stdc++.h>using namespace std;intmain(){cout<<"跟着王老师一起学习信奥赛C++";cout<<" 成就更好的自己! ";cout<<" csp信奥赛一等奖属于你! ";return 0;}
