do while 用法与例题

  • 例题1:用do-while输出1到10的值:
  • 例题2:用do-while计算1加到100的值:
  • 例题3:用do-while计算水仙花(100到999之间各个位数的立方和等于本身数成为水仙花数):

在c语言中出了经常使用的while循环,还有一种 do while 循环,下面会有do while循环的使用情况。

do while循环表达式:

do{    语句块}while(表达式);注意!!! while();,的 英文分号 ;。必须要加!!!

do...while 循环 是 while 循环的变体。在检查 while( ) 条件是否为真之前,该循环首先会执行一次 do { } 之内的语句,然后在 while ( ) 内检查条件是否为真,如果条件为真的话,就会重复do while这个循环直到 while( ) 语句为假,退出循环,输出结果。

例题1:用do-while输出1到10的值:

代码:

#include int main (void){ int i = 1;// 设置初始值,i为1。do{printf("数值为:%d\n",i);i++;}while(i<=10);   //先执行语句,在判断结果。return 0;}

解释:
首先是设置初始值为1。
1、输出数值为1,然后i++结算 结果 i 为2;
2、接着运行至while语句这里,进行判断,条件为真时,继续循环,输出 i = 2;再计算 i ++;
3、直到 i = 11 时,条件为假,跳出循环输出结果。

结果:

例题2:用do-while计算1加到100的值:

代码:

#include int main (void){int i;int sum;    //定义i 和 sum;i=1;sum=0;//给 i 和 sum 一个初始值。do{//sum += i;sum = sum+i;   // 求和i++;}while(i<=100);     //判断条件 printf("1加到100的值为:%d\n",sum);return 0;}

解释:
首先是设置初始值为i = 1;sum = 0 。
1、输出数值为1,sum等于0+1等于 1;然后i++结算 结果 i 为2;
2、接着运行至while语句这里,进行判断,条件为真时,继续循环;
3、当 i = 2;sum等于 之前计算的sum值 加 新的 i 的值,再计算 i ++;
4、直到 i = 100 时,条件为假,跳出循环输出结果。

结果:

例题3:用do-while计算水仙花(100到999之间各个位数的立方和等于本身数成为水仙花数):

代码:

#include int main (void){int i = 100;int a,b,c;do{// 拆解百位十位各位a = i/100;//百位b = i/10%10;//十位c = i%10;//各位if(a*a*a+b*b*b+c*c*c == i){printf("水仙花数:%d\n",i);}i++;}while (i<=999);return 0;}

解释:
首先是设置初始值为i = 100;
1、开始执行 i = 100;条件成立,执行语句块内容,拆解i的个位十位百位数,在用 if语句 判断是否成立,成立就输出 i;
2、判断 i 的值,拆分个位十位百位;a = i/100; //百位; b = i/10%10; //十位;c = i%10; //个位
3、重复上面的操作,直到 i>999 时,条件不成立,直接跳出do while循环,输出结果。

结果