1. while循环
C语⾔提供了3种循环语句,
while
就是其中⼀种,接下来就介绍⼀下
while
语句。
while
语句的语法结构和
if
语句⾮常相似。
1.1 if 和 while的对⽐
if(表达式)
语句;
while(表达式)
语句;//如果循环体想包含更多的语句,可以加上⼤括号
你可以对⽐来看⼀下,具体写个代码吧
//代码1
#include <stdio.h>
int main()
{
if(1)
printf("hehe\n"); //if后边条件满⾜,打印⼀次hehe
return 0;
}
//代码2
#include <stdio.h>
int main()
{
while(1)
printf("hehe\n"); //while后边的条件满⾜,死循环的打印hehe
return 0;
}
这就是他们的区别,while语句是可以实现循环效果的。
1.2 while 循环的实践
练习:在屏幕上打印 1~10 的值
参考代码:
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
printf("%d ", i);
i = i+1;
}
return 0;
}
2. for循环
2.1 语法形式
for
循环是三种循环中使⽤最多的,
for
循环的语法形式如下:
for(表达式1; 表达式2; 表达式3)
语句;//如果循环体想包含更多的语句,可以加上⼤括号
表达式1 ⽤于循环变量的初始化
表达式2 ⽤于循环结束条件的判断
表达式3 ⽤于循环变量的调整
2.2 for循环的实践
练习:在屏幕上打印1~10的值
参考代码:
#include <stdio.h>
int main()
{
int i = 0;
for(i=1; i<=10; i++)
{
printf("%d ", i);
}
return 0;
}
2.3 while循环和for循环的对⽐

for
和
while
在实现循环的过程中都有初始化、判断、调整这三个部分,但是
for
循环的三个部分⾮常集中,便于代码的维护,⽽如果代码较多的时候 while
循环的三个部分就⽐较分散,所以从形式上 for
循环要更优⼀些。
3. do-while 循环
3.1 语法形式
在循环语句中
do while
语句的使⽤最少,它的语法如下:
do
语句;
while(表达式);
while
和
for
这两种循环都是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳
出循环;
⽽
do while
循环则是先直接进⼊循环体,执⾏循环语句,然后再执⾏
while
后的判断表达式,表
达式为真,就会进⾏下⼀次,表达式为假,则不再继续循环。
3.2 do while循环的实例
在屏幕上打印1~10的值
#include <stdio.h>
int main()
{
int i = 1;
do
{
printf("%d ", i);
i = i + 1;
}while(i<=10);
return 0;
}
⼀般
do while
使⽤在循环体⾄少被执⾏⼀次的场景下,所以较少⼀些。
4. break和continue语句
在循环执⾏的过程中,如果某些状况发⽣的时候,需要提前终⽌循环,这是⾮常常⻅的现象。C语⾔中提供了 break
和
continue
两个关键字,就是应⽤到循环中的。
break
的作⽤是⽤于永久的终⽌循环,只要
break
被执⾏,直接就会跳出循环,继续往后执⾏。
continue
的作⽤是跳过本次循环中
continue
后边的代码,在
for 循环和 while
循环中有所差异的。
4.1 while循环中的break和continue
4.1.1 break举例
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
if(i == 5)
break;//当i等于5后,就执⾏break,循环就终⽌了
printf("%d ", i);
i = i+1;
}
return 0;
}
执⾏的结果:

打印了1,2,3,4后,当i等于5的时候,循环在
break
的地⽅终⽌,不再打印,不再循环。
所以
break
的作⽤就是永久的终⽌循环,只要
break
被执⾏,
break
外的第⼀层循环就终⽌了。
那以后我们在循环中,想在某种条件下终⽌循环,则可以使⽤
break
来完成我们想要的效果。
4.1.2 continue举例
continue
是继续的意思,在循环中的作⽤就是跳过本次循环中
continue
后边的代码,继续进⾏
下⼀次循环的判断。
上⾯的代码,如果把
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,程序陷⼊和死循环
printf("%d ", i);
i = i+1;
}
return 0;
}
到这⾥我们就能分析出来,
continue
可以帮助我们跳过某⼀次循环
continue
后边的代码,直接
到循环的判断部分,进⾏下⼀次循环的判断,如果循环的调整是在
continue
后边的话,可能会造成死循环。
4.2 for循环中的break和continue
4.2.1 break 举例
其实和
while 循环中的 break
⼀样,
for
循环中的
break
也是⽤于终⽌循环的,不管循环还需
要循环多少次,只要执⾏到了
break
,循环就彻底终⽌。
4.2.2 continue举例
#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 循环中 continue
的作⽤是跳过本次循环中
continue
后的代码,直接去到循环的调
整部分。未来当某个条件发⽣的时候,本次循环⽆需再执⾏后续某些操作的时候,就可以使⽤
continue
来实现。
在这⾥我们也可以对⽐⼀下
while
循环和
for循环中的区别·:

4.3 do while循环中的break和continue
do.while
语句中的
break
和
continue
的作⽤和
while
循环中⼏乎⼀模⼀样,⼤家下来可以⾃⾏测试并体会。