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

一、单项选择题(每题5分)
-
执行
for(int i=0; i<4; i++){ cout << i*2; }后,屏幕输出为( )A. 2468 B. 246 C. 0246 D. 02468
-
如果一个正整数 b 是 5 的倍数且能整除 30,它的 C++ 判断表达式应该是( )
A.
b%5==0 && b%30==0B.
b%5==0 && b%30!=0C.
b/5==0 && b%30==0D.
b/5==0 && b%30!=0 -
若
int x=8, y=8;,则表达式x==y的值为( )A. 0 B. True C. 8 D. False
-
执行以下代码后,变量 b 的值为多少?
cppint b; b = 30;A. 30 B. 3 C. 0 D. "30"
-
执行以下代码片段后,屏幕输出为( )
cppint score = 85; if(score >= 60) cout << "Pass"; cout << "End";A. Pass B. End C. PassEnd D. 无输出
-
(跳过)
-
判断一个整数 n 是否为偶数的正确 C++ 表达式是( )
A.
n%2=1B.n!=2C.n/2==0D.n%2==0 -
在 C++ 中,表达式
9*4-10的计算结果是( )A. 62 B. 36 C. 3 D. 26
-
阅读以下代码,程序运行后的输出结果是( )
cppint 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. 3 B. 4 C. 2 D. 5
-
已知
int nums[6]={2,4,6,8,10,12};,执行cout << nums[0]+nums[5];后,屏幕输出为( )A. 2 B. 12 C. 14 D. 24
二、多项选择题(每题5分,全对得5分,错选、多选、少选均不得分)
-
阅读以下 C++ 代码片段,关于其执行逻辑与运行结果的描述,正确的有( )
cppint 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. 程序运行后屏幕最终输出的结果为 2
B. for 循环体内部的 if 条件判断语句共执行了 5 次
C. 表达式
a[i]%2!=0的作用是筛选出数组中的奇数D. 若将数组初始值改为 {1,2,3,4,5},则输出结果仍为 2
-
关于 C++ 中的 while 循环,下列说法正确的有( )
A. 不能用于循环次数已知的场景
B. 循环体可能一次也不执行
C. 循环体内通常需有改变条件的语句,否则可能造成死循环
D. while 循环语法包含初始化、条件判断和变量更新三个表达式
-
关于复合赋值运算符,下列说法正确的有( )
A.
a+=b等价于a=a+bB. 复合运算符左侧必须是已定义的变量
C.
a/=0在程序中是合法的数字运算D. (原题D选项缺失,根据答案推断D正确)
-
已知
bool p=false, q=true;,下列逻辑表达式结果为 false 的有( )A.
!qB.p&&qC.p||qD.!p -
关于 C++ 一维数组下标与元素访问,下列说法正确的有( )
A. 可以通过循环和下标依次访问数组的每个元素
B. C++ 数组的第一个元素的索引是 0
C. 定义
int arr[5];后,合法下标访问范围是arr[0]到arr[4]D. 定义
int arr[5];后,可以使用arr[5]访问第 5 个元素
三、判断题(每题5分)
-
在 C++ 程序中,表达式
17%4的计算结果为 1,说明 17 不能被 4 整除。( ) -
在 C++ 中,若要实现二维数组中满足条件的元素求和,通常应将 if 条件判断放在 for 循环内部。( )
-
在 for 循环体中,外层循环变量每变化一次,内层循环都会重新从初始值开始,完整执行一遍。( )
-
C++ 的 while 循环每次执行循环体后,都会重新判断循环条件,若条件为 false 则继续循环。( )
-
在 C++ 中,
cout << "Score:" << 100;会在屏幕上输出Score:100。( )
答案与解析
一、单项选择题
-
答案:C
解析:i 依次为 0,1,2,3,输出 i*2 得 0,2,4,6,拼接为 "0246"。
-
答案:B
解析:是5的倍数:
b%5==0;能整除30即30被b整除:30%b==0。注意题干"能整除30"意为30 ÷ b 余数为0。 -
答案:B
解析:
x==y比较8==8成立,布尔值为 true(在C++中输出通常为1,但选项B为True,视为正确)。 -
答案:A
解析:直接将30赋值给int变量b,b的值为30。
-
答案:C
解析:score=85≥60成立,输出"Pass",然后继续输出"End",所以输出"PassEnd"。
-
(缺失)
-
答案:D
解析:偶数对2取余为0,即
n%2==0。 -
答案:D
解析:先乘后减,9×4=36,36-10=26。
-
答案:A
解析:数组中大于10且偶数的有12、20、18,共3个。
-
答案:C
解析:
nums[0]=2,nums[5]=12,和=14。
二、多项选择题
-
答案:ABC
解析:数组{10,15,8,21,6}中奇数有15和21,cnt=2,A正确;循环5次,if执行5次,B正确;
a[i]%2!=0判断奇数,C正确;若改为{1,2,3,4,5},奇数有1,3,5共3个,输出3,D错误。 -
答案:BC
解析:while循环可用于次数已知场景(如用计数器),A错误;当条件一开始为false时循环体一次也不执行,B正确;循环体内需改变条件避免死循环,C正确;while语法只有条件表达式,初始化和更新需在外部,D错误。
-
答案:ABD (注:原题C错误,因为除以零非法;D选项虽缺失但根据答案应正确)
解析:A正确;B正确,左侧必须是可修改的左值;C错误,
a/=0运行时非法;D正确(常见正确说法如a*=b+1等价于a=a*(b+1))。 -
答案:AB (原答案写ABC,但
p||q为true,故仅A、B为false)解析:已知p=false, q=true,则
!q=false,p&&q=false,p||q=true,!p=true,因此结果为false的是A和B。 -
答案:ABC
解析:A正确,循环遍历;B正确,索引从0开始;C正确,0~4合法;D错误,
arr[5]越界。
三、判断题
-
答案:正确
解析:17%4=1≠0,所以不能整除。
-
答案:正确
解析:遍历二维数组时,在循环内用if判断条件并求和。
-
答案:正确
解析:嵌套循环中,内层循环每次完整执行。
-
答案:错误
解析:条件为false时结束循环,而不是继续。
-
答案:正确
解析:输出字符串"Score:"后紧跟数字100,无空格。
关注老师的专栏,查看完整版全国青少年信息素养大赛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
各种学习资料,助力大家一站式学习和提升!!!
cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
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 点击跳转
· 文末祝福 ·
cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<"跟着王老师一起学习信奥赛C++";
cout<<" 成就更好的自己! ";
cout<<" csp信奥赛一等奖属于你! ";
return 0;
}
