while语句
while语句格式例题1:用while语句,输出0-9的值。例题2:用while计算1-100的和例题3:经典题目水仙花数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下面的语句。
结果: