C语言回顾4-04-16

C语言回顾4-基本语句-while语句


上一篇我们介绍了if语句,今天要介绍的while语句和他也有一点相似的地方,也是当什么什么的时候就怎么怎么样。while循环语句的结构比较简单,有while()和do{}while()两种结构。

我们先介绍while(){}类型,他的这个括号内和if的条件一样,为真时运行{}里的代码,但是不同的是,他会一直运行到()内的条件为假时才会往下运行,如果一直为真,那么会重复运行{}里的代码,然后再判定,为真再运行。。。。。如果我们的条件永远为真,比如while(1),那么这时候while就是一个死循环,在后面我们会用到这个技巧。

现在我们来看一个小程序,我有一百块钱,每次花五块,要花多少次。当然这个问题很简单,但是你需要教会电脑计算,代码如下:

#include<stdio.h>
int main()
{
	int num=100,i=0;//这里定义num用来存放总金额i用来存放花钱的次数.
	while(num!=0)//这一句表达当剩下的钱不是0的时候就为真
	{
		num=num-5;//每次花五块钱,也就是余额每次减少五块
        printf("%d  ",num);//这里我们查看一下余额,方便理解程序
		i=i+1;//花钱的次数加一
	}
	printf("num=%d   i=%d",num,i);//这里运行完while查看一下num和i的值
	getchar();//这里暂停一下
	return 0;
}

它的运行结果是这样的:

如果我们没有while语句,我们要用if怎么写,应该是每次花五块就要用if判断一下,当余额为0时停止花钱。很麻烦对不对,while的好处就是,我们可以不知道循环的次数,只要知道一定有结束的时候就可以了,但是要注意每次代码对条件的影响,如果不改变条件,一不小心就会成为死循环。

然后我们再复习一下do{}while(),他和while没什么不同,不一样的是,上面那个代码,那个条件一共判断了多少次呢,是21次,而如果用do{}while(),像下面的代码:

#include<stdio.h>
int main()
{
	int num=100,i=0;//这里定义num用来存放总金额i用来存放花钱的次数.
	do
	{
		num=num-5;//每次花五块钱,也就是余额每次减少五块
		printf("%d ",num);//这里我们查看一下余额,方便理解程序
		i=i+1;//花钱的次数加一
	}while(num!=0);
	printf("\nnum=%d   i=%d",num,i);//这里运行完while查看一下num和i的值
	getchar();//这里暂停一下
	return 0;
}

运行结果并没有改变,也就是说,do while的不同在于,他刚开始运行的时候,不会判断,一定会运行一次{}里的代码,然后每次在判断,那么在一些我们想让他不管成不成里都要运行一次的时候,就应当选用do{}while()这种结构。

还有一点,如果我们想在另一个条件成立是终止循环,就要用到break语句,他的作用就是跳出整个循环,无论条件为真为假,都结束循环进行下面的代码。当我们想要用的时候,可以搭配if语句比如上面那个例题,当我们花掉五十块钱的时候,就强制不能再花了(跳出循环),那要怎么做呢?

很简单,在里面加上一句if(num==50)break;就可以了,他的结果如下:

还有当我们只想跳出一次循环,比如我们还有十块钱的时候,花掉了钱,但是不想记次数(跳过i=i+1那句代码)就要用到continue语句,他的作用和break类似,但是他只能跳过本次循环,之间进入到下一次的条件判定环节,比如我们在i=i+1;上面加一句if(num==20)continue;,运行结果如下:

可以看见,i少了一次num等于20时的计数,这就是continue的作用,下去还是需要多多练习,掌握while的用法,理解两个跳出语句的不同并掌握。

那么今天的复习就到这里了。


22 : 02

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值