for 、while 、do while
while循环
while基本语句
while(表达式)
语句;
我们会发现while语句与if语句十分相似,但是二者功能并不相同
#include<stdio.h>
int main()
{
while (1)
printf("hello word!\n");
return 0;
}
#include<stdio.h>
int main()
{
if (1)
printf("hello word!\n");
return 0;
}
while语句中只要满足表达式,就能循环执行while包含的语句,而if语句不能实现循环
for循环
for语句的基本形式
for(表达式1; 表达式2; 表达式3)
语句;
- 表达式1: 用于循环变量的初始化
- 表达式2: 用于循环结束条件的判断
- 表达式3:用于循环变量的调整
从这就可以看出for语句的三个判断条件十分集中,便于代码的管理,这也是为什么for循环语句相较于其它两种语句使用较多
对比while循环和for循环
我们用两种循环来实现在屏幕上打印1~10
#include<stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d ", i);
i += 1;
}
return 0;
}
#include<stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
printf("%d ", i);
}
return 0;
}
很明显,两个程序的结果都是一样的,但从代码形式上看,for循环的代码比较集中,有利于代码的维护,在代码过多时,while循环的条件会比较分散不利于管理,可见for循环更胜一筹。当然,我们还需结合实际需求选择合适的循环语句。
do while循环
do while语句形式
do
语句;
while(表达式)
do while 循环会先执行语句部分,在进行表达式的判断,所以do while循环体是至少执行一次的。
一般do while 使用在循环体至少被执行一次的场景下,所以使用得比较少
break和continue语句
- break 永久的终止循环,只要break被执行,就会直接跳出循环,继续往后执行。
- continue跳过本次循环continue后面的代码,其在for循环和while循环中会有所差异
while循环中的break和continue
break
#include<stdio.h>
int main()
{
int i = 0;
while (i <= 10)
{
if (i == 5)
break;//当i等于5时,执行break终止循环,屏幕只会打印0 1 2 3 4
printf("%d ", i);
i = i + 1;
}
return 0;
}
continue
#include<stdio.h>
int main()
{
int i = 0;
while (i <= 10)
{
if (i == 5)
continue;//i等于5时,执行continue跳过后面语句,所以i一直等于五,一直continue,
//一直跳过printf和i的调整语句,程序陷入死循环
printf("%d ", i);
i = i + 1;
}
return 0;
}
通过对比我们会发现两个程序都打印了 0 1 2 3 4但是包含continue的程序并没有结束而是陷入了死循环,而break直接终止了循环
for循环中的break和continue
- break在for中依然是终止循环
- continue则会跳过本次循环Continue后的语句来到for循环的调整部分进行后续的循环判断,这就不同于while循环了,while循环中会跳到while后表达式中,在使用时我们要清晰的知道二者的区别。
#include<stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
if (i == 5)
break;// i等于5是,break执行终止循环,屏幕上打印1 2 3 4
printf("%d ", i);
}
return 0;
}
#include<stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
if (i == 5)
continue;//i等于5是跳过后面程序来到i的调整部分继续执行后续循环。屏幕打印1 2 3 4 6 7 8 9 10
printf("%d ", i);
}
return 0;
}
do while循环中的break和continue
其实和while语句中的break和continue类似
循环的嵌套
在C语言中的循环,常常都将for、while、do while 三种循环结合使用使得功能更加多样化,能够更好的贴合实际需求。
今天的shark 博客就到这里了,大家可以一起交流哦!!!