考试时间:60 分钟 满分:100 分
适用:小学组|算法应用主题赛
版本:2026 初赛(丝路新程)
内容:试题 + 答案 + 详细解析
用途:备考刷题、复习巩固、赛前训练
一、单项选择题(每题 5 分,共 15 题,75 分)
第 1 题
【丝路新程】唐代丝绸之路上,骆驼是沿途商队的重要交通工具,已知一头成年单峰骆驼的最大载重为 200 公斤,运行下列代码,输入货物重量 n 为 188,输出结果是什么?()
1 2 3 4 5 6 7 8 9 10 11 12 #include<iostream>using namespace std;int main() { int n; cin >> n; if (n <= 200) { cout << "剩余载重" << 200 - n; } else { cout << "超重" << n - 200; } return 0;}
A. 剩余载重 188
B. 超重 12
C. 剩余载重 12
D. 超重 188
✅ 正确答案:C
解析:188 ≤ 200,剩余载重 = 200 - 188 = 12。
第 2 题
【驿站计数】商队途经 3 个驿站,管事用循环统计驿站总数,以下代码执行后输出结果是?()
1 2 3 4 5 6 7 8 9 10 #include<iostream>using namespace std;int main() { int cnt = 0; for (int i = 0; i < 3; i++) { cnt++; } cout << cnt; return 0;}
A. 0
B. 2
C. 3
D. 4
✅ 正确答案:C
解析:循环执行 3 次,cnt 从 0 增加到 3。
第 3 题
【物资分配】管事要将整数类型的货物重量赋值给变量,以下哪种写法正确?()
A. int weight = "150";
B. int weight = 150;
C. int weight = 150.5;
D. int weight = '150';
✅ 正确答案:B
解析:整型变量只能赋值整数,不能赋值字符串、小数、字符。
第 4 题
【沙漠里程】商队每天行进 50 公里,计算 3 天的总里程,以下代码执行后输出结果是?()
1 2 3 4 5 6 7 8 #include<iostream>using namespace std;int main() { int day = 3; int km = 50; cout << day * km; return 0;}
A. 53
B. 100
C. 150
D. 200
✅ 正确答案:C
解析:总里程 = 3 × 50 = 150。
第 5 题
【驿站排序】管事要比较两个驿站的距离,以下代码执行后输出结果是?()
1 2 3 4 5 6 7 8 9 10 11 #include<iostream>using namespace std;int main() { int a = 200, b = 400; if (a > b) { cout << "a更远"; } else { cout << "b更远"; } return 0;}
A. a 更远
B. b 更远
C. 无输出
D. 编译错误
✅ 正确答案:B
解析:200 < 400,输出 b 更远。
第 6 题
【物资备份】管事要定义一个数组存储 5 件物资名称,以下写法正确的是?()
A. string goods [5];
B. string goods (5);
C. string goods = [5];
D. string goods {5};
✅ 正确答案:A
解析:字符串数组定义格式:类型 数组名 [长度];。
第 7 题
【载重预警】骆驼载重超过 200 公斤时输出警告,以下代码输入 220 后输出结果是?()
1 2 3 4 5 6 7 8 9 10 11 12 #include<iostream>using namespace std;int main() { int n; cin >> n; if (n > 200) { cout << "警告:超重"; } else { cout << "正常"; } return 0;}
A. 警告:超重
B. 正常
C. 无输出
D. 编译错误
✅ 正确答案:A
解析:220 > 200,输出 警告:超重。
第 8 题
【商队编号】管事要给 10 头骆驼编号,以下循环执行次数是?()
1 2 3 for (int i = 1; i <= 10; i++) { cout << i;}
A. 9
B. 10
C. 11
D. 12
✅ 正确答案:B
解析:i 从 1 到 10,共执行 10 次。
第 9 题
【里程计算】管事用浮点数记录每日行进里程,以下代码执行后输出结果是?()
1 2 3 4 5 6 7 #include<iostream>using namespace std;int main() { double km = 55.5; cout << km; return 0;}
A. 55
B. 55.5
C. 56
D. 55.0
✅ 正确答案:B
解析:double 类型直接输出原值 55.5。
第 10 题
【物资替换】管事要将数组中第 2 件物资替换为「丝绸」,以下写法正确的是?()
1 string goods[] = {"水囊", "干粮", "茶叶"};
A. goods [2] = "丝绸";
B. goods [1] = "丝绸";
C. goods [0] = "丝绸";
D. goods [3] = "丝绸";
✅ 正确答案:B
解析:数组下标从 0 开始,第 2 件对应下标 1。
第 11 题
【驿站距离】管事要计算两个驿站的距离差,以下代码执行后输出结果是?()
1 2 3 4 5 6 7 #include<iostream>using namespace std;int main() { int a = 400, b = 200; cout << a - b; return 0;}
A. 200
B. 400
C. 600
D. 800
✅ 正确答案:A
解析:400 - 200 = 200。
第 12 题
【物资统计】管事要统计物资数量,以下代码执行后输出结果是?()
1 2 3 4 5 6 7 #include<iostream>using namespace std;int main() { string goods[] = {"水囊", "干粮", "茶叶", "药品"}; cout << sizeof(goods)/sizeof(goods[0]); return 0;}
A. 3
B. 4
C. 5
D. 6
✅ 正确答案:B
解析:数组共 4 个元素,长度为 4。
第 13 题
【天气判断】管事根据温度判断是否适合出行,以下代码输入 15 后输出结果是?()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include<iostream>using namespace std;int main() { int temp; cin >> temp; if (temp > 20) { cout << "适合出行"; } else if (temp > 10) { cout << "尚可出行"; } else { cout << "不宜出行"; } return 0;}
A. 适合出行
B. 尚可出行
C. 不宜出行
D. 无输出
✅ 正确答案:B
解析:15 > 10 且 ≤ 20,输出 尚可出行。
第 14 题
【函数封装】管事封装计算剩余载重的函数,以下代码执行后输出结果是?()
1 2 3 4 5 6 7 8 9 #include<iostream>using namespace std;int leftLoad(int max, int now) { return max - now;}int main() { cout << leftLoad(200, 180); return 0;}
A. 20
B. 180
C. 200
D. 380
✅ 正确答案:A
解析:剩余载重 = 200 - 180 = 20。
第 15 题
【异常处理】管事尝试访问数组越界元素,以下代码执行后会发生什么?()
1 2 3 4 5 6 7 #include<iostream>using namespace std;int main() { int arr[3] = {1,2,3}; cout << arr[3]; return 0;}
A. 输出 3
B. 输出随机值
C. 编译报错
D. 程序崩溃
✅ 正确答案:B
解析:数组下标 0~2,arr [3] 越界,输出 随机值。
二、判断题(对打√,错打 ×,每题 5 分,共 5 题,25 分)
第 1 题
在 C++ 中,using namespace std; 可以让代码直接使用标准库中的对象和函数。()
✅ 正确答案:√
解析:该语句用于省略 std::,直接使用 cout/cin/string 等。
第 2 题
for (int i = 0; i < 5; i++) 循环会执行 5 次。()
✅ 正确答案:√
解析:i 取 0、1、2、3、4,共 5 次。
第 3 题
C++ 中数组的下标从 1 开始。()
✅ 正确答案:×
解析:数组下标 从 0 开始。
第 4 题
if-else 语句中,else 必须与最近的未匹配的 if 配对。()
✅ 正确答案:√
解析:else 就近匹配未配对的 if。
第 5 题
cout 用于向控制台输出数据,cin 用于从控制台读取数据。()
✅ 正确答案:√
解析:cout 输出,cin 输入。
加入工作室
学习编程知识
锻炼逻辑思维
让自己变得更优秀
欢迎同学们组队
学习 C++
感受不一样的程序人生
成为新时代的领军人物
扫码关注
感谢您关注
信奥科创工作室
官方微信

互动支持
期待您的分享 点赞 在看