前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言中循环语句总结

C语言中循环语句总结

作者头像
用户10920432
发布2024-01-18 15:14:29
1140
发布2024-01-18 15:14:29
举报

while循坏:

image
image

 for循环:

 while和for循环的对比:

区别:for 和 while 在实现循环的过程中都有初始化、判断、调整这三个部分,但是 for 循环的三个部 分⾮常集中,便于代码的维护,⽽如果代码较多的时候 while 循环的三个部分就⽐较分散,所以从形式上 for 循环要更优⼀些。

do while循环

使用条件:使⽤在循环体⾄少被执⾏⼀次的场景下

eg:输⼊⼀个正整数,计算这个整数是⼏位数? //例如: //输⼊:1234 输出:4 //输⼊:12 输出:2

代码语言:javascript
复制
#include <stdio.h>
int main()
{
 int n = 0;
 scanf("%d", &n);
 int cnt = 0;
 do
 {
 cnt++;
n = n / 10;
 } 
while (n);
 printf("%d\n", cnt);
 return 0;
}

问:为什么n=0的时候还能计算出一个

答:

这是因为在这段代码中使用了 do-while 循环,循环条件是 n 的值不为 0。即使 n 的初始值为 0,循环体内的代码仍然会执行一次,然后才会检查循环条件。因此,即使 n 的初始值为 0,cnt 的值也会至少增加一次,最终输出 1。

这是因为 do-while 循环先执行循环体,然后再判断循环条件。与之相反的是 while 循环,它会先判断循环条件,然后再执行循环体。如果你希望 n 的初始值为 0 时不进行计算,可以改用 while 循环并将判断条件放在循环之前。

 break和continue在循环语句中的作用

break:永久的终⽌循环.

代码语言:javascript
复制
#include <stdio.h>
int main()
{
 int i = 1;
 for(i=1; i<=10; i++)
 {
 if(i == 5)
 break;
 printf("%d ", i);
 }
 return 0;
}

运行结果:

continue:跳过本次循.环中 continue 后的代码,直接去到循环的调整部分。

将上面的break换成continue

代码语言:javascript
复制
#include <stdio.h>
int main()
{
 int i = 1;
 for(i=1; i<=10; i++)
 {
 if(i == 5)
 continue;//这⾥continue跳过了后边的打印,来到了i++的调整部分
 printf("%d ", i);
 }
 return 0;
}

运行结果:

对比for循环和while循环中continue对代码的运行影响:

分析代码可以知道它们修改条件的位置不同

对于while循环的修改条件在continue后面所以当i=5时,他没法继续修改,而是陷入i=5的死循环 

对于for循环的修改条件在continue上面,所以当i=5时,它会跳出printf函数来到上面进行条件修改,在i=5这个基础上进行i++

do while语句中break和continue的作用跟while一样:

goto语句

作用:goto 语句可以实现在同⼀个函数 内跳转到设置好的标号处。

例如:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
 printf("hehe\n");
 goto next:
 printf("haha\n");
 
next:
 printf("跳过了haha的打印\n"); 
 return 0;
}

在多层循环的代码中,如果想快速跳出 使⽤ goto 就⾮常快速

例如:

代码语言:javascript
复制
for(...)
{
 for(...)
 {
 for(...)
 {
 if(disaster)
 goto error;
 }
 }
}
error:
 //...

本来 for 循环想提前退出得使⽤ break ,⼀个 break 只能跳出⼀层 for 循环,如果3层循环嵌套

就得使⽤3个 break 才能跳出循环,所以在这种情况下我们使⽤ goto 语句就会更加的快捷。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • while循坏:
  •  for循环:
  •  while和for循环的对比:
  • do while循环
  •  break和continue在循环语句中的作用
  • goto语句
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档