• while语句使用


    1、while语句格式

    格式:

    while(表达式)
    {
        语句块
    }
    
    • 1
    • 2
    • 3
    • 4

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    解释:
    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    解释:
    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    解释:
    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下面的语句。
    结果:
    在这里插入图片描述

  • 相关阅读:
    计算机程序内存分布
    DTS搭载全新自研内核,突破两地三中心架构的关键技术|腾讯云数据库
    UG\NX二次开发 获取装配部件的相关信息UF_ASSEM_ask_component_data
    C++类内定义友元却无需类外声明的特殊情况
    Linux——Xshell、Xftp实现Linux远程登录与应用
    安装redis 集群
    体验静态代码块
    Java标识符和关键字
    腾讯云4核8G服务器支持多少人在线访问?
    1. 数据结构基础知识
  • 原文地址:https://blog.csdn.net/weixin_45767909/article/details/124902641