循环里continue,break,return的做用,你知道吗?

Python实战社群php

Java实战社群程序员

长按识别下方二维码,按需求添加web

扫码关注添加客服编程

进Python社群▲微信

扫码关注添加客服函数

进Java社群编码

做者丨李肖遥
spa

来源丨技术让梦想更伟大(ID:TechDreamer)
code

前言

循环里Continue,Break,Return常常会用到,也是很容易出错的一个坑,今天特意花个时间来总结下,在循环里使用Continue,Break,Return的不一样效果是什么?图片

Continue 语句

涵义

C 语言中的 continue 语句有点像 break 语句,所不一样的是,它不是强制终止,continue 会跳过当前循环中的代码,强迫开始下一次循环迭代。

对于 for 循环,continue 语句执行后,自增语句仍然会执行

对于 while 和 do...while 循环,continue 语句从新执行条件判断语句

语法

流程图

实例

多层 for 循环实例以下:

#include <stdio.h>
 
int main ()
{
 int i=0,j=0;
 for (i = 0; i < 4; i++ )
 {
  printf("i 的值: %d\n",i);
  for (j = 0; j < 3; j++ )
  {
   if( j==1){
    continue;
   }
   printf("j 的值: %d\n",j);
  }
 }
   return 0;
}

编译结果以下,咱们能够得出结论,在双层FOR循环中,在内循环使用Continue,只会在内循环中跳过此处循环,小循环继续执行,不会跳过大循环。

咱们再举一个while循环的例子以下:

#include <stdio.h>
 
int main ()
{
   int a = 0;
   do
   {
      if( a == 5)
      {
         /* 跳过迭代 */
         a = a + 1;
         continue;
      }
      printf("a 的值: %d\n", a);
      a++;
     
   }while( a < 10 );
 
   return 0;
}

输出以下:

Break 语句

在循环中,关键词Break,做用是跳出循环,通常有如下两种用法:

  1. 当 break 语句出如今一个循环内时,循环会当即终止,且程序流将继续执行紧接着循环的下一条语句。

  2. 它可用于终止 switch 语句中的一个 case。

若是使用的是嵌套循环,break 语句会中止执行最内层的循环,而后开始执行该块以后的下一行代码。

注意:

  1. break语句对if-else的条件语句不起做用。

  2. 在多层循环中,一个break语句只向外跳一层。

  3. 因为它是用来退出循环或者switch语句的, 因此只有当它出如今这些语句的时候, 这种形式的break语句才是合法的。

语法

流程图

实例

以下:

#include <stdio.h>
 
int main ()
{
 int i=0,j=0;
 for (i = 0; i < 4; i++ )
 {
  printf("i 的值: %d\n",i);
  for (j = 0; j < 3; j++ )
  {
   if( j==1){
    break;
   }
   printf("j 的值: %d\n",j);
  }
  printf("\n");
 }
   return 0;
}

编译结果以下,咱们能够看到在双层FOR循环中,在内循环使用Break,只会在内循环中结束本次循环,小循环结束这次执行,不会跳过大循环。

咱们再举一个while循环的例子以下:

#include <stdio.h>

int main ()
{
   int a = 0;
   do
   {
      printf("a 的值:%d\n" , a );
       a = a + 1;
       if( a > 5)
       {
          // 终止循环
          break;
       }
   }while( a < 10 );
 
   return 0;
}

输出以下:

Return

在循环中,Return语句,做用是结束本次循环,将函数调用栈弹栈,恢复现场。

说的简单点儿就是结束当前的函数,返回函数执行结果,回到本函数被调用处继续执行。

咱们举个例子以下:

#include <stdio.h>
 
int main ()
{
 int i=0,j=0;
 for (i = 0; i < 4; i++ )
 {
  printf("i 的值: %d\n",i);
  for (j = 0; j < 3; j++ )
  {
   if( j==1){
    return;
   }
   printf("j 的值: %d\n",j);
  }
 }
   return 0;
}

输出以下:

提问思考?

不知道大对上面的解释有没有理解清楚,这里提出3个问题,若是一看即知道答案,那么确定没有问题了。

  1. 一样是跳出循环,return和break有什么区别?

  2. 一样是中断执行,return和return false有什么区别?

  3. 在什么应用场景下咱们会用到break或continue?

程序员专栏 扫码关注填加客服 长按识别下方二维码进群
近期精彩内容推荐:   程序员买房先后对比,看完后已哭瞎... 内部泄露版!互联网大厂的薪资和职级一览 Google 出品的 Java 编码规范 Python编程 高阶函数使用技巧


在看点这里好文分享给更多人↓↓
相关文章
相关标签/搜索