六六互联

do-while语句的一般形式

break-word; clear: both; text-indent: 2em; color: rgb(24, 30, 51); font-family: PingFangSC, 微软雅黑, 黑体, Arial, Helvetica, sans-serif; font-size: 18px; background-color: rgb(255, 255, 255);">do-while语句的一般形式为:

break-word; margin: 0px; padding: 10px; color: rgb(24, 30, 51); font-family: PingFangSC, 微软雅黑, 黑体, Arial, Helvetica, sans-serif;">

do

      语句

 while(表达式);

do-while语句的一般形式

这个循环与while循环的不同在于:它先执行循环体语句一次,再判断表达式的值,若为真(非0)则继续执行循环体语句;直到表达式的值为假(0)时才退出循环。do-while语句和while语句的区别在于do-while是先执行后判断,因此,do-while循环至少要执行一次循环体语句。而while语句是先判断后执行,如果条件不满足,则一次循环体语句也不执行。一般用while语句所编写的程序也可以用do-while来编写。do-while执行流程如图4-3表示。

do-while语句的一般形式

4-3 do-while语句执行过程

【例4-3】用do-while语句计算从1加到100的值

分析:本题要求sum=1+2+3+…+100,循环变量i的值从1-100递增,i的初值为1、终值为100,累加器sum的初值为0(sum=sum+i)。

程序的算法流程图如图4-4所示。

根据流程图写出的程序如下:

#include <stdio.h>

int main(){

    int i,sum=0;

    i=1;

    do{

        sum=sum+i;

        i++;

    }while(i<=100);

    printf("%d\n",sum);

    return 0;

}

程序运行结果:

5050

【例4-4】while和do-while循环比较。

1. while循环

#include <stdio.h>

int main( ){

    int sum=0,i;

    scanf("%d",&i);

    while(i<=10){

        sum=sum+i;

        i++;

    }

    printf("sum=%d",sum);

    return 0;

}

输入11时的运行结果:

11

sum=0

2.do-while循环:

#include <stdio.h>

int main( ){

    int sum=0,i;

    scanf("%d",&i);

    do{

         sum=sum+i;

         i++;

    }while(i<=10);

    printf("sum=%d",sum);

    return 0;

}

当输入11时的运行结果:

11

sum=11

在本例中,当i=11时, while循环先判断条件“i<=100”不成立,循环体一次也没有执行,所以输出sum=0;而do-while循环是先执行循环体“sum=sum+i; i++;”,这时sum=0+11即sum=11,i=12已经计算好了再来判断条件“i<=100”是否成立来决定是否进入下一次循环。


相关推荐