C语言的循环(for循环 while循环 do while循环)语句的通俗介绍

C语言中提供了三种循环,其中包括while循环,for循环和do while循环。

while循环

1.基本语法形式:
while(条件表达式)
语句;

当然当while循环内语句超过一句时便应用{}括起来。
例如:打印1到10的数

#include <stdio.h>
int main()
{
 int i = 1;//1.初始化
 while(i<=10)//2.条件的判断
 {
 printf("%d ", i);//语句超过一句便用{}
 i = i+1;//3.对变量的调整
 //每次i都+1,循环完一次就要到条件表达式去判断循环是否应该继续
 }
 return 0;
}

如上面示例所示,一般来说while循环都会包含有以上三个过程:1.初始化2.条件的判断3.对变量的调整。
但在while循环中这三个过程会随着循环语句复杂程度的增加而分散开。
(在下文会与for循环形成对比)

for循环

1.基本语法形式:
for(表达式1; 表达式2; 表达式3)
语句;

表达式1 ⽤于循环变量的初始化
表达式2 ⽤于循环结束条件的判断
表达式3 ⽤于循环变量的调整
(不同之处)从这里来看for循环也相应拥有上文中while循环所拥有的三个过程,但与之相比for循环的这三个过程都紧跟在for之后,更加集中,也易于我们的操作与调整,这也是for循环在循环语句中使用最多的部分原因。
相同之处它们的循环过程都可以按以下流程进行:
初始化——>条件的判断——>语句表达——>对变量的调整——>条件的判断(循环开始)
示例:与上文while相同,打印1到10的数

#include <stdio.h>
int main()
{
 int i = 0;
 for(i=1; i<=10; i++)
 {
 printf("%d ", i);
 }
 
 return 0;
}

do while循环

1.基本语法形式:
do
语句;
while(表达式);

相较于其他两种循环,该循环的流程有所不同:对于for循环与while循环,它们都是先进行条件判断再进行语句的表达,而do while循环则是直接进⼊循环体,执⾏循环语句,然后再执⾏ while 后的判断表达式。
所以在 do while 语句中循环体是⾄少执⾏⼀次的,而for与while循环则不一定能够执行。
⼀般 do while 使用在循环体⾄少被执行⼀次的场景下,所以是循环中被使用最少的。
示例:打印1到10的数

#include <stdio.h>
int main()
{
 int i = 1;
 do
 {
 printf("%d ", i);
 i = i + 1;
 }while(i<=10);
 
 return 0;
}

以上仅仅是对三大循环语句的简单介绍,但我们在某些特殊状况发生的时,需要提前终⽌循环,在这时候便要用到break语句和continue语句,而这些语句在三大循环中的使用也存在着异同。

break语句和continue语句

break 的作用是用于永久的终⽌循环,只要 break 被执行,直接就会跳出循环,继续往后执行。
continue 的作用是跳过本次循环 continue 后边的代码,即会直接跳到条件表达式来进行下一轮的条件判断。在 for 循环和 while 循环中有所差异的。

while循环中的break和continue

break的示例:

#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=10)
 {
 if(i == 5)
 break;//当i等于5后,就执⾏break,循环就终⽌了
 //因此输出的结果就只有1 2 3 4
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

break 的作用就是永久的终止循环,只要 break 被执行, break 外的第⼀层循环就终止了。
continue的示例:

#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=10)
 {
 if(i == 5)
 continue;
 //当i等于5后,就执⾏continue,直接跳过continue之后代码,直接到了条件表达式,进行下一轮循环的条件判断。
 //因为这⾥跳过了i = i+1,所以i⼀直为5,程序陷⼊和死循环。
 //输出结果为1 2 3 4 _(_表示死循环)
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

continue 可以帮助我们跳过某⼀次循环 continue 后边的代码,直接
到循环的判断部分,进⾏下⼀次循环的判断,如果循环的调整是在 continue 后边的话,可能会造成死循环

for循环中的break和continue

break的示例:

#include <stdio.h>
int main()
{
 int i = 1;
 for(i=1; i<=10; i++)
 {
 if(i == 5)
 break;
 printf("%d ", i);
 //输出结果与while循环中的break相同为:1 2 3 4
 }
 return 0;
}

continue的示例:
(注意对比与while循环中continue的差异)

#include <stdio.h>
int main()
{
 int i = 1;
 for(i=1; i<=10; i++)
 {
 if(i == 5)
 continue;//这⾥continue跳过了后边的打印,来到了i++的调整部分
 printf("%d ", i);//因此5未能被打印出来输出结果为:1 2 3 4 6 7 8 9 10
 }
 return 0;
}

回顾一下while循环中含continue语句的代码:

#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=10)
 {
 if(i == 5)
 continue;
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

在while循环中的结果为1 2 3 4 _死循环,而造成此结果的原因便是因为while语句中的i = i+1语句在continue语句的后面,被跳过了,故出现了打印出的结果不同。
而想要while语句中打印出的结果与for语句中相同可将i = i+1语句放在continue语句前,但是其他前置条件也会发生相应的变化。
如下:

#include <stdio.h>
int main()
{
 int i = 0;
 while(i <10)
 {
 i = i+1;
 if(i == 5)
 continue;
 printf("%d ", i);
 }
 return 0;
}

do while循环中的break和continue

break的示例:

#include <stdio.h>
int main()
{
 int i = 1;
 do
 {
 if(i == 5)
 break;
 printf("%d ", i);
 i = i + 1;
 }while(i<=10);//输出的结果为1 2 3 4
  return 0;
}

continue的示例:

#include <stdio.h>
int main()
{
 int i = 1;
 do
 {
 if(i == 5)
 continue;
 printf("%d ", i);
 i = i + 1;
 }while(i<=10);//输出结果为1 2 3 4 _
 return 0;
 }

由以上两个示例我们可以发现do while语句中的break与continue造成的影响与while语句中的相同。
总的来说:1.break在三大循环语句中的作用是相同的,即同样的代码输出的结果是相同的。
2.do while与while循环中的break和continue的作用是相同的。
3.唯一不同的便是continue在for循环与while循环(do while循环)中会有不同的作用。

当然啦,这三大循环语句可进行嵌套,以满足不同条件需求。

以上便是C语言中三大循环语句的所有内容,以上内容如有不妥,恳请大佬指正,本人just a 正在成长的萌新。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值