首页 > 其他分享 >C语言break和continue用法详解(跳出循环,新手必看)

C语言break和continue用法详解(跳出循环,新手必看)

时间:2025-01-16 22:00:29浏览次数:3  
标签:语句 必看 break while continue 执行 循环

使用 while 或 for 循环时,如果想提前结束循环(在不满足结束条件的情况下结束循环),可以使用 break 或 continue 关键字。

C语言break关键字

在我原创教程里的《C语言switch case语句
》一文中,我讲了:用 break 来跳出 switch 语句。

当 break 关键字用于 while、for 循环时,会终止循环而执行整个循环语句后面的代码。break 关键字通常和 if 语句一起使用,即满足条件时便跳出循环。

使用 while 循环计算 1 加到 100 的值:

#include <stdio.h>
int main(){
    int i=1, sum=0;
    while(1){  //循环条件为死循环
        sum+=i;
        i++;
        if(i>100) break;
   }
    printf("%d\n", sum);
    return 0;
}

运行结果:
5050

while 循环条件为 1,是一个死循环。当执行到第100次循环的时候,计算完i++;后 i 的值为 101,此时 if 语句的条件 i> 100 成立,执行break;语句,结束循环。

在多层循环中,一个 break 语句只向外跳一层。例如,输出一个 4*4 的整数矩阵:

#include <stdio.h>
int main(){
    int i=1, j;
    while(1){  // 外层循环
        j=1;
        while(1){  // 内层循环
            printf("%-4d", i*j);
            j++;
            if(j>4) break;  //跳出内层循环
        }
        printf("\n");
        i++;
        if(i>4) break;  // 跳出外层循环
    }

    return 0;
}

运行结果:

1   2   3   4
2   4   6   8
3   6   9   12
4   8   12  16

当 j>4 成立时,执行 break;,跳出内层循环;外层循环依然执行,直到 i>4 成立,跳出外层循环。内层循环共执行了 4 次,外层循环共执行了 1 次。

C语言continue语句

continue 语句的作用是跳过循环体中剩余的语句而强制进入下一次循环。continue 语句只用在 while、for 循环中,常与 if 条件语句一起使用,判断条件是否成立。

来看一个例子:

#include <stdio.h>
int main(){
    char c = 0;
    while(c!='\n'){  //回车键结束循环
        c=getchar();
        if(c=='4' || c=='5'){  //按下的是数字键4或5
            continue;  //跳过当次循环,进入下次循环
        }
        putchar(c);
    }
    return 0;
}

运行结果:
0123456789↙
01236789

程序遇到 while 时,变量 c 的值为'\0',循环条件c!='\n'成立,开始第一次循环。getchar() 使程序暂停执行,等待用户输入,直到用户按下回车键才开始读取字符。

本例我们输入的是 0123456789,当读取到 4 或 5 时,if 的条件c=='4'||c=='5'成立,就执行 continue 语句,结束当前循环,直接进入下一次循环,也就是说putchar(c);不会被执行到。而读取到其他数字时,if 的条件不成立,continue 语句不会被执行到,putchar(c);就会输出读取到的字符。

break 与 continue 的对比:break 用来结束所有循环,循环语句不再有执行的机会;continue 用来结束本次循环,直接跳到下一次循环,如果循环条件成立,还会继续循环。

标签:语句,必看,break,while,continue,执行,循环
From: https://blog.csdn.net/zdoeo/article/details/145192793

相关文章

  • C语言typedef用法详解(新手必看)
    C语言允许为一个数据类型起一个新的别名,就像给人起“绰号”一样。起别名的目的不是为了提高程序运行效率,而是为了编码方便。例如有一个结构体的名字是stu,要想定义一个结构体变量就得这样写:structstustu1;struct看起来就是多余的,但不写又会报错。如果为structstu起了......
  • Proj CJI Paper Reading: AdaPPA: Adaptive Position Pre-Fill Jailbreak Attack Appr
    AbstractBackground:目前的jailbreakmutator方式更集中在语义level,更容易被防御措施检查到本文:AdaPPA(AdaptivePositionPre-FilledJailbreakAttack)Task:adaptivepositionpre-filljailbreakattackapproachMethod:利用模型的instructionfollowing能力,先输出p......
  • Proj CJI Paper Reading: A Wolf in Sheep’s Clothing: Generalized Nested Jailbrea
    Abstractbackground:本文认为现有的jailbreaking方法要么需要人力,要么需要大模型,本文不需要本文:ReNELLMTask:JailbreakingLLMblackboxMethod:PromptRewriting,ScenarioNesting,利用被攻击的LLM来生成jailbreakpromptsPromptWriting似乎是每次iterate都......
  • 直播达人必看!超实用直播变声器推荐!
     在如今竞争激烈的直播界,想要脱颖而出,就得玩出点新花样,而直播变声绝对是个超吸睛的“神技能”!今天就给大家推荐几款超好用的变声器,赶紧码住!一、牛学长变声精灵牛学长变声精灵是一款AI实时变声软件,旨在为用户提供高质量、多样化的声音转换体验。它利用先进的AI深度学习算......
  • vscode插件continue结合ollama自动生成代码
    vscode插件continue结合ollama自动生成代码ollama安装ollama安装见https://www.cnblogs.com/jokingremarks/p/18151827中的前部分,懒得再写了vscode中continue的安装可以直接在vscode的扩展中安装插件,也可以去下载这个插件,然后应用在vscode中一般都会选择直接去扩展中安装,在......
  • 独立站新手必看:2025年,Wix和WordPress哪个好?
     如今跨境电商独立站依旧有新手入局,大部分人都会在主流选项中选择起步平台,比如Wix和Wordpress就是热门选择。但两个平台哪一个更适合自己?本篇对比可能对你有帮助!一、电商应用Wix和Wordpress并非完完全全仅服务于电商独立站,它们都有博客相关的功能(比如内容的发布、分类、添......
  • 独立站新手必看:2025年,Wix和WordPress哪个好?
     如今跨境电商独立站依旧有新手入局,大部分人都会在主流选项中选择起步平台,比如Wix和Wordpress就是热门选择。但两个平台哪一个更适合自己?本篇对比可能对你有帮助!一、电商应用Wix和Wordpress并非完完全全仅服务于电商独立站,它们都有博客相关的功能(比如内容的发布、分类、添......
  • 【看必看】火爆全网的文件摆渡系统 你不得不了解一下!
    文件摆渡系统是大部分企业和组织机构都会用得到的产品,是用于解决隔离网间的文件数据传输交互问题的。如果要求不高,能解决文件数据传输交互的方法有很多,比如人工拷贝、FTP、邮件、隔离设备自带的摆渡功能等等,但是这些传统方式会面临安全性难以保障、审核与传输脱节、传输效率低下......
  • Dev C++下载安装使用教程(图文并茂,新手必看)
    DevC++是一款免费开源的C/C++IDE,内嵌GCC编译器(GCC编译器的Windows移植版),是NOI、NOIP等比赛的指定工具。DevC++的优点是体积小(只有几十兆)、安装卸载方便、学习成本低,缺点是调试功能弱。安装DevC++跟安装普通软件一样,远没有安装VS那么复杂。截止到2024年0......
  • 51吃瓜,51吃瓜网今日吃瓜资源,51今日大瓜 热门大瓜,51.CGFUN吃瓜,51CG今日吃瓜热门大瓜必
    ......