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

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

一、单项选择题(共10题,每题5分)

1. 阅读以下代码:

cpp 复制代码
for (int i = 1; i <= 4; i++) {
    for (int j = 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. 阅读以下代码:

cpp 复制代码
int a[4] = {19, 8, 33, 27};
int max = 0;
for (int i = 0; i < 4; i++) {
    if (a[i] > max) max = a[i];
}
cout << max;

程序运行后的输出结果为( )。

A. 19

B. 8

C. 33

D. 27

10. 阅读以下代码:

cpp 复制代码
int count = 0;
for (int i = 1; i <= 20; i++) {
    if (i % 2 == 0) count++;
}

程序运行结束后,count 的值为( )。

A. 5

B. 9

C. 10

D. 20


二、多项选择题(每题5分,全对得5分,错选、多选、少选均不得分)

11. 执行以下代码后,说法正确的有( )。

cpp 复制代码
int c[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,则跳过。对于变量 m10<=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整除。请你完善以下代码:

cpp 复制代码
int nian;
cin >> nian;
if (( ① ) && ( ② )) || ( ③ ) cout << "闰年";
else cout << "平年";

请选择能填在第①②③处的选项( )。

A. nian%4==0

B. nian%100!=0

C. nian%100==0

D. nian%400==0

15. 程序如下:

cpp 复制代码
int e[5] = {};
for (int i = 0; i < 5; i++) cin >> e[i];
int cnt = 0;
for (int i = 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++代码:

cpp 复制代码
if (shenGao > 150)
    cout << "全票";
else
    cout << "半价票";

现在输入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


各种学习资料,助力大家一站式学习和提升!!!

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;
}
相关推荐
学无止境_永不停歇4 小时前
从零手写高性能 C++ TCP 服务器框架(二):名词介绍
服务器·网络·c++·tcp/ip·中间件
Romantic_love_4 小时前
【构造函数】?【析构函数】?
c++
kyle~4 小时前
ROS2 --- RMW(ROS Middleware Interface)
linux·c++·机器人·ros2
墨雪不会编程4 小时前
C++ 进阶:虚函数与多态原理
java·jvm·c++
Brilliantwxx4 小时前
【C++】 手撕 AVLTree :从零实现自平衡二叉搜索树
开发语言·c++·笔记·算法
不吃土豆的马铃薯4 小时前
网络 IO 核心(同步/异步)概念笔记
服务器·c语言·开发语言·网络·c++·笔记
努力努力再努力wz4 小时前
【Redis入门系列】:从 hashtable到 listpack:深入理解 Hash 底层编码、字段级过期、核心命令与缓存应用
开发语言·数据结构·数据库·c++·redis·算法·缓存
Daydream.V5 小时前
C++ 入门全攻略:从基础语法到核心特性
java·开发语言·c++