一、while语句

(1)执行while语句,先判断表达式1是否为真,为真则执行语句1,否则跳过while语句的内容。一般形式如下:

while (表达式1)
{
语句1
}

(2)while语句流程图

C语言中的三种循环语句_while语句

如果表达式1条件一直为真,那么将会出现死循环,例如:

int a=1;
while(a)
{
a*=2;
}

注意:这里的while后面是没有“;”的。


二、do...while语句

(1)do...while语句:

在有些情况中,循环是必须执行时,我们就需要用到do...while语句。一般形式如下:

do
循环语句
while(表达式)

(2)do...while语句流程图

C语言中的三种循环语句_while语句_02

例如:

do
{
a++;
}
while(a<10);

这是先执行循环体内的内容,在执行while语句中的表达式。这里的while后面有“;”;

三、for语句

(1)for语句也可以控制一个循环,并且在循环中可以改变循环变量。可以用于循环次数确定的情况,也可以次数不确定而只给出结束条件的情况。

表达式为:

for(表达式1;表达式2;表达式3)
{
循环语句;
}

(2)for语句流程图:

执行for语句时,执行表达式1,再执行判断表达式2的值是否为真,为真时执行循环语句,再计算表达式3的值,检验表达式2,是否继续执行循环语句。以此循环往复。

C语言中的三种循环语句_死循环_03

例如:

利用for语句打印1-9的数。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int a ;
for(a = 1; a < 10; a++)
{
printf("the a is:%d\n", a);
}
return 0;
}

结果如下:

C语言中的三种循环语句_流程图_04

(3)在这里,如果for语句中的变量在前面已经进行了赋值,那么for中是可以省略表达式1的,但是“;”分号不能省略。

int a=1;
for(a =; a < 10; a++)

同样表达式·而·若是省略,则表示条件一直为真,则一直执行下去:

for(a =; ; a++)

就相当于while(1)表达式:

int a ;
while(1)
{
printf("the a is:%d\n", a);
}

而表达式3出现省略时,能运行,但是同样也时无修止运行。

for(a = 1; a < 10;)

(4)for语句逗号使用

在for语句中的表达式1和表达式3处使用“,”逗号可以进行多次赋值和运算:

for(a = 1,b=1; a < 10;a+=,b++)

四、总结

(1)while()和do...while()只在while后面指定循环条件,在循环体内加入结束的操作(a++);for()语句在表达式3中就可以实现。

(2)while()和do...while()只能在之前进行变量的赋值,而for()能在表达式1中进行。

(3)三种循环都可以使用break语句跳出循环,同样可以用continue语句结束本次循环。