C语言break和continue

C语言break和continuebreak用法跳出循环语句(for循环、while循环、do…while循环) 跳出switch语句注意:C语言break只能用于这两种情况。break语句不能用于循环语句和switch语句之外的任何其他语句中,不然编译器会报错。continue用法只用于结束本次循环(for循环、while循环、do…while循环),进行下一次循环注意…

大家好,又见面了,我是你们的朋友全栈君。

break 用法

  • 跳出循环语句 (for循环、while循环、do…while循环)
  • 跳出switch语句

   注意:C语言break 只能用于这两种情况。break 语句不能用于循环语句和 switch 语句之外的任何其他语句中,不然编译器会报错。

 continue用法

  • 只用于结束本次循环(for循环、while循环、do…while循环),进行下一次循环

   注意:C语言continue用法和字面意思不同。continue是结束本次循环,继续下一次循环,完成代码跳转,并不是继续向下顺序执行的意思。

break和continue相似处

     都可以完成代码跳转,灵活使用break和continue 可使代码更加简洁。

break和continue的区别 

break 是结束整个循环过程,不再判断执行循环的条件是否成立;continue 语句则只结束本次循环,不是终止整个循环,还会继续判断循环的条件是否成立。 演示代码如下:

for(i=0;i<5;i++)            //第一层循环  
{                            
    for(j=0;j<5;j++)        //第二层循环  
    {
        function_a();       //功能函数 a
        if(j>=2)
        {
            break; //或continue ;
        }
        function_b();       //功能函数 b
    }
}

上面第8行代码

如果为 break   当 j = 2 时,执行完break;    程序会直接跳出第二层循环,去执行第一层循环的 i++ ;

如果为 continue 当 j = 2时,执行完continue;程序将结束本次循环(即不再往下执行 function_b();函数) ,继续下一次循环,去执行 j++; 如果满足 j < 5 则会继续进入第二层循环继续执行 。即continue不会跳出第二层循环。

注意:break 只能跳出一层循环。当有多层循环嵌套的时候,break只能跳出“包裹”它的最里面的那一层循环,无法一次跳出所有循环。

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/130496.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • C语言中动态分配数组

    C语言中动态分配数组很多人在编写C语言代码的时候很少使用动态数组,不管什么情况下通通使用静态数组的方法来解决,在当初学习C语言的时候我就是一个典型的例子,但是现在发现这是一个相当不好的习惯,甚至可能导致编写的程序出现一些致命的错误。尤其对于搞嵌入式的人来所,嵌入式系统的内存是宝贵的,内存是否高效率的使用往往意味着嵌入式设备是否高质量和高性能,所以高效的使用内存对我们来说是很重要的。那么我们在自己编写C语言代码的时候就…

  • 附pdf下载 |《深度强化学习实战》(含最新源代码)

    附pdf下载 |《深度强化学习实战》(含最新源代码)

    2020年11月14日
  • modelsim se 10.5安装教程

    modelsim se 10.5安装教程modelsimse10.5安装教程简介modelsim10.5是由mentorgraphics公司推出的一款具备强大的仿真性能与调试能力的HDL设计验证环境,也是唯一的单内核支持VHDL和Verilog混合仿真的仿真器,提供最友好的调试环境,采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真,并且具有个性化的图形界面和用户接口,能够为用户加快调试提供强有力的手段。而且软件全面支持VHDL和Verilog语言的IEEE标准,以及IEEEVITAL1076.4-95标准,与C语言功能调

  • 监督学习,非监督学习,半监督学习和增强学习

    监督学习,非监督学习,半监督学习和增强学习根据机器学习可以解决的问题,可以将机器学习分为:分类和回归如果根据机器学习的算法分类,可以将机器学习分为:

  • mybatis拦截器不能拦截哪个类_信号发生器的使用方法总结

    mybatis拦截器不能拦截哪个类_信号发生器的使用方法总结文章目录1.基础介绍1.1.核心对象1.2.执行过程2.实现步骤2.1.添加注解2.1.1.type2.1.2.method2.1.3.args2.2.方法实现2.2.1.intercept2.2.2.plugin2.2.3.setProperties3.代码示例MyBatis拦截器可以做的工作:SQL修改,分页操作,数据过滤,SQL执行时间性能监控等。1.基础介绍1.1.核心对象从MyBatis代码实现的角度来看,MyBatis的主要的核心部件有以下几个:Con

  • 分布式锁的实现和应用场景_redis分布式锁释放锁

    分布式锁的实现和应用场景_redis分布式锁释放锁分布式锁为了解决分布式场景下全局加锁的问题。在单体项目中可以使用synchronize完成对于不同线程之间的资源争抢问题。但是在分布式场景下,synchronize只能对其中一个项目进行资源控制,进程之间的资源增强仍然无法解距。换言之,可以将分布式锁理解为对于整个分不是系统的synchronize。通常使用独立与线程之外的工具控制资源,如redis及框架redisson。1.传统单体架构业务流程synchronized(this){ /** 业务逻辑扣减库存 */}以上代码对于单体架构可

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号