重生之我在优快云学循环

C++ 中的循环语句用于执行重复任务,主要有三种类型:

  1. for 循环:适用于已知循环次数的情况。
  2. while 循环:适用于循环次数不确定,但满足某个条件时继续执行的情况。
  3. do-while 循环:类似 while,但至少会执行一次循环体。

1. for 循环

语法:

for (初始化; 条件; 更新) {
    // 循环体
}

运行流程:

  1. 初始化:只执行一次,用于初始化循环变量。
  2. 条件:每次循环前检查,如果条件为 true,继续执行循环体;否则,结束循环。
  3. 循环体:执行循环的主要逻辑。
  4. 更新:每次循环后执行,通常用于更新循环变量的值。

示例:

#include <iostream>
using namespace std;

int main() {
    for (int i = 0; i < 5; i++) {  // i 依次取 0,1,2,3,4
        cout << "当前 i = " << i << endl;
    }
    return 0;
}

输出:

当前 i = 0
当前 i = 1
当前 i = 2
当前 i = 3
当前 i = 4

2. while 循环

语法:

while (条件) {
    // 循环体
}

运行流程:

  1. 先检查 条件,如果为 true,则执行循环体,否则退出循环。
  2. 执行 循环体
  3. 回到 条件 进行判断,重复上述过程,直到条件为 false

示例:

#include <iostream>
using namespace std;

int main() {
    int i = 0;
    while (i < 5) {  // 只要 i < 5 就继续循环
        cout << "当前 i = " << i << endl;
        i++;  // 更新变量,防止无限循环
    }
    return 0;
}

输出:

当前 i = 0
当前 i = 1
当前 i = 2
当前 i = 3
当前 i = 4

3. do-while 循环

语法:

do {
    // 循环体
} while (条件);

运行流程:

  1. 先执行 循环体一次。
  2. 再检查条件,如果 true,继续执行;否则,终止循环。

示例:

#include <iostream>
using namespace std;

int main() {
    int i = 0;
    do {
        cout << "当前 i = " << i << endl;
        i++;
    } while (i < 5);
    return 0;
}

输出:

当前 i = 0
当前 i = 1
当前 i = 2
当前 i = 3
当前 i = 4

4. 循环控制语句

4.1 break 语句

break 用于立即终止循环,直接跳出循环体。

示例:

#include <iostream>
using namespace std;

int main() {
    for (int i = 0; i < 10; i++) {
        if (i == 5) {
            break;  // i == 5 时跳出循环
        }
        cout << "当前 i = " << i << endl;
    }
    return 0;
}

输出:

当前 i = 0
当前 i = 1
当前 i = 2
当前 i = 3
当前 i = 4

4.2 continue 语句

continue 用于跳过当前循环的剩余部分,直接进入下一次循环。

示例:

#include <iostream>
using namespace std;

int main() {
    for (int i = 0; i < 5; i++) {
        if (i == 2) {
            continue;  // 跳过 i == 2
        }
        cout << "当前 i = " << i << endl;
    }
    return 0;
}

输出:

当前 i = 0
当前 i = 1
当前 i = 3
当前 i = 4

i == 2 被跳过)


4.3 goto 语句

goto 用于跳转到指定的标签,通常不推荐使用。

示例:

#include <iostream>
using namespace std;

int main() {
    int i = 0;
loop_start:
    cout << "当前 i = " << i << endl;
    i++;
    if (i < 5) {
        goto loop_start;  // 跳转回标签 loop_start
    }
    return 0;
}

输出:

当前 i = 0
当前 i = 1
当前 i = 2
当前 i = 3
当前 i = 4

5. for vs while vs do-while 对比

循环类型适用场景先判断条件?最少执行次数
for已知次数的循环0
while条件成立才执行0
do-while至少执行一次1

6. 循环的嵌套

循环可以嵌套使用,例如:

#include <iostream>
using namespace std;

int main() {
    for (int i = 1; i <= 3; i++) {
        for (int j = 1; j <= 3; j++) {
            cout << "(" << i << ", " << j << ") ";
        }
        cout << endl;
    }
    return 0;
}

输出:

(1, 1) (1, 2) (1, 3) 
(2, 1) (2, 2) (2, 3) 
(3, 1) (3, 2) (3, 3) 

7. 练习题

  1. 打印 1 到 100 之间所有的奇数。
  2. 计算 1 到 100 之间所有偶数的和。
  3. 打印九九乘法表。
  4. 使用 do-while 实现一个简单的菜单循环,直到用户输入 0 退出。

如果你有具体的需求或问题,可以随时问我!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值