2026年全国青少年信息素养大赛初赛真题(算法应用主题赛C++初中组初赛真题2:文末附答案和解析)
2026年全国青少年信息素养大赛初赛真题(算法应用主题赛C++初中组初赛真题2:文末附答案和解析)
一、单项选择题(共10题,每题5分)
1.阅读以下代码:
for(inti=1;i<=4;i++){for(intj=1;j<=i;j++){cout<<"*";}cout<<endl;}以下说法正确的是( )。
A. 内循环的执行次数与i的值有关。
B. 每行输出的*数量相同。
C. 外循环共执行了5次。
D. 内循环每次都执行4次。
2.小明定义了一个整型变量来记录班级人数:int count;下列赋值语句中,正确的是( )。
A.count = 45;
B.count = 3.14;
C.count = 'A';
D.count = true;
3.小乐定义了数组int a[5] = {2, 33, 14, 51, 26};现在想要输出 51,则可以通过以下哪行代码实现( )。
A.cout << a[0];
B.cout << a[1];
C.cout << a[2];
D.cout << a[3];
4.以下关于 C++ 数组定义的说法,正确的是( )。
A. 数组长度可以是小数,如int a[2.5];
B. 数组长度可以为负数,如int a[-1];
C.int a[2]={1, 2, 3};是合法的定义。
D.int arr[]={5, 10, 15};是合法的定义。
5.一个长方形的长为p,宽为q,则其面积的计算表达式为( )。
A.p+q
B.p*q
C.p/q
D.p-q
6.在定义变量时,我们需要指定变量的数据类型。现在需要定义一个小数变量,可以使用以下哪种数据类型( )。
A.char
B.float
C.int
D.long
7.小乐定义了一个数组int a[3] = {1,2};则数组a里面的元素的值为( )。
A.{1,2,0,0}
B.{1,2,1,2,1}
C.{1,2,2,2}
D.{1,2,随机值/随机值/随机值}
8.校运会要选拔护旗队,要求身高超过160厘米,体重不超过60千克。以下哪个逻辑表达式可以用于选拔要求( )。(备注:shenGao表示身高,tiZhong表示体重)
A.(shenGao>160)&&(tiZhong<60)
B.(shenGao>160)||(tiZhong<=60)
C.(shenGao>160)&&(tiZhong<=60)
D.(shenGao>160)||(tiZhong<=60)
9.阅读以下代码:
inta[4]={19,8,33,27};intmax=0;for(inti=0;i<4;i++){if(a[i]>max)max=a[i];}cout<<max;程序运行后的输出结果为( )。
A. 19
B. 8
C. 33
D. 27
10.阅读以下代码:
intcount=0;for(inti=1;i<=20;i++){if(i%2==0)count++;}程序运行结束后,count的值为( )。
A. 5
B. 9
C. 10
D. 20
二、多项选择题(每题5分,全对得5分,错选、多选、少选均不得分)
11.执行以下代码后,说法正确的有( )。
intc[5]={10,20,30,40,50};c[0]=100;c[3]=400;A.c[0]的值为10
B.c[1]的值为20
C.c[2]的值为20
D.c[3]的值为400
12.幸运5游戏:如果数字是5的倍数,或者十位或个位上含有5,则跳过。对于变量m(10<=m<=100),以下哪些条件可以用于判断需要跳过( )。
A.m%5==0
B.m/10==5
C.m%5==5
D.m%10==5
13.在编写程序时,我们经常会用到输入输出语句,在 C++中关于输入输出的写法正确的是( )。
A.cin>>a;
B.continue<<a<<endl;
C.char>>a>>endl;
D.cout<<a<<endl;
14.闰年的判断规则为:能被4整除但不能被100整除,或者能被400整除。请你完善以下代码:
intnian;cin>>nian;if((①)&&(②))||(③)cout<<"闰年";elsecout<<"平年";请选择能填在第①②③处的选项( )。
A.nian%4==0
B.nian%100!=0
C.nian%100==0
D.nian%400==0
15.程序如下:
inte[5]={};for(inti=0;i<5;i++)cin>>e[i];intcnt=0;for(inti=0;i<5;i++){if(e[i]%2==0)cnt++;}cout<<cnt<<endl;以下输入和输出符合程序执行结果的有( )。
A. 输入: 2 4 6 8 10 输出: 5
B. 输入: 1 3 5 7 9 输出: 3
C. 输入: 1 2 3 4 5 输出: 2
D. 输入: 6 7 8 9 10 输出: 3
三、判断题(共5题,每题5分)
16.在C++中,while循环只要循环条件为真,就会一直执行循环体,永远无法退出。( )
正确 错误
17.在C++中,定义数组int b[] = {4, 8, 12};时,编译器会自动将数组长度设为3。( )
正确 错误
18.阅读以下C++代码:
if(shenGao>150)cout<<"全票";elsecout<<"半价票";现在输入150给变量shenGao,则会输出全票。( )
正确 错误
19.在C++中,表达式10 % 3的结果是1。( )
正确 错误
20.在C++中,语句a*=3;等价于a=a*3;。( )
正确 错误
参考答案与解析
一、单项选择题
1. 答案:A
解析:外循环 i=1~4,共4次(C错)。内循环 j=1~i,当 i=1 时执行1次,i=2时2次,i=3时3次,i=4时4次,因此内循环次数与i有关(A对),每行输出*数量不同(B错),内循环次数变化(D错)。
2. 答案:A
解析:整型变量应直接赋整数值。B浮点会截断,C字符会转ASCII,D布尔转1,虽语法允许但语义不直接,最正确的是A。
3. 答案:D
解析:数组下标从0开始,a[0]=2, a[1]=33, a[2]=14, a[3]=51, a[4]=26,输出51需用a[3]。
4. 答案:D
解析:A长度不能为小数;B长度不能为负;C初始值个数超过长度,编译错误;D省略长度时编译器自动推断为3,合法。
5. 答案:B
解析:长方形面积 = 长 × 宽 = p * q。
6. 答案:B
解析:小数应使用浮点类型,float是单精度浮点型。char、int、long均为整型。
7. 答案:A
解析:int a[3] = {1,2} 初始化前两个元素为1和2,第三个未指定则默认初始化为0,因此数组为{1,2,0}。选项A写为{1,2,0,0}可能是排版问题,但最接近正确答案。
8. 答案:C
解析:身高超过160为 shenGao>160,体重不超过60为 tiZhong<=60,需同时满足,用&&连接。
9. 答案:C
解析:程序找最大值。max初始0,比较后依次为19, 33, 最终max=33。
10. 答案:C
解析:1~20中偶数有2,4,6,8,10,12,14,16,18,20共10个,count=10。
二、多项选择题
11. 答案:B、D
解析:初始{10,20,30,40,50},c[0]=100改为{100,20,30,40,50},c[3]=400改为{100,20,30,400,50}。c[0]=100(A错),c[1]=20(B对),c[2]=30(C错),c[3]=400(D对)。
12. 答案:A、B、D
解析:跳过条件:是5倍数m%5 == 0或十位为5(m/10 == 5)或个位为5(m%10 == 5)。C选项m%5==5不可能成立(余数小于5)。
13. 答案:A、D
解析:cin配合>>输入,cout配合<<输出,endl用于换行。B中continue是关键字,C中char是类型,均不能用于输入输出。
14. 答案:A、B、D
解析:闰年条件为 (nian%4 == 0 && nian%100 != 0) || (nian%400 == 0),故①填A,②填B,③填D。
15. 答案:A、C、D
解析:程序统计5个数中偶数的个数。A:5个全偶→5,正确;B:全奇→0,不是3,错误;C:2和4两个偶→2,正确;D:6,8,10三个偶→3,正确。
三、判断题
16. 答案:错误
解析:while循环条件为真时执行,但通常循环体内会修改条件使其最终为假,从而退出。只有写成while(true)且无break才会无限循环,并非所有while都永远无法退出。
17. 答案:正确
解析:省略数组长度时,编译器根据初始化列表元素个数自动确定长度,此处有3个元素,长度为3。
18. 答案:错误
解析:条件为shenGao>150,输入150时条件不成立(150>150为假),执行else分支输出“半价票”,不是“全票”。
19. 答案:正确
解析:10除以3商3余1,取模结果就是1。
20. 答案:正确
解析:复合赋值运算符*=等价于 a = a * 3。
关注老师的专栏,查看完整版全国青少年信息素养大赛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;}