news 2026/5/19 7:43:35

2026年全国青少年信息素养大赛算法应用主题赛(C++赛项-初赛-赛前冲刺模拟卷2文末附答案和解析)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2026年全国青少年信息素养大赛算法应用主题赛(C++赛项-初赛-赛前冲刺模拟卷2文末附答案和解析)

2026年全国青少年信息素养大赛算法应用主题赛(C++赛项-初赛-赛前冲刺模拟卷2文末附答案和解析)

第一部分:选择题(每题只有一个正确答案)

1.下列程序输出什么?

inta=10,b=20;if(a=b)cout<<a;elsecout<<b;

A. 10 B. 20 C. 编译错误 D. 0

2.在 C++ 中,下列哪个表达式计算结果的数据类型与其他三项不同?

A.5 / 2
B.5.0 / 2
C.(double)5 / 2
D.5 / 2.0

3.阅读下列程序,当输入为8 3时,输出结果是什么?

inta,b;cin>>a>>b;if(a%b==0||b%a==0)cout<<"Y";elsecout<<"N";cout<<(a>b?a:b)%(a<b?a:b);

A.Y1B.Y2C.N1D.N2

4.驼队从长安出发,每日行进路程存储于数组dist[7],现需计算所有奇数日(第 1,3,5,7 天,对应下标 0,2,4,6)的总里程。以下代码中正确的是?

A.

intsum=0;for(inti=0;i<7;i++)if(i%2==1)sum+=dist[i];

B.

intsum=0;for(inti=0;i<7;i+=2)sum+=dist[i];

C.

intsum=0;for(inti=1;i<7;i++)sum+=dist[i];

D.

intsum=0;for(inti=1;i<=7;i+=2)sum+=dist[i];

5.丝路商队中的算筹计数器:下列代码运行后输出的结果是什么?

ints=0;for(intx=1;x<=5;x++)for(inty=x;y<=5;y++)s+=x*y;cout<<s;

A. 85 B. 100 C. 115 D. 140

6.int n = 2026;下列哪个代码片段可以输出n的十进制各位数之和(即 2+0+2+6=10)?

A.

intsum=0;while(n>0){sum+=n%10;n/=10;}cout<<sum;

B.

intsum=0;while(n!=0){sum+=n/10;n%=10;}cout<<sum;

C.

intsum=0;for(inti=n;i>0;i/=10)sum+=i%10;cout<<sum;

D. A 和 C 都正确

7.以下关于breakcontinue的描述,哪个选项的代码会导致无限循环

A.

for(inti=0;i<10;i++){if(i==5)continue;cout<<i;}

B.

inti=0;while(i<10){if(i==5)break;cout<<i;i++;}

C.

inti=0;while(i<10){if(i==5)continue;cout<<i;i++;}

D.

inti=0;do{if(i==5){i++;continue;}cout<<i;i++;}while(i<10);

8.古丝绸之路上有座“年月城”,其纪年规则:年份 y 如果能被 4 整除但不能被 100 整除,或者能被 400 整除,则为闰年。下列哪个表达式能正确判断闰年(是闰年则输出 “leap”,否则输出 “common”)?

A.if (y % 400 == 0 || y % 4 == 0 && y % 100 != 0)
B.if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0))
C.if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
D. 以上全部等价

9.以下程序段执行后,输出结果是什么?

inta[5]={2,4,6,8,10};int*p=a+2;cout<<*p<<" "<<*(p+1)<<endl;

A.6 8B.4 6C.6 10D.4 8

10.以下代码尝试计算1! + 2! + 3! + ... + n!,但存在错误。找出错误之处:

intn,factorial=1,sum=0;cin>>n;for(inti=1;i<=n;i++){for(intj=1;j<=i;j++)factorial*=j;sum+=factorial;}cout<<sum;

A. 变量factorial没有在每次外层循环前重置
B. 内层循环的结束条件错误
C. 累加器sum类型应为float
D. 没有错误

11.现有字符串char s[20] = "SilkRoad2026";执行cout << strlen(s) << " " << sizeof(s);输出结果是什么?(5分)

A.12 20B.13 20C.12 12D.13 13

12.驼队有 3 个仓库,每个仓库有 5 个货架,每个货架存放货物重量为整数。现用三维数组int w[3][5][10];存储,w[a][b][c]表示第 a 仓库第 b 货架第 c 个位置(每个货架最多 10 个位置)。以下哪个循环能正确遍历第一个仓库所有货架的所有位置的货物重量?

A.

for(inti=0;i<3;i++)for(intj=0;j<5;j++)for(intk=0;k<10;k++)cout<<w[i][j][k];

B.

for(intj=0;j<5;j++)for(intk=0;k<10;k++)cout<<w[0][j][k];

C.

for(inti=0;i<5;i++)for(intj=0;j<10;j++)cout<<w[0][i][j];

D. B 和 C 都正确

13.阅读以下数组交换算法,问执行后数组arr的元素顺序是?

intarr[6]={1,2,3,4,5,6};for(inti=0;i<3;i++){intt=arr[i];arr[i]=arr[5-i];arr[5-i]=t;}

A.{1,2,3,4,5,6}
B.{6,5,4,3,2,1}
C.{6,5,4,3,2,1}但顺序不同
D.{6,5,4,3,2,1}实际没有变化

14.下列代码片段中,变量cnt最终的值是多少?

intcnt=0;for(inti=1;i<=9;i++)for(intj=1;j<=9;j++)if(i*j==36)cnt++;

A. 2 B. 3 C. 4 D. 5

15.丝路商队的密码规则:将整数x转换为二进制后,输出其中1的个数。下列代码中,正确实现该功能的是?

A.

intcount=0;while(x){count+=x&1;x>>=1;}cout<<count;

B.

intcount=0;while(x){if(x%2==1)count++;x/=2;}cout<<count;

C.

intcount=0;for(inti=0;i<32;i++)if((x>>i)&1)count++;cout<<count;

D. 以上全部正确


第二部分:判断题(正确选“✔”,错误选“✘”)

16.在 C++ 中,int a[10];定义后,a[10]是合法的,表示第 11 个元素,但值不确定。

17.表达式!(a > b && c == d)等价于!(a > b) || !(c == d)

18.执行char s[20] = "hello";后,strlen(s)的值为 5,sizeof(s)的值为 20。

19.以下代码段可以正确输出 2024 年的 2 月份天数:

intyear=2024;if(year%4==0&&year%100!=0||year%400==0)cout<<29;elsecout<<28;

20.对于int x = 5;表达式(x > 3) ? (x = 10) : (x = 0);执行后 x 的值变为 10。


参考答案与解析

选择题答案
  1. B
  2. A
  3. D
  4. B
  5. D
  6. D
  7. C
  8. D
  9. A
  10. A
  11. A
  12. D
  13. B
  14. B
  15. D
判断题答案

详细解析

1.a = b将 b 的值 20 赋给 a,赋值表达式的值为 20(非零),条件为真,执行cout << a,输出 20。

2.A 为整数除法,结果类型int;B、C、D 结果均为double

3.8 % 3 = 2 ≠ 0,3 % 8 = 3 ≠ 0,条件为假,输出 ‘N’。(a > b ? a : b)得 8,(a < b ? a : b)得 3,8 % 3 = 2,输出 “N2”。

4.奇数日对应下标 0,2,4,6,步长为 2,B 正确。D 中i=1到 7 取下标 1,3,5 是偶数日,且 i=7 越界。

5.双重循环计算上三角(含对角线)乘积和:
x=1: 1×1+1×2+1×3+1×4+1×5 = 15
x=2: 2×2+2×3+2×4+2×5 = 4+6+8+10=28
x=3: 9+12+15=36
x=4: 16+20=36
x=5: 25
总和 15+28=43,+36=79,+36=115,+25=140。选 D。

6.A 和 C 均可正确求和,B 中n/10n%=10逻辑错误,会陷入死循环。选 D。

7.C 中 i=5 时continue跳过i++,i 永远为 5,循环无法终止。其他选项均可正常结束。

8.由于&&优先级高于||,三个表达式都等价于(y%400==0) || (y%4==0 && y%100!=0),都可以正确判断闰年。选 D。

9.指针p = a+2指向a[2](值为 6),*(p+1)指向a[3](值为 8)。输出6 8

10.factorial在内层循环中不断累乘,没有在外层循环开始时重置为 1,导致后续阶乘计算错误。应在外层循环开始时将factorial重置为 1。选 A。

11.strlen(s)计算字符串长度(不含 ‘\0’),“SilkRoad2026” 共 12 个字符;sizeof(s)为数组大小 20。选 A。

12.第一个仓库索引为 0,遍历所有货架(04)和每个货架的所有位置(09)。B 与 C 写法等价(C 中 i 表示货架,j 表示位置),均正确。选 D。

13.循环交换arr[i]arr[5-i],i=0 交换 arr[0] 与 arr[5];i=1 交换 arr[1] 与 arr[4];i=2 交换 arr[2] 与 arr[3]。最终数组完全逆序{6,5,4,3,2,1}。选 B。

14.在 1~9 范围内,满足 i×j=36 的有 (4,9)、(6,6)、(9,4),共 3 对。选 B。

15.A 通过位与和右移,B 通过取模和整除,C 通过逐位测试,三种方法均能正确统计二进制中 1 的个数。选 D。

16.错误。数组下标范围是 0 ~ 9,a[10]越界,访问非法。

17.正确。根据德摩根定律,!(A && B)等价于!A || !B

18.正确。strlen计算有效字符个数(不含 ‘\0’),sizeof计算数组总字节数。

19.正确。表达式正确判断闰年,输出 29。

20.正确。条件x>3为真,执行x=10,最终 x 为 10。


关注老师的专栏,查看完整版全国青少年信息素养大赛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 点击跳转

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;}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/19 7:43:16

基于RP2350与CircuitPython的贪吃蛇游戏机:从硬件连接到游戏逻辑全解析

1. 项目概述与硬件选型思路最近在折腾一块Adafruit的Metro RP2350开发板&#xff0c;想着怎么把它玩出点花样。手头正好有个DVI转接板和USB键盘&#xff0c;一个念头就冒出来了&#xff1a;能不能用它做个独立运行的小游戏机&#xff1f;贪吃蛇这个经典游戏逻辑清晰&#xff0c…

作者头像 李华
网站建设 2026/5/19 7:27:04

FPGA异构架构实战:从智能感知到运动控制的竞赛项目全解析

1. 项目概述&#xff1a;一场硬核竞赛的深度复盘最近和几个朋友聊起学生时代的竞赛经历&#xff0c;大家都不约而同地提到了那种“从零到一”的煎熬与突破后的酣畅。恰好&#xff0c;我深入复盘了2025年“嵌赛紫光同创杯”中一支优秀队伍的完整攻坚历程。这不仅仅是一篇获奖作品…

作者头像 李华
网站建设 2026/5/19 7:25:28

Keil MDK csolution项目调试问题解决方案

1. 问题背景与现象解析在嵌入式开发领域&#xff0c;Keil MDK&#xff08;Microcontroller Development Kit&#xff09;是ARM架构单片机开发的黄金标准工具链。其集成开发环境uVision提供了强大的调试功能&#xff0c;但最近在csolution架构项目中遇到了一个典型问题&#xff…

作者头像 李华