C语言详细讲解while语句的用法

 更新时间:2022年05月24日 09:11:27   作者:liao-xin  
c语言while语句的使用语法如“while(condition) {statement(s);}”,该语句可以是单个语句,也可以是一个语句块,其条件可以是任意表达式,true是任意非零值,当条件为真时,循环进行迭代

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下面的语句。

结果:

到此这篇关于C语言详细讲解while语句的用法的文章就介绍到这了,更多相关C语言while语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++实现访问者模式的基础介绍

    C++实现访问者模式的基础介绍

    访问者模式表示一个作用于某对象结构中各元素的操作,它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。对C++访问者模式相关知识感兴趣的朋友一起看看吧
    2021-09-09
  • Qt实现TCP客户端和服务器通讯程序

    Qt实现TCP客户端和服务器通讯程序

    这篇文章主要为大家详细介绍了Qt实现TCP客户端和服务器通讯程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • C语言实现快速排序改进版

    C语言实现快速排序改进版

    这篇文章主要为大家详细介绍了C语言实现快速排序的改进代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • 用C语言的泛型实现交换两个变量值

    用C语言的泛型实现交换两个变量值

    在日常编程里面经常会遇到交换两个变量的内容的任务,对于泛型类型而言有两种泛型策略来实现,下面跟着小编一起来学习学习。
    2016-08-08
  • C语言大厂面试技巧及strcpy()函数示例详解

    C语言大厂面试技巧及strcpy()函数示例详解

    这篇文章主要为大家介绍了C语言面试技巧,以strcpy()函数为示例进行分析详解,有需要冲刺大厂的朋友们可以借鉴参考下,希望能够有所帮助
    2021-11-11
  • Qt菜单QMenu和菜单栏QMenuBar及自定义菜单用法

    Qt菜单QMenu和菜单栏QMenuBar及自定义菜单用法

    本文主要介绍了Qt菜单QMenu和菜单栏QMenuBar及自定义菜单用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • 浅谈C++11的std::mem_fn源码解析

    浅谈C++11的std::mem_fn源码解析

    本文是基于gcc-4.9.0的源代码进行分析,std::mem_fn是C++11才加入标准的,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • 在C语言中转换时间的基本方法介绍

    在C语言中转换时间的基本方法介绍

    这篇文章主要介绍了在C语言中转换时间的基本方法,分别是mktime()函数和localtime()函数的使用,需要的朋友可以参考下
    2015-08-08
  • C++笔记-设置cout输出数据的宽度和填充方式

    C++笔记-设置cout输出数据的宽度和填充方式

    这篇文章主要介绍了C++笔记-设置cout输出数据的宽度和填充方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • C语言中判断两数组中是否有相同的元素

    C语言中判断两数组中是否有相同的元素

    下面是我在做IF语句练习时遇到的一个练习题,想要整理在博客上判断两个数组中是否有相同的元素,需要的朋友可以参考下
    2019-10-10

最新评论