news 2026/7/14 0:27:43

小学生学C++编程 (分支结构精讲)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小学生学C++编程 (分支结构精讲)

一、📍C++ 的分支结构(if / else / switch)魔法课堂开讲了

🧙 第一章:什么是“分支结构”?

想象一下,你在玩一款冒险游戏:

👦 小勇士走到岔路口
👉 如果有钥匙 → 打开宝箱
👉 如果没钥匙 → 去找钥匙

这就是分支结构!

📌分支结构的作用

让程序“学会思考”,根据条件选择不同的路


🌱 第二章:单分支结构(只做一件事)

🎯 语法长这样:

if (条件) { 要做的事情; }

📌 意思是:

如果条件是真的,就做这件事


📖 故事 1:及格小助手

👦 小明考试考了score

int score = 85; if (score >= 60) { cout << "恭喜你,考试及格啦!" << endl; }

🧠 发生了什么?

  • 分数 ≥ 60 → 条件成立 → 打印一句话

  • 分数 < 60 → 什么也不做(程序很安静 😄)


🌿 第三章:双分支结构(要么这样,要么那样)

🎯 语法:

if (条件) { 事情A; } else { 事情B; }

📌 意思是:

如果条件成立 → 做 A
否则 → 做 B


📖 故事 2:下雨要不要带伞 ☔

bool isRain = true; if (isRain) { cout << "下雨了,记得带伞!" << endl; } else { cout << "天气晴朗,放心出门吧!" << endl; }

🧠 小朋友这样理解:

  • isRain == true→ 带伞

  • isRain == false→ 不带伞

👉一定会选一条路走


🌳 第四章:多分支结构(很多选择)

🎯 语法(最常见):

if (条件1) { ... } else if (条件2) { ... } else if (条件3) { ... } else { ... }

📌 意思是:

从上往下,一个一个试
第一个成功的,就执行!


📖 故事 3:成绩评语机 📊

int score = 92; if (score >= 90) { cout << "优秀!你是学霸!" << endl; } else if (score >= 75) { cout << "良好,继续加油!" << endl; } else if (score >= 60) { cout << "及格,不要放松哦!" << endl; } else { cout << "不及格,要努力啦!" << endl; }

🧠 程序的想法是:

1️⃣ 分数 ≥ 90?
2️⃣ 不行?那 ≥ 75?
3️⃣ 再不行?≥ 60?
4️⃣ 都不是?那就最后一个

📌只会执行一个分支


🔔 第五章:开关语句 switch(选菜单用)

有时候,我们不是比大小,而是选一个确定的值
比如:菜单、按钮、星期几……

🎯 语法:

switch (变量) { case 值1: 代码; break; case 值2: 代码; break; default: 代码; }

📌 重点小口诀:

  • case:情况

  • break:停下!

  • default:都不对时的“备用方案”


📖 故事 4:自动点餐机 🍔

int choice = 2; switch (choice) { case 1: cout << "你点了汉堡 🍔" << endl; break; case 2: cout << "你点了炸鸡 🍗" << endl; break; case 3: cout << "你点了可乐 🥤" << endl; break; default: cout << "没有这个选项哦!" << endl; }

🧠 解释:

  • choice == 2→ 输出炸鸡

  • break很重要!不然会“串台” 😅


🧠 第六章:if 和 switch 怎么选?

情况用谁更好
比大小(≥ ≤)if / else
多个区间if / else if
固定选项(1、2、3)switch
判断复杂条件if

🎒 第七章:小学生必记 5 句话口诀

🌟口诀时间🌟

1️⃣if是“如果”
2️⃣else是“否则”
3️⃣else if是“再试试”
4️⃣switch是“选菜单”
5️⃣break是“停下别跑了!”


🎉 小结

现在我们学会了:

✅ 单分支:只做一件事
✅ 双分支:二选一
✅ 多分支:多条路选一条
✅ switch:菜单式选择

📌 从现在起,你的程序已经会思考、会选择、会判断啦!


二、下面我们就直接进入「C++ 选择语句 · 魔法进阶挑战」

🧙‍♂️ 魔法题 1(⭐ 入门)

🧩 题目:魔法门是否打开?

📖 故事

小勇士走到一扇魔法门前,
只有当能量值 ≥ 100 时,魔法门才会打开。

📥 输入

一个整数power

📤 输出

  • 如果power >= 100,输出

魔法门打开!

✅ 参考代码

#include <iostream> using namespace std; int main() { int power; cin >> power; if (power >= 100) { cout << "魔法门打开!" << endl; } return 0; }

🧠 解析

  • 这是单分支 if

  • 条件成立才执行

  • 条件不成立,程序什么也不做

📌适合练习:条件判断


🧙‍♂️ 魔法题 2(⭐⭐)

🧩 题目:魔法宠物的心情

📖 故事

魔法宠物有一个心情值:

  • 心情 ≥ 50 → 开心 😊

  • 心情 < 50 → 生气 😠

📥 输入

一个整数mood

📤 输出

  • 开心

  • 生气


✅ 参考代码

#include <iostream> using namespace std; int main() { int mood; cin >> mood; if (mood >= 50) { cout << "开心" << endl; } else { cout << "生气" << endl; } return 0; }

🧠 解析

  • 这是双分支 if-else

  • 一定会执行其中一个分支

📌适合练习:二选一


🧙‍♂️ 魔法题 3(⭐⭐⭐)

🧩 题目:魔法学院等级评定

📖 故事

根据分数评定等级:

分数等级
≥ 90S
≥ 75A
≥ 60B
< 60C

📥 输入

一个整数score

📤 输出

一个字符:S / A / B / C


✅ 参考代码

#include <iostream> using namespace std; int main() { int score; cin >> score; if (score >= 90) { cout << "S" << endl; } else if (score >= 75) { cout << "A" << endl; } else if (score >= 60) { cout << "B" << endl; } else { cout << "C" << endl; } return 0; }

🧠 解析

  • 从上往下判断

  • 只会执行第一个满足条件的分支

  • 顺序不能乱(大条件在前)

📌适合练习:多分支


🧙‍♂️ 魔法题 4(⭐⭐⭐⭐)

🧩 题目:魔法星期判断器

📖 故事

魔法世界里:

数字星期
1魔法星期一
2魔法星期二
3魔法星期三
4魔法星期四
5魔法星期五
6魔法星期六
7魔法星期日

其他数字 →输入错误


📥 输入

一个整数day

📤 输出

对应的文字


✅ 参考代码

#include <iostream> using namespace std; int main() { int day; cin >> day; switch (day) { case 1: cout << "魔法星期一" << endl; break; case 2: cout << "魔法星期二" << endl; break; case 3: cout << "魔法星期三" << endl; break; case 4: cout << "魔法星期四" << endl; break; case 5: cout << "魔法星期五" << endl; break; case 6: cout << "魔法星期六" << endl; break; case 7: cout << "魔法星期日" << endl; break; default: cout << "输入错误" << endl; } return 0; }

🧠 解析

  • switch适合固定选项

  • break防止继续往下跑

  • default是“兜底方案”

📌适合练习:switch 用法


🧙‍♂️ 魔法题 5(⭐⭐⭐⭐⭐)

🧩 题目:魔法能量组合判断

📖 故事

输入两个魔法数ab

  • 如果ab都是正数 →双重光明

  • 如果只有一个是正数 →半光明

  • 如果都不是正数 →黑暗


📥 输入

两个整数a b

📤 输出

对应的文字


✅ 参考代码

#include <iostream> using namespace std; int main() { int a, b; cin >> a >> b; if (a > 0 && b > 0) { cout << "双重光明" << endl; } else if (a > 0 || b > 0) { cout << "半光明" << endl; } else { cout << "黑暗" << endl; } return 0; }

🧠 解析

  • 使用了逻辑运算符:

    • &&:并且

    • ||:或者

  • 条件逐级判断,不能写反顺序

📌适合练习:条件组合


🧙‍♂️ 魔法题 6(⭐⭐⭐⭐⭐⭐ 终极)

🧩 题目:魔法自动售货机

📖 故事

魔法售货机规则:

1️⃣ 输入金币数量money
2️⃣ 输入物品编号id

编号物品价格
1魔法水5
2魔法面包8
3魔法卷轴12

规则:

  • 如果编号不存在 →无此物品

  • 如果钱不够 →金币不足

  • 否则 →购买成功


📥 输入

两个整数money id

📤 输出

对应结果

#include <iostream> using namespace std; int main() { int money, id; cin >> money >> id; int price = 0; switch (id) { case 1: price = 5; break; case 2: price = 8; break; case 3: price = 12; break; default: cout << "无此物品" << endl; return 0; } if (money >= price) { cout << "购买成功" << endl; } else { cout << "金币不足" << endl; } return 0; }

🧠 解析(重点 ⭐)

  • switch 负责“选物品”

  • if 负责“判断钱够不够”

  • 提前return是一种“快速结束程序”的好办法

📌这是 if + switch 的综合题


🎓 题目回顾

题号能力
1单分支
2双分支
3多分支
4switch
5逻辑组合
6综合判断

三、如果你现在已经学习过循环程序,下面我们开启:

《C++ 分支 + 循环 · 联合作战训练营》🧙‍♂️⚔️

🧙‍♂️ 第 1 题(⭐)

🔮 魔法倒计时

📖 故事

魔法炸弹将在 10 秒后爆炸,请从n倒数到 1。

📥 输入

一个整数n

📤 输出

n1,每行一个数字。


✅ 参考代码

#include <iostream> using namespace std; int main() { int n; cin >> n; while (n >= 1) { cout << n << endl; n--; } return 0; }

🧠 解析

  • while负责重复

  • 没有分支,作为热身题

  • 为后面“循环 + if”做准备


🧙‍♂️ 第 2 题(⭐⭐)

🧩 魔法数字判断

📖 故事

输入n个数字,如果是偶数,就喊一声“闪光!”

📥 输入

一个整数n,接着输入n个整数

📤 输出

每遇到偶数,输出一行闪光


✅ 参考代码

#include <iostream> using namespace std; int main() { int n, x; cin >> n; for (int i = 1; i <= n; i++) { cin >> x; if (x % 2 == 0) { cout << "闪光" << endl; } } return 0; }

🧠 解析

  • for控制输入次数

  • if判断偶数

  • 循环中嵌套分支


🧙‍♂️ 第 3 题(⭐⭐⭐)

🪄 魔法成绩统计

📖 故事

输入若干成绩,统计及格人数(≥60)

📥 输入

一个整数n,接着n个成绩

📤 输出

及格的人数


✅ 参考代码

#include <iostream> using namespace std; int main() { int n, score; cin >> n; int pass = 0; for (int i = 0; i < n; i++) { cin >> score; if (score >= 60) { pass++; } } cout << pass << endl; return 0; }

🧠 解析

  • pass计数器

  • if决定是否 +1

  • 非常重要的基础模型 ⭐


🧙‍♂️ 第 4 题(⭐⭐⭐)

🧙 魔法咒语次数统计

📖 故事

小法师每天练习咒语,
如果输入的是1,表示成功一次。

输入n天,统计成功次数。


✅ 参考代码

#include <iostream> using namespace std; int main() { int n, x; cin >> n; int success = 0; for (int i = 0; i < n; i++) { cin >> x; if (x == 1) { success++; } } cout << success << endl; return 0; }

🧠 解析

  • if (x == 1)条件筛选

  • 典型的“循环 + 判断 + 累加”


🧙‍♂️ 第 5 题(⭐⭐⭐⭐)

🐉 魔法怪兽血量

📖 故事

怪兽血量为hp
每一回合如果血量 > 0,就被攻击 -10。

请输出攻击了多少次。


✅ 参考代码

#include <iostream> using namespace std; int main() { int hp; cin >> hp; int times = 0; while (hp > 0) { hp -= 10; times++; } cout << times << endl; return 0; }

🧠 解析

  • while条件本身就是一个分支

  • 条件控制循环是否继续


🧙‍♂️ 第 6 题(⭐⭐⭐⭐)

🧊 冰冻魔法筛选

📖 故事

输入n个温度,
如果温度 < 0,就被冻结,输出冰冻


✅ 参考代码

#include <iostream> using namespace std; int main() { int n, t; cin >> n; for (int i = 0; i < n; i++) { cin >> t; if (t < 0) { cout << "冰冻" << endl; } } return 0; }

🧠 解析

  • 循环不断读数据

  • if用来筛选特殊情况


🧙‍♂️ 第 7 题(⭐⭐⭐⭐⭐)

🧮 魔法数分类统计

📖 故事

输入n个整数,统计:

  • 正数个数

  • 负数个数

  • 零的个数


✅ 参考代码

#include <iostream> using namespace std; int main() { int n, x; cin >> n; int pos = 0, neg = 0, zero = 0; for (int i = 0; i < n; i++) { cin >> x; if (x > 0) pos++; else if (x < 0) neg++; else zero++; } cout << pos << " " << neg << " " << zero << endl; return 0; }

🧠 解析

  • 一个循环,多个分支

  • else if非常重要

  • 分类思想 ⭐⭐⭐


🧙‍♂️ 第 8 题(⭐⭐⭐⭐⭐)

🧪 魔法耐力测试

📖 故事

连续输入数字,
一旦输入 0,立刻停止,并统计输入了多少个正数。


✅ 参考代码

#include <iostream> using namespace std; int main() { int x; int count = 0; while (true) { cin >> x; if (x == 0) break; if (x > 0) count++; } cout << count << endl; return 0; }

🧠 解析

  • while(true)+break

  • break是“紧急出口”

  • 两个if各司其职


🧙‍♂️ 第 9 题(⭐⭐⭐⭐⭐⭐)

🏪 魔法商店营业日

📖 故事

输入 7 天的营业额,
只统计营业额 ≥ 100 的天数


✅ 参考代码

#include <iostream> using namespace std; int main() { int money; int goodDays = 0; for (int i = 1; i <= 7; i++) { cin >> money; if (money >= 100) { goodDays++; } } cout << goodDays << endl; return 0; }

🧠 解析

  • 固定次数循环

  • 分支判断“是否达标”


🧙‍♂️ 第 10 题(⭐⭐⭐⭐⭐⭐⭐ 终极)

🏰 魔法城门守卫系统

📖 故事

连续输入士兵编号:

  • 编号是偶数→ 放行

  • 编号是奇数→ 拦下

  • 输入-1→ 系统关闭

输出放行人数。


✅ 参考代码

#include <iostream> using namespace std; int main() { int x; int pass = 0; while (true) { cin >> x; if (x == -1) break; if (x % 2 == 0) { pass++; } } cout << pass << endl; return 0; }

🧠 解析(重点 ⭐⭐⭐)

  • while控制无限输入

  • if判断结束条件

  • if判断业务规则

  • 真实系统模型


🎓 题目回顾

题号能力
1–2循环基础
3–4循环 + 计数
5–6条件控制
7分类统计
8break
9实战统计
10综合系统
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 8:27:57

小学生学C++编程 (一维数组精讲)

一、&#x1f9d9;‍♂️&#x1f4e6;《C 数组魔法王国》 开讲了&#xff01;&#x1f9d9;‍♂️ 第一章&#xff1a;数组是什么&#xff1f;&#xff08;超级重要&#xff01;&#xff09;&#x1f4d6; 故事&#xff1a;魔法储物柜 &#x1f9f3;想象一下&#xff1a;魔法学…

作者头像 李华
网站建设 2026/7/11 19:21:26

研发绩效评估的关键指标

研发&#xff08;R&D&#xff09;绩效评估是企业管理中的一个复杂难题&#xff0c;它试图量化一个本质上充满创造性、探索性和不确定性的过程。要准确评估研发绩效&#xff0c;关键指标应超越传统的“代码行数”或“工时”&#xff0c;转向一个多维度的框架&#xff0c;核心…

作者头像 李华
网站建设 2026/7/12 15:21:55

[CISCN2019 华北赛区 Day1 Web2]ikun

第一次做pickle反序列化 1.打开题目是这个页面 信息收集一下 目录扫描无可用信息、翻看源码&#xff0c;发现提示 感觉这个lv6就是提示&#xff0c;因为首页面下方对应的就是等级 寻找一下lv6 这里发现他的页数是可控的 然后lv等级数也是有规则的 那么只需要写个脚本&#x…

作者头像 李华
网站建设 2026/7/14 6:17:02

LobeChat投诉处理建议生成引擎

LobeChat 投诉处理建议生成引擎&#xff1a;从架构到落地的全链路实践 在客户服务领域&#xff0c;每一次客户投诉都是一次信任危机&#xff0c;也是一次改进机会。但现实是&#xff0c;许多企业仍依赖人工客服逐条阅读、理解并回应投诉内容——这种方式不仅响应慢&#xff0c;…

作者头像 李华
网站建设 2026/7/13 14:19:49

杨建允:AI搜索优化赋能全链路营销的全流程

AI搜索优化的全链路营销正在深刻重塑企业获取用户和提升转化的策略&#xff0c;其影响贯穿用户触达、互动、转化和留存的各个环节。 用户认知与行为变革&#xff1a; AI搜索的普及正改变用户获取信息的习惯&#xff0c;从主动“搜索”转向被动“问答”。用户通过自然语言向AI提…

作者头像 李华
网站建设 2026/7/14 1:09:43

AI原生应用中的长尾用户意图理解解决方案

AI原生应用中的长尾用户意图理解解决方案 关键词&#xff1a;AI原生应用、长尾用户意图、意图理解、小样本学习、多模态融合、持续学习、自然语言处理 摘要&#xff1a;在AI原生应用&#xff08;如智能助手、个性化推荐系统&#xff09;中&#xff0c;用户不再满足于“标准化对…

作者头像 李华