C语言 循环控制流程的跳转语句

本文 我们来说 控制流程的跳转语句

C语言 提供三种 控制流程的跳转语句

1. break 语句

我们之前讲 switch 时 大家已经看到过这个 break 了 作用是跳出当前 switch
在循环中 它的作用也差不多

这里 我们举个生活中的例子 例如 我们在操场上跑步
计划跑十圈 但是 还没跑完 我们感到了身体不适,就需要提前退场 不跑了 但其实并没有跑完
代码逻辑 举例如下图
在这里插入图片描述
我们开启一个计数循环 跑十圈 但 如果判断到身体不适 我们就需要 break 终止循环
break 的作用就是强制跳出当前循环

然后 又如 小红 想让妈妈买糖
如果不买 小红就哭到妈妈买 循环逻辑就是哭
但是 妈妈一直不买 条件没达到 但是小红哭累了 提前break结束循环
如下图
在这里插入图片描述
这里 我们做个代码小案例

#define _CRT_SECURE_NO_WARNINGS//禁用安全函数警告
#pragma warning(disable:6031)//禁用 6031 的安全警告
#include <stdio.h>

int main() {
    for (int i = 1;i <= 10;i = i + 1) {
        printf("i的值为 %d\n", i);
        if (i == 5) {
            break;
        }
    }
}

按逻辑走 循环应该执行 10次
但是 我们判断 到第五次 就会 break
运行代码
在这里插入图片描述
到 第五次 就被迫停止了

2.continue 语句

continue 语句和break语句一样,也可用于对循环进行内部控制,起到条件跳转的作用,但二者对流程的控制效果是不同的。

例如 我们这样写

#define _CRT_SECURE_NO_WARNINGS//禁用安全函数警告
#pragma warning(disable:6031)//禁用 6031 的安全警告
#include <stdio.h>

int main() {
    for (int i = 1;i <= 10;i = i + 1) {
        if (i == 5) {
            continue;
        }
        printf("i的值为 %d\n", i);
    }
}

逻辑 和我们上一个案例基本是一致的

然后 我们运行代码
在这里插入图片描述
可以看到 输出了 1 到 10 但少了 5 因为 5那次循环执行到 continue 就直接被跳出去 执行下一次循环了
简单说 遇到 break 整个循环就停了 而 continue只是跳出了这一次 循环 执行下一次去了

3. goto 语句

这是用于嵌套语句跳出的逻辑

#define _CRT_SECURE_NO_WARNINGS//禁用安全函数警告
#pragma warning(disable:6031)//禁用 6031 的安全警告
#include <stdio.h>

int main() {
    for (int i = 1;i <= 10;i = i + 1) {
        for (int i = 1;i <= 10;i = i + 1) {
            if (i == 5) {
                break;
            }
            printf("i的值为 %d\n", i);
        }
        printf("外层执行\n");
    }
}

在这里插入图片描述
break 只能实现 每次 到 5把里面这个循环关了

但是 如果我们想一起关掉

#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable:6031)
#include <stdio.h>

int main() {
    for (int i = 1; i <= 10; i = i + 1) {
        for (int j = 1; j <= 10; j = j + 1) { // 使用 j 代替内层循环的变量名
            if (j == 5) {
                goto PRN;
            }
            printf("j的值为 %d\n", j);
        }
        printf("外层执行\n");
    }
    PRN:
    printf("跳出内层循环\n");

    return 0;
}

运行结果如下
在这里插入图片描述
这里 我们做了 goto 表示为 PRN
自动跳到 PRN 的位置

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值