# 循环结构

URL: https://caijiao.org/cpp/basic/loops
Source: docs/cpp/basic/loops.md
Description: 本节将讲解 C++ 中的循环结构，包括 'for'、'while' 和 'do-while' 循环。循环语句是控制程序重复执行任务的重要工具，帮助减少冗余代码，提高代码的可维护性和可读性。

在 C++ 中，循环结构用于重复执行某段代码，直到满足某个特定的条件。通过循环，程序可以高效地处理重复性的任务，避免冗余的代码编写。

## `for` 循环

`for` 循环是一种常见的循环结构，通常用于已知次数的循环。它的语法结构包括初始化语句、条件判断语句和迭代语句。

```cpp
for (int i = 0; i < 5; i++) {
    cout << "i 的值是: " << i << endl;
}
````

### `for` 循环的组成部分：

* **初始化语句**：在循环开始时执行一次，通常用来初始化循环变量。
* **条件判断**：每次循环前都会进行条件判断，若条件为 `true`，则继续执行循环体；若为 `false`，则退出循环。
* **迭代语句**：每次循环体执行完毕后会执行的语句，通常用于更新循环变量。

## `while` 循环

`while` 循环适用于当你不知道循环次数、但是知道循环结束的条件时使用。它会在每次迭代之前判断条件是否成立，若条件为 `true`，则继续执行。

```cpp
int i = 0;
while (i < 5) {
    cout << "i 的值是: " << i << endl;
    i++;
}
```

### `while` 循环的特点：

* 条件判断是在循环开始之前执行的，若初始条件不满足，则循环体一次都不执行。
* 适用于在某个条件满足时反复执行某段代码。

## `do-while` 循环

与 `while` 循环不同，`do-while` 循环会至少执行一次循环体，因为条件判断是在循环体执行之后进行的。

```cpp
int i = 0;
do {
    cout << "i 的值是: " << i << endl;
    i++;
} while (i < 5);
```

### `do-while` 循环的特点：

* 与 `while` 循环相比，`do-while` 循环总是至少执行一次。
* 常用于需要至少执行一次任务的场景，例如用户输入验证等。

## 循环控制语句

在 C++ 中，可以使用一些特殊的控制语句来控制循环的执行：

### `break` 语句

`break` 语句用于立即退出循环，不论条件是否满足。

```cpp
for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break;  // 跳出循环
    }
    cout << "i 的值是: " << i << endl;
}
```

### `continue` 语句

`continue` 语句用于跳过当前循环的剩余部分，直接进行下一次循环。

```cpp
for (int i = 0; i < 5; i++) {
    if (i == 2) {
        continue;  // 跳过当前循环
    }
    cout << "i 的值是: " << i << endl;
}
```

## 小结

* **`for`、`while`** 和 **`do-while`** 循环是 C++ 中常用的循环结构，适用于不同的场景。
* **`break`** 和 **`continue`** 控制语句帮助我们更灵活地控制循环的执行。
* 使用循环可以减少冗余代码，提高程序的效率和可维护性。

掌握循环结构能够帮助你高效地解决重复性任务，并使代码更加简洁和清晰。
