测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看
B52

for 循环:知道要重复几次

引入

章前总览 第10章进入循环结构。生活里处处有重复:吃 20 口饭、红绿灯交替、累加分数。明确知道要重复多少次时,优先用 for;按条件决定是否继续则用 while(第11章)。

逻辑链条:

  • C1:循环体与 for / while 分工
  • C2:for 三个表达式的执行顺序
  • C3:案例:求 a 的 n 次方

1 C1. 什么时候用 for

重复执行的若干步骤合称循环体

两种循环

  • 知道次数(吃 20 口、打气 20 下)→ for
  • 看条件(饭吃光了吗、吃饱了吗)→ while / do-while
  • 二者能力等价,只是顺手程度不同——像水果刀和菜刀。

2 C2. for 的格式与顺序

多条循环体语句要用 {}。三个表达式可空缺,但两个分号不能省

</> 执行顺序

for (表达式1; 表达式2; 表达式3)
    循环体;

// 1) 先做表达式1(只做一次)
// 2) 看表达式2:真→做循环体;假→结束
// 3) 做表达式3,再回到步骤 2
  • 初学推荐:for (循环变量初值; 循环条件; 修改循环变量)
  • 控制次数的变量叫循环变量;退出后它往往是“刚好不满足条件”的那个值(如到 n+1)。

3 案例:求 a 的 n 次方

输入正整数 a、n,用循环算 aⁿ(不用 pow)。样例:2 5 → 32。

思路

  • 写成 1×a×a×…×a,把 t = t*a 重复 n 次。
  • t 初值必须是 1(乘积的单位元)。

</> 参考代码

#include <iostream>
using namespace std;

int main() {
    int a, n, t = 1, i;
    cin >> a >> n;
    for (i = 1; i <= n; i++)
        t = t * a;
    cout << t << endl;
    return 0;
}
  • 循环结束后 i 为 n+1,不是 n。
小结

记住顺序:

初值 → 判条件 → 循环体 → 更新 → 再判条件 …
里程碑达成:

下一节用 for 求和:奇数和与累计相加。