🔄 C++ for循环 - L11 进阶概念

掌握for循环,高效处理已知次数的重复操作

📚 什么是for循环?

for循环的特点

for循环将初始化、条件判断、更新操作集中在一个语句中,适合已知循环次数的场景。

  • ✅ 语法紧凑简洁
  • ✅ 三要素集中管理
  • ✅ 适合已知次数的循环
  • ✅ 最常用的循环结构

for循环的三要素

#include <iostream> using namespace std; int main() { // for(初始化; 条件; 更新) for (int i = 1; i <= 5; i++) { cout << "第" << i << "次循环" << endl; } cout << "循环结束" << endl; return 0; }
💡 三要素说明:
初始化int i = 1 - 循环开始前执行一次
条件i <= 5 - 每次循环前检查
更新i++ - 每次循环后执行
• 三个部分用分号 ; 分隔

⚙️ for vs while

两种循环的对比

#include <iostream> using namespace std; int main() { cout << "使用while循环:" << endl; int i = 1; while (i <= 5) { cout << i << " "; i++; } cout << endl; cout << "\n使用for循环:" << endl; for (int j = 1; j <= 5; j++) { cout << j << " "; } cout << endl; return 0; }
💡 对比总结:
while:初始化和更新分散,适合不确定次数
for:三要素集中,代码更紧凑,适合已知次数
• 两者可以互相转换
• for循环更常用(约80%的场景)
🎮 互动实验:循环对比器

输入循环次数,对比for和while的执行效果

输入次数后点击"对比"...

🛠️ 常见应用场景

遍历输出

#include <iostream> using namespace std; int main() { // 输出1到10 cout << "正序:"; for (int i = 1; i <= 10; i++) { cout << i << " "; } cout << endl; // 倒序输出 cout << "倒序:"; for (int i = 10; i >= 1; i--) { cout << i << " "; } cout << endl; // 步长为2 cout << "偶数:"; for (int i = 2; i <= 10; i += 2) { cout << i << " "; } cout << endl; return 0; }

累加求和

#include <iostream> using namespace std; int main() { int n, sum = 0; cout << "请输入n:"; cin >> n; // 计算1+2+3+...+n for (int i = 1; i <= n; i++) { sum += i; } cout << "1到" << n << "的和为:" << sum << endl; return 0; }
🎯 等差数列生成器

输入首项、公差和项数,生成等差数列

输入参数后点击"生成"...

🚀 for循环的高级用法

多个变量控制

#include <iostream> using namespace std; int main() { // 两个变量同时变化 for (int i = 1, j = 10; i <= 5; i++, j--) { cout << "i = " << i << ", j = " << j << endl; } return 0; }

省略部分表达式

#include <iostream> using namespace std; int main() { // 省略初始化(已在外部定义) int i = 1; for (; i <= 5; i++) { cout << i << " "; } cout << endl; // 省略更新(在循环体内更新) for (int j = 1; j <= 5;) { cout << j << " "; j++; } cout << endl; // ⚠️ 省略所有表达式 = 无限循环(需要break退出) // for (;;) { // // 死循环,需要用break退出 // } return 0; }
💡 灵活使用:
• 可以省略任意部分,但分号不能少
• 省略条件 = 永远为真(死循环)
• 根据实际需求灵活选择
• 保持代码可读性最重要

📝 实战练习

📝 小练习:for循环理解

以下代码的输出是什么?

#include <iostream> using namespace std; int main() { for (int i = 0; i < 5; i += 2) { cout << i << " "; } return 0; }
选择答案查看解析...
💻 编程挑战

题目:使用for循环计算n的阶乘(n! = 1×2×3×...×n)。

输入数字后点击"生成代码"...