分支跳转

在 C++ 中,分支跳转语句允许程序根据条件选择不同的执行路径。通过这些语句,我们能够灵活控制程序的执行流程,处理不同的逻辑分支和跳转操作。

if 语句

if 语句用于根据条件判断来执行不同的代码块。如果条件为 true,则执行对应的代码块,否则跳过。

int a = 5;
if (a > 0) {
    cout << "a 是正数" << endl;
}

`

if-else 语句

当需要根据条件执行两个不同的代码块时,可以使用 else 来处理条件不成立的情况。

int a = -5;
if (a > 0) {
    cout << "a 是正数" << endl;
} else {
    cout << "a 不是正数" << endl;
}

else-if 语句

当有多个条件需要判断时,可以使用 else-if 语句进行多条件判断。

int a = 0;
if (a > 0) {
    cout << "a 是正数" << endl;
} else if (a < 0) {
    cout << "a 是负数" << endl;
} else {
    cout << "a 是零" << endl;
}

switch 语句

switch 语句可以替代多个 if-else if 语句,用于判断一个变量是否等于某个特定的值。

int a = 2;
switch (a) {
    case 1:
        cout << "a 是 1" << endl;
        break;
    case 2:
        cout << "a 是 2" << endl;
        break;
    default:
        cout << "a 不是 1 也不是 2" << endl;
}

switch 语句的特点:

  • switch 语句可以方便地处理多个条件判断,适用于多分支的情况。
  • 每个 case 后面通常跟着一个 break 语句,用于跳出 switch 语句。如果没有 break,程序会继续执行下一个 case

break 语句

break 语句用于立即跳出当前的循环或 switch 语句,常用于提前终止循环或分支结构。

for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break;  // 跳出循环
    }
    cout << "i 的值是: " << i << endl;
}

continue 语句

continue 语句用于跳过当前循环的剩余部分,立即开始下一次循环。

for (int i = 0; i < 5; i++) {
    if (i == 2) {
        continue;  // 跳过当前循环
    }
    cout << "i 的值是: " << i << endl;
}

goto 语句

goto 语句允许程序无条件跳转到程序中的另一个位置。这种语句在实际编程中不常使用,应该避免过度依赖,避免让代码难以理解。

#include <iostream>
using namespace std;

int main() {
    int i = 0;
    label:
    if (i < 5) {
        cout << "i 的值是: " << i << endl;
        i++;
        goto label;  // 跳转到 label
    }
    return 0;
}

goto 语句的特点:

  • goto 可以跳转到指定的标签位置,常用于跳出嵌套循环或复杂的条件结构。
  • 由于 goto 会影响代码的可读性和维护性,因此一般建议尽量避免使用。

小结

  • ifelseswitch 是常用的分支语句,根据不同的条件执行不同的代码块。
  • breakcontinue 控制语句帮助我们灵活地控制循环或分支的执行流程。
  • goto 虽然功能强大,但通常不推荐使用,因为它会影响代码的可读性。

掌握这些分支跳转语句可以使你编写更加清晰、可维护的程序。