C语言中共提供了3种循环语句,包括while语句、for语句与do…while语句。以下是对这三种循环语句的大致解释与分析。
while语句
while语句的语法格式与if语句类似:
while (表达式)
{
语句
}
程序开始时⾸先执⾏判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执⾏循环语句;语句执⾏完后再继续判断,根据表达式结果确定是否继续执行。
例如通过while语句在屏幕打印1-10:
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 10)
{
printf("%d ", i);
i++;
}
return 0;
}
使用while循环时,应注意加入如上述i++以控制循环变量,并在达到特定条件时终止循环,否则会造成死循环。
for语句
for语句是三种循环语句中使用最多的,for循环的语法格式如下:
for (表达式1;表达式2;表达式3)
{
语句
}
其中,表达式1用于循环变量的初始化,表达式2用于判断循环变量结束的条件,而表达式3则用于调整循环变量。当表达式2的结果为非0时执行语句,表达式2的结果为0时则终止循环。
而在整个循环的过程中,表达式1初始化部分只执行1次,剩下的就是表达式2、循环语句、表达式3在循环。
以下通过for语句在屏幕打印1-10:
#include <stdio.h>
int main()
{
int i = 0;
for (i = 1; i <= 10; i++)
{
printf("%d ", i);
}
return 0;
}
do…while语句
do…while语句在循环语句中使用的最少,其语法格式如下:
do
{
语句
} while(表达式);
do…while语句是先进入循环执行语句,再判断while后的表达式,若表达式结果为非0执行语句,表达式结果为0则终止循环。
由do…while语句是先执行语句再判断,所以该循环语句至少会执行一次语句,这是do…while与其他循环语句特殊的地方,因此do…while循环语句使用较少。
以下通过do…while语句在屏幕打印1-10:
#include <stdio.h>
int main()
{
int i = 1;
do
{
printf("%d ", i);
i++;
} while (i <= 10)
return 0;
}
以上三种循环语句在实现循环的过程中都有初始化、判断、调整这三个部分,由于for循环语句三个部分非常集中,便于代码的维护,而另外两种循环语句三部分分散,因此for循环在形式上更优。