11、循环语句

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

一、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;
}

运行结果

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6