11、循环语句

目录

一、while语句

二、do…while语句

三、for语句


一、while语句

使用while语句可以执行循环结构,其一般形式如下:

while语句的执行流程图:

while语句首先检验一个条件,也就是括号中的表达式。当条件为时,就执行紧跟其后的语句或者语句块。每执行一遍循环,程序都将回到while语句处,重新检验条件是否满足。如果一开始条件就不满足,则跳过循环体中的语句,直接执行后面的程序代码。如果第一次检验时条件满足,那么在第一次或其后的循环过程中,必须得有使条件为的操作,否则循环将无法终止。

注意:无法终止的循环常被称为死循环或者无限循环。如下面这个例子:

在这段代码中,while语句首先判断iSum变量是否小于常量100,如果小于100,为真,那么执行紧跟其后的语句块;如果不小于100,为假,那么跳过语句块中的内容直接执行下面的程序代码。在语句块中,可以看到对其中的变量进行加1的运算,这里的加1运算就是循环结构中使条件为假的操作,也就是使得iSum不小于100,否则程序会一直循环下去。

示例1:计算1累加到100的结果

#include<stdio.h>

int main()
{
       int i, sum;  //定义变量
       i = 1;  //表示每一个数字
       sum = 0; //表示计算总和
       while (i <= 100)  //使用while循环
       {
              sum = sum + i;  //进行累积
              i++;  //增加数字
       }
       printf("结果为:%d\n", sum);  //输出结果
       return 0;
}

运行结果:

二、do…while语句

在有些情况下,不论条件是否满足,循环过程必须至少执行一次,这时可以采用do…while语句。do…while语句的特点就是先执行循环体语句的内容,然后判断循环条件是否成立。其一般形式如下:

do…while语句的执行流程图

首先执行一次循环体语句中的内容,然后判断表达式,当表达式的值为真时,返回重新执行循环体语句。执行循环,直到表达式的判断为假时为止,此时循环结束。

注意1

while语句和do…while语句的区别在于:while语句在每次循环之前检验条件,do…while语句在每次循环之后检验条件。(while结构中的while语句出现在循环体的前面,do…while结构中的while语句出现在循环体的后面),例如下面例子:

在上面的代码中,首先执行iNumber++的操作,也就是说,不管iNumber是否小于100,都会执行一次循环体中的内容。然后判断while后括号中的内容,如果iNumber小于100,则再次执行循环语句块中的内容;条件为假时,执行下面的程序操作。

注意2:在使用do…while语句时,条件要放在while关键字后面的括号中,最后必须加上一个分号,这是许多初学者容易忘记的。

示例2:使用do…while语句计算1~100的累加结果

#include<stdio.h>

int main()
{
       int i, sum;  //定义变量
       i = 1;  //表示每一个数字
       sum = 0; //表示计算总和
        do
       {
              sum = sum + i;  //进行累积
              i++;  //增加数字
        }
        while (i <= 100); //检验条件
       printf("结果为:%d\n", sum);  //输出结果
       return 0;
}

运行结果:

三、for语句

for语句的一般形式如下:

每条for语句包含3个用分号隔开的表达式。这3个表达式用一对圆括号括起来,其后紧跟着循环语句或语句块。当执行到for语句时,程序首先计算第一个表达式的值,接着计算第二个表达式的值。如果第二个表达式的值为真,程序就执行循环体的内容,并计算第3个表达式;然后检验第二个表达式,执行循环;如此反复,直到第二个表达式的值为假,退出循环。

for语句的执行流程图

对上述流程图可以总结为:

(1)求解表达式1。

(2)求解表达式2,若其值为真,则执行for语句中的循环语句块,然后执行步骤(3);若为假,则结束循环,转到步骤(5)。

(3)求解表达式3。

(4)回到上面的步骤(2),继续执行。

(5)循环结束,执行for语句下面的一个语句。

则for语句简单的应用形式如下:

例如实现一个循环操作:

示例3:使用for语句计算1~100的累加结果

#include<stdio.h>

int main()
{
       int i, sum;  //定义变量
       sum = 0; //表示计算总和
       for (i=1;i<=100;i++)
       {
              sum = sum + i;
       }
       printf("结果为:%d\n", sum);  //输出结果
       return 0;
}

运行结果:

猜你喜欢

转载自blog.csdn.net/qq_25990967/article/details/128651913