• 循环和switch专属的跳转:break
  • 循环专属的跳转:continue
  • 无条件跳转:goto

break

  • 循环的break说明
    • 某一条件满足时,不再执行循环体中后续重复的代码,并退出循环
  • 需求:一共吃5碗饭, 吃到第3碗吃饱了, 结束吃饭动作
  • 示例代码: ```c

    include

int main() { // 需求: 一共吃5碗饭, 吃到第3碗吃饱了, 结束吃饭动作 // 1. 定义条件变量,为了查看方便, 计数器从 1 开始 int i = 1; while (i <= 5) { // 2. 控制条件 if (i == 3) { printf(“吃饱了,不吃了\n”); break; // 结束循环,退出循环 }

  1. printf("吃第 %d 碗饭\n", i);
  2. // 3. 条件变量改变
  3. i++;
  4. }
  5. return 0;

}

  1. <a name="OHEmQ"></a>
  2. # continue
  3. - 某一条件满足时,不再执行本次循环体中后续重复的代码,但进入下一次循环判断
  4. - while循环,continue 之前一定要修改计数器(条件变量),否则,导致死循环
  5. - 需求:一共吃5个苹果,吃到第3个遇到虫子,这个跳过不吃,下一个继续
  6. - 示例代码:
  7. ```c
  8. #include <stdio.h>
  9. int main() {
  10. // 需求: 一共吃5个苹果,吃到第3个遇到虫子,这个跳过不吃,下一个继续
  11. // 1. 定义条件变量,为了查看方便, 计数器从 1 开始
  12. int i = 1;
  13. while (i <= 5) { // 2. 控制条件
  14. if (i == 3) {
  15. printf("这个有虫子,不吃了\n");
  16. i++; // continue 之前一定要修改计数器(条件变量),否则,导致死循环
  17. continue;; // 跳过本次循环,下次继续
  18. }
  19. printf("吃第 %d 个苹果\n", i);
  20. // 3. 条件变量改变
  21. i++;
  22. }
  23. return 0;
  24. }

goto

  • goto用于无条件跳转
    • 在一种情况下可以使用goto语句:从一组嵌套的循环中跳出
  • goto语句可以导致代码不易理解和维护,并且容易引入不必要的错误。因此,除非必要,最好不要使用goto语句
  • 示例代码: ```c

    include

int main() {

  1. int i = 0;
  2. while (i < 3) {
  3. if(i == 1) {
  4. goto End; // 跳转到End标签
  5. }
  6. printf("i = %d\n", i);
  7. i++;
  8. }
  9. End:
  10. printf("this is ending!\n");
  11. return 0;

} ```