C语言基础-跳转语句

C语言跳转语句详解:break、continue、goto、return

在编写 C 语言程序时,有时我们需要提前退出循环、跳过某次执行,甚至跳转到程序中的其他位置。这就用到了跳转语句(Jump Statements)

C语言提供了以下常用跳转语句:

  • break:跳出当前循环或 switch
  • continue:跳过当前循环剩余部分,进入下一次循环
  • goto:无条件跳转到程序中指定标签(不推荐)
  • return:结束当前函数的执行,返回调用者

一、break:中断循环或 switch

用法说明:

  • 用于 whilefordo whileswitch 中;
  • 作用是立即跳出所在的循环/switch

示例:

#include <stdio.h>

int main(void) {
    for (int i = 1; i <= 10; i++) {
        if (i == 5) break;
        printf("%d ", i);
    }
    // 输出:1 2 3 4
    return 0;
}

i == 5 时,执行 break,整个循环提前结束。

二、continue:跳过本次循环剩余部分

用法说明:

  • 用于循环语句中;
  • 当前迭代中遇到 continue,后续语句不再执行,直接进入下一次循环判断。

示例:

#include <stdio.h>

int main(void) {
    for (int i = 1; i <= 5; i++) {
        if (i == 3) continue;
        printf("%d ", i);
    }
    // 输出:1 2 4 5(跳过了3)
    return 0;
}

三、goto:无条件跳转(慎用)

用法说明:

  • goto 可以跳转到同一函数内的任意标签;
  • 使用格式:
goto 标签名;
// ...
标签名:

示例:

#include <stdio.h>

int main(void) {
    int num;
    printf("请输入正数:");
    scanf("%d", &num);
    
    if (num < 0)
        goto error;

    printf("你输入的是正数 %d\n", num);
    return 0;

error:
    printf("错误:不能输入负数!\n");
    return 1;
}

使用建议:

  • goto 会让程序流程变得混乱,不推荐在非必要情况下使用;
  • 可用于跳出多重嵌套循环或处理错误时集中释放资源。

四、return:返回函数调用处

用法说明:

  • return 用于函数中;
  • 用于结束当前函数执行,并将控制权返回给调用者;
  • 可以携带返回值(如果函数类型不是 void)。

示例:

#include <stdio.h>

int square(int n) {
    return n * n;
}

int main(void) {
    int res = square(5);
    printf("5 的平方是 %d\n", res);
    return 0;
}

五、break vs continue vs return:对比表

语句 用途说明 可用位置 行为
break 终止当前循环/switch 循环、switch 跳出当前语句块
continue 跳过本轮,继续下一轮 循环内部 直接进入下一次循环判断
goto 跳转到指定标签 函数内部任意位置 无条件跳转(不推荐)
return 结束函数并返回 函数体内 返回给调用者,可携带返回值
posted @ 2025-07-30 15:21  ffff5  阅读(52)  评论(0)    收藏  举报