循环语句(for、while、do while)
下面我们来介绍C语言中的三种循环语句分别是for、while、do while以及它们之间的区别。
for语句
请看下列代码
#include <stdio.h>
int main()
{
int count = 10;
int n;
for (n = 1; n < count; n++)
printf("haha\n");
return 0;
}
我们会发现for后面的括号中有三个表达式,每个表达式中间由一个分号隔开。其中第一个表达式是初始化,第二个表达式是测试条件,在执行循环之前对表达式进行求值。若表达式为假(指的是n大于count)那么循环结束。第三个表达式执行更新,在每次循环结束时求值,如上述代码用上述表达式使得n不断递增,更新计算。
以上是上述代码打印出来的结果
以上是for语句的流程图
while语句
请看下列代码
#include <stdio.h>
int main()
{
int n = 0;
while (n < 10)
{
printf("haha\n");
n++;
}
return 0;
}
while循环的通用形式如下:
while(expression)
statement
statement部分可以是以分号结尾的简单句,也可以是用花括号括起来的复合语句。expression部分使用关系表达式,如上述代码所示,当n小于10的时候进入循环,执行程序。当n小于10的时候,不进入循环,循环内的程序也就不执行了。
上述图片是代码打印出来的结果
如上述图片可以看出,首先进入关系表达式判断n是否小于10,若为真则进入循环,反之则不能进入循环。我们仔细观察循环中的语句可以看出n的值是不断增加的,当n的值大于10时则循环终止。
以上是while语句的流程图
do while语句
如下代码所示
#include <stdio.h>
int main()
{
int n = 10;
int count;
do
{
printf("please guess a number,\n");
printf("Enter a number:");
scanf("%d", &count);
} while (count != n);
printf("comgratulation!");
return 0;
}
如上述代码do while循环的通用形式为:
do
{statement}
while(expression)
statement可以是简单语句也可以是复合语句。do while循环在执行完循环体后才执行测试条件,所以至少执行一次循环体。反观for循环和while循环都是在执行循环体之前先执行测试条件。所以说do while循环适用于那些至少要迭代一次的循环。
如图所示上述为代码运行出来的结果
上述代码我们可以看到首先是将do后面的语句打印出来,再进行判断,若判断的结果为真则结束循环,反之则一直重复循环。
上述是do while循环语句的程序流程图