在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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
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循环,输出结果。

结果
在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐