良许Linux教程网 干货合集 循环里continue,break,return的作用,你知道吗?

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

老规矩,先提出几个问题:

  • 为什么要进行动态链接?
  • 如何进行动态链接?
  • 什么是地址无关代码技术?
  • 什么是延迟绑定技术?
  • 如何在程序运行过程中进行显式链接?

为什么要进行动态链接?

动态链接的出现是为了解决静态链接的一些缺点:

  1. 节约内存和磁盘空间:如下图所示,

语法

image-20240129203938798
image-20240129203938798

流程图

image-20240129203941797
image-20240129203941797

实例

多层 for 循环实例如下:

#include 
 
int main ()
{
 int i=0,j=0;
 for (i = 0; i printf("i 的值: %d\n",i);
  for (j = 0; j if( j==1){
    continue;
   }
   printf("j 的值: %d\n",j);
  }
 }
   return 0;
}

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

image-20240129203945031
image-20240129203945031

我们再举一个while循环的例子如下:

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

输出如下:image-20240129203948490

Break 语句

在循环中,关键词Break,作用是跳出循环,一般有以下两种用法:

  1. 当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
  2. 它可用于终止 switch 语句中的一个 case。

如果使用的是嵌套循环,break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。

注意:

  1. break语句对if-else的条件语句不起作用。
  2. 在多层循环中,一个break语句只向外跳一层。
  3. 由于它是用来退出循环或者switch语句的, 所以只有当它出现在这些语句的时候, 这种形式的break语句才是合法的。

语法

image-20240129203951137
image-20240129203951137

流程图

image-20240129203953809
image-20240129203953809

实例

如下:

#include 
 
int main ()
{
 int i=0,j=0;
 for (i = 0; i printf("i 的值: %d\n",i);
  for (j = 0; j if( j==1){
    break;
   }
   printf("j 的值: %d\n",j);
  }
  printf("\n");
 }
   return 0;
}

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

image-20240129203956736
image-20240129203956736

我们再举一个while循环的例子如下:

#include 

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

输出如下:

image-20240129204004789
image-20240129204004789

Return

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

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

我们举个例子如下:

#include 
 
int main ()
{
 int i=0,j=0;
 for (i = 0; i printf("i 的值: %d\n",i);
  for (j = 0; j if( j==1){
    return;
   }
   printf("j 的值: %d\n",j);
  }
 }
   return 0;
}

输出如下:

image-20240129204007840
image-20240129204007840

提问思考?

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

  1. 同样是跳出循环,return和break有什么区别?
  2. 同样是中断执行,return和return false有什么区别?
  3. 在什么应用场景下我们会用到break或continue?

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部