C 语言中,break 和 continue 是两个非常重要的关键字,它们主要用于控制循环的执行流程。break 跳出最里层的循环,并且继续执行该循环下面的语句。continue 适用于任何循环控制结构中,作用是让程序立刻跳转到下一次循环的迭代。本文主要介绍C语言中break和continue关键字。

1、C语言 break 关键字

break的作用是跳出当前循环代码块(forwhiledo while)或switch代码块。在循环代码块中的作用是跳出当前正在循环的循环体。在switch代码块中的作用是中断和下一个case条件的比较。

下面示例中当i等于4时,跳出循环:

例如:

for (int i = 0; i < 10; i++) {
  if (i == 4) {
    break;
  }
  printf("%d\n",i);
}

2、C语言 continue 关键字

continue用于结束循环体中其后语句的执行,并跳回循环程序块的开头执行下一次循环。

下面示例当i等于4时,跳过本次循环:

例如:

for (int i = 0; i < 10; i++) {
  if (i == 4) {
    continue;
  }
  printf("%d\n",i);
}

3、while循环中使用break 和 continue 

还可以在while循环中使用breakcontinue

1)使用break跳出循环

例如:

int i = 0;
while (i < 10) {
  printf("%d\n",i);
  i++;
  if (i == 4) {
    break;
  }
}

2)使用continue跳出本次循环

例如:

int i = 0;
while (i < 10) {
  if (i == 4) {
    i++;
    continue;
  }
  printf("%d\n",i);
  i++;
}

4、使用示例

breakcontinue 关键字的使用示例,可以更好地理解它们的功能和应用场景。

1)使用 break 关键字

#include <stdio.h>

int main() {
    // 使用 break 退出循环
    printf("使用 break 退出循环\n");
    for (int i = 1; i <= 10; i++) {
        if (i == 5) {
            break; // 当 i 等于 5 时退出循环
        }
        printf("%d ", i); // 输出:1 2 3 4
    }
    printf("\n循环结束\n\n");

    // 在 switch 语句中使用 break
    printf("在 switch 语句中使用 break\n");
    int num = 3;

    switch (num) {
        case 1:
            printf("数字是 1\n");
            break;
        case 2:
            printf("数字是 2\n");
            break;
        case 3:
            printf("数字是 3\n");
            break; // 退出 switch
        default:
            printf("数字不是 1、2 或 3\n");
    }
    printf("\n");
    return 0;
}

2)使用 continue 关键字

#include <stdio.h>

int main() {

    // 使用 continue 跳过某些值
    printf("使用 continue 跳过某些值\n");
    for (int i = 1; i <= 10; i++) {
        if (i % 2 == 0) {
            continue; // 如果 i 是偶数,跳过打印
        }
        printf("%d ", i); // 输出:1 3 5 7 9
    }
    printf("\n循环结束\n\n");


    return 0;
}

3)结合使用 breakcontinue

#include <stdio.h>

int main() {
    // 结合使用 break 和 continue
    printf("结合使用 break 和 continue\n");
    for (int i = 1; i <= 10; i++) {
        if (i == 8) {
            break; // 当 i 等于 8 时退出循环
        }
        if (i % 2 == 0) {
            continue; // 如果 i 是偶数,跳过打印
        }
        printf("%d ", i); // 输出:1 3 5 7
    }
    printf("\n循环结束\n");

    return 0;
}

推荐文档