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的值为( )
intage;cin>>age;A. “18” B. 18 C. ‘1’ D. 1
阅读以下代码,屏幕最终输出为( )
intn=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.n % 2 = = 0 n \% 2 == 0n%2==0B.n % 2 ! = 0 n \% 2 != 0n%2!=0C.n / 2 = = 1 n / 2 == 1n/2==1D.n % 2 = = 2 n \% 2 == 2n%2==2在 C++ 中,表达式20 % 6 20\%620%6的计算结果是( )
A. 3 B. 3.33 C. 2 D. 0阅读以下代码,程序运行后的输出结果是( )
intc[6]={4,9,16,25,36,49};ints=0;for(inti=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++ 代码片段,关于其执行逻辑与运行结果的描述,正确的有( )
inta[5]={10,15,8,21,6};intcnt=0;for(inti=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>usingnamespacestd;intmain(){cout<<"########## 一站式掌握信奥赛知识! ##########";cout<<"############# 冲刺信奥赛拿奖! #############";cout<<"###### 课程购买后永久学习,不受限制! ######";return0;}【秘籍汇总】(完整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>usingnamespacestd;intmain(){cout<<"跟着王老师一起学习信奥赛C++";cout<<" 成就更好的自己! ";cout<<" csp信奥赛一等奖属于你! ";return0;}