循环语句
在我们了解中,if语句
if(条件)语句;
当条件满足的情况下,if语句后的语句执行,否则不执行。但是这个语句只会执行一次。但是我们发现生活中很多实例的例子:同一件事情我们需要完成很多次。所以C语言中引入了:循环语句。
while语句
我们首先来看看while语句执行流程图
所以while的语法结构是:
while(表达式)
循环语句;
注意:
(1)循环语句如果包含一个以上的语句,应该用大括号括起来。
(2)循环体中要有使循环趋于结束的语句。
(3)如果表达式的值一开始就为假(零),则循环体将一次也不执行。
下面我们用一道题来了解while基本语法
在屏幕上打印1-10的数字
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
printf("%d ",i);
i = i+1;
}
return 0;
}
输出结果为
1 2 3 4 5 6 7 8 9 10
while语句中的break和continue
break介绍
break在while循环中的作用:其实在循环中只要遇到break,就停止后期的所有循环,直接终止循环。所以while中的break是用于永久终止循环的。
continue介绍
continue 的作用是:跳过本次循环continue后边的代码,直接到while循环的判断部分
for语句
for语句执行结构图:
语法:
for(表达式1;表达式2;表达式3)
循环语句;
关键字for后面括号中的三个表达式,分别用分号隔开。表达式1为初始化,只会在循环开始时执行一次。表达式2为条件判断部分,用于判断循环什么时候终止。表达式3为调整部分,用于循环条件的调整。
接下来我们通过例题来熟悉for循环
#include <stdio.h>
//在屏幕上打印1-10的数字
int main()
{
int i = 0;
//for(i=1/*初始化*/; i<=10/*判断部分*/;i++/*调整部分*/)
for(i=1; i<=10;i++)
{
printf("%d ",i);
}
return 0;
}
break和continue在for循环中
其实break和continue的作用在所有循环中都是一样的,但是还是有些差异
#include <stdio.h>
//break:
int main()
{
int i = 0;
for(i=1; i<=10; i++)
{
if(i == 5)
break; //直接跳出循环
printf("%d ",i); //输出结果:1,2,3,4
}
return 0;
}
//continue:
int main()
{
int i = 0;
for(i=1; i<=10; i++)
{
if(i == 5)
continue; //直接跳过后面语句到for中的调整部分
printf("%d ",i); //输出结果:1 2 3 4 6 7 8 9 10
}
return 0;
}
在while循环中continue直接跳转到条件判断部分,所以在while循环中,要注意调整部分的位置,防止使用continue后造成死循环。
for循环的变种
在for循环中,初始部分,判断部分,调整部分都可以省略掉
int main()
{
int i = 0;
int j = 0;
//初始化,判断,调整 三个部分都可以省略
//1. 可以省略
//2. 判断部分只要省略了,就意味着判断恒为“真”
//3. 尽量不要省略
/*for (i=0; ; i++) //省略了判断部分,意味着判断恒为“真”
{
printf("hehe\n"); //死循环打印hehe
}*/
for (; i < 10; i++)
{
for (; j < 10; j++)
{
printf("hehe\n");
}
}
return 0;
}
do while语句
while循环和for循环都是入口循环,即在循环的每次迭代之前检查判断部分,所以有可能不执行循环体中的内容。C语言还有出口条件循环,即在循环的每次迭代之后检查判断部分,这保证了至少执行循环体的内容一次。这种循环被称为do…while循环。
do语句的语法
do
{
循环语句;
}while(表达式);
执行流程
do语句的特点
循环至少执行一次,使用的场景有限,所以不是经常使用。
int main()
{
int i = 10;
do
{
printf("%d\n",i);
}while(i<10);
return 0;
}