2026年全国青少年信息素养大赛算法应用主题赛(C++赛项-初赛-赛前冲刺模拟卷1:文末附答案和解析)
第一部分:选择题(每题只有一个正确答案)
1.丝路商队要记录携带的丝绸数量,丝绸数量为整数且不会超过 2000 匹。在 C++ 中,下列哪个数据类型最适合定义丝路商队携带的丝绸总匹数?
A.float
B.int
C.char
D.double
2.阅读以下代码,程序输出结果是什么?
chara='A';intb=(int)a;cout<<b<<endl;A.A
B.65
C.97
D.0
3.丝路商队在大漠中行进,已知正午地面温度p与夜间地面温度q。若温差大于等于 20 摄氏度,骆驼需要加厚脚垫保护。下列哪个分支结构能正确描述上述温差判断逻辑?
A.if (p - q <= 20)
B.if (p + q >= 20)
C.if (p - q >= 20)
D.if (p > 20 && q < 20)
4.丝路商队从长安出发向西域前行,假设每天行进的里数记录在变量day中。下列代码段中,哪个选项可以实现“只要还没有到达目的地(day<20),就继续前进”?
A.
intday=0;while(day>=20){day=day+1;cout<<"前进中"<<endl;}B.
intday=0;while(day<20){day=day+1;cout<<"前进中"<<endl;}C.
intday=0;do{day=day+1;cout<<"前进中"<<endl;}while(day>20);D.
intday=20;while(day<20){day=day-1;cout<<"前进中"<<endl;}5.以下代码使用了 C++ 中的switch语句,用来表示古丝绸之路上的几个贸易站:
intstation=2;switch(station){case1:cout<<"玉门关 ";case2:cout<<"阳关 ";case3:cout<<"葱岭 ";default:cout<<"撒马尔罕";}程序输出结果为以下哪个?
A.阳关 撒马尔罕
B.阳关 葱岭 撒马尔罕
C.玉门关 阳关 葱岭 撒马尔罕
D.撒马尔罕
6.下列哪个 C++ 表达式可以正确计算28 除以 5 的整数商?
A.28 / 5
B.28 % 5
C.28 // 5
D.28 \ 5
7.驼队从长安出发,携带的物资包数n由键盘输入。阅读下面的代码段,当输入为8时,输出结果是什么?
intn;cin>>n;if(n=8)cout<<"需加派骆驼"<<endl;elsecout<<"正常出行"<<endl;A.需加派骆驼
B.正常出行
C. 程序编译错误
D. 输出不确定
8.下列哪个 C++ 选项能正确实现“遍历j从 5 到 10(包含 10)的循环体执行”?
A.for (int j = 5; j <= 10; j++)
B.for (int j = 5; j < 10; j++)
C.while (j <= 10) { j++; }
D.for (int j = 5; j == 10; j++)
9.丝路邮件系统用字符串数组string mails[3] = {"敦煌","楼兰","于阗"};存储三个收件城市的名称,其中下标为[1]的字符串是以下哪个?
A.敦煌
B.楼兰
C.于阗
D. 编译错误
10.假设int a[5] = {10, 20, 30, 40, 50};在 C++ 中,以下哪个下标访问是非法(即超出数组有效范围)的?
A.a[0]
B.a[4]
C.a[5]
D.a[2]
11.阅读以下计算骆驼饲料总量的程序:
inttotal=0;for(inti=1;i<=5;i++){if(i%2==0)continue;total+=i;}cout<<total<<endl;程序执行后,最终输出的total值为多少?
A.6
B.9
C.15
D.12
12.骆驼商队在中途驿站搬运货物,货物的初始数量为goods = 100。每到达一个驿站,货物数量会减少20。补全以下while循环代码,使程序能模拟直到货物数量不大于 40时停止运输的逻辑。
intgoods=100;while(__________){goods-=20;cout<<"当前剩余货物数量:"<<goods<<endl;}A.goods > 0
B.goods > 40
C.goods < 40
D.goods == 0
13.阅读以下求重量总和的代码:
intweights[4]={12,15,20,18};intsum=0;inti=0;while(i<4){sum=sum+weights[i];i++;}数组最后一个元素即weights[3]的值是多少?整个代码的功能是怎样的?
A.sum最后的结果是 45
B.weights[3]= 20,代码求出数组前三个元素之和
C.weights[3]= 18,代码求出数组全部元素之和
D.weights[4]= 18,代码无法编译
14.丝路商队中的队长想要统计 7 天行程中每天前进的里数,他用int step[7]存放每天的数据,下列哪条语句能给数组的第二个元素(该元素下标为 1)赋值 35 里?
A.step[35] = 1;
B.step[1] = 35;
C.step[0] = 35;
D.step = 35;
15.算盘的算珠使用 C++ 中的break控制for循环行为的示意代码如下:
for(intk=0;k<10;k++){if(k==5){break;}cout<<k<<" ";}上述代码的运行结果是以下哪一项?
A.1 2 3 4 5
B.0 1 2 3 4 5
C.0 1 2 3 4
D.5 6 7 8 9
第二部分:判断题(判断下列描述的正误,正确的选“✔”,错误的选“✘”)
16.在 C++ 中,逻辑运算符&&表示“或(OR)”,“||” 表示“与(AND)”。
17.int arr[5];表示定义了一个可以存储五个整型元素的数组,分别用arr[0]、arr[1]、arr[2]、arr[3]、arr[4]表示。
18.执行int a = 5 / 2;后,变量a的值是 2.5(浮点数类型)。
19.在 C++ 语言中,数组的下标必须从 1 开始,数组元素的下标最大值就是数组定义的容量大小。
20.在if语句中,小括号内if (x = 5)表示判断x与 5 是否相等,而不是将 5 赋值给x后再用于逻辑判断。
答案及解析
选择题答案
- B
- B
- C
- B
- B
- A
- A
- A
- B
- C
- B
- B
- C
- B
- C
判断题答案
- ✘
- ✔
- ✘
- ✘
- ✘
详细解析
1.整数且不超过 2000,int足够,float/double多余,char太小。
2.'A'ASCII 码 65,强制转int得 65。
3.温差p-q >= 20,对应if (p - q >= 20)。
4.条件day<20时继续,B 正确。
5.station=2,case 2 匹配后无 break,穿透执行后续,输出阳关 葱岭 撒马尔罕。
6.整数除法28/5得商 5,%是取余。
7.if (n = 8)是赋值,结果为 8(真),输出“需加派骆驼”。
8.for (int j=5; j<=10; j++)包含 10。
9.字符串数组(下标1)是"楼兰"。
10.有效下标 0~4,a[5]越界。
11.累加奇数 1,3,5 → 9,偶数被continue跳过。
12.要求“直到货物数量 ≤ 40 停止”,即goods > 40时继续循环。初始 100 > 40 进入,减为 80(输出),再减为 60(输出),再减为 40 后条件40>40为假,循环退出。最终剩余 40,符合“不大于 40”。
- 若选 A (
>0) 会减到 0 才停,多余一次。 - C (
<40) 初始假,不执行。 - D (
==0) 初始假,不执行。
因此 B 正确。
13.weights[3]=18,循环累加全部 4 个元素得 65,C 正确。
14.第二个元素下标 1,赋值step[1]=35。
15.k=0到 4 输出,k=5时break退出,输出0 1 2 3 4。
16.错误。&&是与(AND),||是或(OR)。
17.正确。数组下标 0~4。
18.错误。整数除法得 2,不是 2.5,且类型int。
19.错误。下标从 0 开始,最大下标为容量-1。
20.错误。if (x = 5)是赋值,不是相等判断;相等应使用==。
关注老师的专栏,查看完整版全国青少年信息素养大赛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;}