C++ 中 while、continue 和 break 语句教程

一、while 循环语句

1.1 基本概念和语法

while 循环是 C++ 中一种基本的循环结构,用于在满足特定条件时重复执行一段代码。其基本语法如下:

while (条件表达式) {
    // 循环体,包含要重复执行的语句
}

在每次循环开始前,程序会先计算条件表达式的值。如果表达式的值为 true(非零),则执行循环体中的代码;执行完循环体后,会再次检查条件表达式的值,若仍为 true,则继续执行循环体,以此类推,直到条件表达式的值为 false(零),循环结束。

1.2 示例代码

以下是一个简单的 while 循环示例,用于计算 1 到 10 的整数之和:

#include 

int main() {
    int sum = 0;
    int i = 1;
    while (i <= 10) {
        sum += i;
        i++;
    }
    std::cout << "1 到 10 的整数之和为: " << sum << std::endl;
    return 0;
}

1.3 代码解释

  • 初始化变量 sum 为 0,用于存储累加的结果;初始化变量 i 为 1,作为循环的计数器。
  • while (i <= 10) 是循环的条件,只要 i 小于等于 10,就会执行循环体。
  • 在循环体中,将 i 的值累加到 sum 中,并将 i 的值加 1。
  • 当 i 的值变为 11 时,条件 i <= 10 为 false,循环结束,最后输出累加的结果。

二、continue 语句

2.1 基本概念和作用

continue 语句用于在循环体中提前结束当前这一次循环的执行,跳过循环体中剩余的语句,直接进入下一次循环的条件判断。也就是说,当程序执行到 continue 语句时,会忽略 continue 语句之后的循环体代码,直接回到循环的起始位置,重新检查循环条件。

2.2 示例代码

以下示例使用 continue 语句输出 1 到 10 之间的奇数:

#include 

int main() {
    int i = 1;
    while (i <= 10) {
        if (i % 2 == 0) {
            i++;
            continue;
        }
        std::cout << i << " ";
        i++;
    }
    std::cout << std::endl;
    return 0;
}

2.3 代码解释

  • 初始化变量 i 为 1。
  • 在 while 循环中,使用 if (i % 2 == 0) 来判断 i 是否为偶数。
  • 如果 i 是偶数,则执行 i++ 使 i 的值加 1,然后执行 continue 语句,跳过 std::cout << i << " "; 这一行代码,直接进入下一次循环的条件判断。
  • 如果 i 是奇数,则输出 i 的值,并将 i 的值加 1。

三、break 语句

3.1 基本概念和作用

break 语句用于立即终止当前所在的循环(whilefordo-while 循环)或 switch 语句的执行。当程序执行到 break 语句时,会直接跳出循环或 switch 语句,继续执行循环或 switch 语句之后的代码。

3.2 示例代码

以下示例使用 break 语句在找到第一个能被 5 整除的数时停止循环:

#include 

int main() {
    int i = 1;
    while (i <= 10) {
        if (i % 5 == 0) {
            std::cout << "找到第一个能被 5 整除的数: " << i << std::endl;
            break;
        }
        i++;
    }
    return 0;
}

3.3 代码解释

  • 初始化变量 i 为 1。
  • 在 while 循环中,使用 if (i % 5 == 0) 来判断 i 是否能被 5 整除。
  • 如果 i 能被 5 整除,则输出该数,并执行 break 语句,跳出 while 循环。
  • 如果 i 不能被 5 整除,则将 i 的值加 1,继续下一次循环。

四、综合示例

以下是一个综合使用 whilecontinue 和 break 语句的示例,用于输出 1 到 20 之间所有不能被 3 整除的数,当遇到第一个大于 15 的数时停止输出:

#include 

int main() {
    int i = 1;
    while (i <= 20) {
        if (i % 3 == 0) {
            i++;
            continue;
        }
        if (i > 15) {
            break;
        }
        std::cout << i << " ";
        i++;
    }
    std::cout << std::endl;
    return 0;
}

代码解释

  • 初始化变量 i 为 1。
  • 在 while 循环中,首先使用 if (i % 3 == 0) 判断 i 是否能被 3 整除,如果能,则执行 i++ 和 continue 语句,跳过当前循环。
  • 接着使用 if (i > 15) 判断 i 是否大于 15,如果大于 15,则执行 break 语句,跳出循环。
  • 如果 i 既不能被 3 整除,又不大于 15,则输出 i 的值,并将 i 的值加 1。

通过合理使用 whilecontinue 和 break 语句,可以灵活控制程序的循环流程,实现各种复杂的逻辑。

你可能感兴趣的:(c++)