2026年全国青少年信息素养大赛算法应用主题赛(星火征途C++复赛真题)

一、单选题
1.红军通信员正在编写一套敌情分析程序,他需要定义一个变量来专门记录"敌军所在的区域代号(仅使用单个大写字母,如'A''B' 'C'表示)"。以下定义最合适的是?
A.int position;
B.double position;
C.char position;
D.long long position;
5.炊事班要给战士们分发干粮,只要"粮袋里还有粮食(变量 food>0)",就一直分发。这种场景最适合使用?
A.continue 语句
B.while 循环
C.if 单分支
D.switch 语句
二、多选题
1.在敌后根据地,若情报等级 score 达到 90 分以上(含),或者带有"特急"标志(char flag='S'),则定义为"绝密情报"。以下判断逻辑正确的有?
A.score >= 90 || flag == 'S'
B.!(score < 90) || flag == 'S'
C.score > 89 && flag == 'S'
D.score > 90 || flag == 'S'
3.为了练习投掷技术,小战士每天进行 5 轮投掷。以下 for 循环能准确执行 5 次的有?
A.for(int i = 1; i <= 5; i++)
B.for (int i = 0; i < 5; i++)
C.for (int i = 5; i >= 1; i--)
D.for (int i = 0; i <= 5; i++)
三、编程题

