while语句格式

格式:

while(表达式)
{
    语句块
}

1、先执行while(表达式),如条件为真执行语句块;
2、执行完语句块,继续执行表达式;
3、知道表达式为假。就退出循环,执行while后面的代码。

例题1:用while语句,输出0-9的值。

代码:

#include <stdio.h>
int main (void)
{
	int i=0;    //初始条件i=0;
	while(i<10)  //while 循环
				//while(表达式) 如果为真执行{  }里面语句块。
	{
		printf("i的值为:%d\n",i); //输出i的值
		i++;    //自增
	}
	return 0;
}

解释:
1、开始定义初始条件i=0;
2、开始进入while( i<10 )循环,i=0;条件成立,立即执行语句块内容,输出 i = 0;计算 i++;i = 1;
3、进入while( i<10 )i = 1; 条件成立,立即执行语句块内容,输出 i = 1;再计算 i++;i = 2;
4、重复上面的步骤,直到 i =10; 条件不成立时候,跳出循环,执行return 0
结果:
在这里插入图片描述

例题2:用while计算1-100的和

代码:

#include <stdio.h>
int main (void)
{
	int i=0;   //定义一个 i、sum 的初始条件;
	int sum=0;
	while(i<=100)  //while 循环
	{
		sum += i;    //语句块 条件
		i ++;
	}
	printf("1-100的和:%d\n",sum);  //求和
	return 0;
}

解释:
1、开始运行while(i <=100); 因为 i=1,i<=100 成立,所以会执行循环体;执行结束后 i ++ ; i 的值变为 2,sum 的值变为 1。
2、while循环继续判断 i<=100是否成立,因为此时 i=2,i<=100 成立,所以继续执行循环体;执行结束后 i ++ ; i 的值变为 3,sum 的值变为3。
3、重复执行步骤 2。当循环进行到第100次,i 的值变为 101,sum 的值变为5050;因为此时 i<=100 不再成立,所以就退出循环,不再执行循环体,转而执行while循环后面的代码。
结果:
在这里插入图片描述

例题3:经典题目水仙花数

(从0至999之间各个位数的立方和等于本身的数等于水仙花数)
代码:

#include <stdio.h>
int main (void)
{
	int i=0;     //定义初始值数
	int a,b,c;     //定义个位数百位数
	while( i<=999)  //条件
	{
		//开始拆解个位、十位、百位;
		a = i/100;   //百位
		b = i/10%10; //十位
		c = i%10;    //个位
		if (a*a*a+b*b*b+c*c*c == i)  //if语句判断条件
		{
			printf("水仙花:%d\n",i); //为真输出语句块
		}
		i++;   //再计算i,后面返回while
	}
	return 0;
}

解释:
1、开始确定区间【0-999】
2、开始执行 i = 0;条件成立,执行语句块内容,拆解i的个位百位数,在用if语句判断是否成立,成立就输出i;
3、判断i的值,拆分个位十位百位;a = i/100; //百位; b = i/10%10; //十位;c = i%10; //个位
4、重复上面的操作,直到i=1000时,条件不成立,直接跳出while循环,运行while下面的语句。
结果:
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐