第3天:C++控制语句 - 条件与循环
一、今日学习目标
- 🎯 掌握条件判断语句(if-else/switch-case)
- 🔄 理解循环结构(while/for)
- 🧩 完成猜数字游戏实战
- 🛠️ 学会嵌套循环与条件组合
二、核心知识点详解
1. 条件判断分支
if-else结构
if (条件表达式) {
// 执行语句块
} else {
// 条件不成立时执行
}
switch-case结构
switch (变量) {
case 常量表达式:
// 执行语句
break;
// 可以省略default分支
}
2. 循环结构
while循环
while (条件表达式) {
// 循环体
}
for循环
for (初始化; 条件; 更新) {
// 循环体
}
三、实战演练:猜数字游戏
1. 游戏规则
🔍 程序随机生成1-100之间的数字
👤 用户输入猜测值
💡 提示"太大/太小"直到猜中为止
🎉 显示猜测次数
2. 实现步骤
#include <iostream>
#include <cstdlib> // 用于rand()
#include <ctime> // 用于srand()
using namespace std;
int main() {
srand(time(0)); // 初始化随机数种子
int target = rand() % 100 + 1;
int guess = 0;
int attempts = 0;
cout << "🎲 猜数字游戏(1-100)" << endl;
while (guess != target) {
cout << "请输入你的猜测:" << endl;
cin >> guess;
attempts++;
if (guess < target) {
cout << "太小了!" << endl;
} else if (guess > target) {
cout << "太大了!" << endl;
}
}
cout << "🎉 猜对了!数字是" << target << endl;
cout << "用了" << attempts << "次尝试!" << endl;
return 0;
}
四、进阶技巧
1. 循环控制语句
break; // 跳出当前循环
continue; // 跳过本次循环,继续下一次
2. 无限循环设计
while (true) {
// 需要配合break使用
}
3. 嵌套循环示例(打印九九乘法表)
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
cout<< j << "*"<< i << "=" << i*j << "\t";
}
cout << endl;
}
五、常见问题解答
❓ **Q:switch-case能否处理浮点数比较?**
→ 不可以!只能比较整型和枚举类型
❓ Q:for循环的三个表达式可以省略吗?
→ 可以,但需注意:
int i = 0;
while (++i < 10); // 此时循环条件和更新合并
六、今日总结
✅ 掌握要点:
- 🌈 条件判断的两种实现方式
- 🔄 三种循环结构的用法
- 💡 随机数生成与游戏设计思路
- 🛠️ 嵌套循环的实际应用场景
⏳ 明日预告:
- 函数的定义与调用(参数传递/返回值)
七、课后挑战任务
- 🌟 改进猜数字游戏:
- 添加次数限制(最多5次)
- 给出范围提示(如"数字在50-100之间")
- 🔍 尝试用for循环输出:
- 斐波那契数列前20项
- 倒三角形图案
- 📝 总结控制语句的注意事项(如循环变量初始化)