C语言入门 Day_15 while循坏

目录

前言

1.while循环

2.do-while循环

3.易错点

4.思维导图


前言

 想象一下我们写了一个小型的程序,它的功能是在某购物网站上购买某化妆品,条件是当该化妆品价格低于1000时就执行购买的操作。

我们直觉反应可以用if条件判断来实现,判断一下化妆品的价格,低于1000的时候下单购买。

但是化妆品的价格一直在随季节和节假日的促销活动而波动,如果只执行一次可能无法成功完成购买,因为这一次判断的时候可能价格在1000以上。

我们再试试用for循环,让它重复不停的执行:判断价格,价格符合条件就购买,价格不符合条件就不购买;

但是这也有问题,我们不知道让for循环执行多少次比较合适,10次?100次?

因此要解决这类特定场景的问题,我们今天会学习while循环

1.while循环

1.1

条件循环,又称while循环,以判断条件是否成立,来决定是否执行循环内的代码。当判断为true时,代码会执行循环代码块;当判断为false时则终止循环。

 就像有个工作是计件搬砖,判断搬满500个砖才能发钱。在没搬满500个时就要一直搬,搬满500个砖就结束发钱。😁

在while循环中,有一个判断条件,来决定是否执行循环内的代码。判断条件为true,则继续执行循环;判断条件为false,就会终止循环;这个判断条件,又叫做边界条件

例如:

搬砖例子中,搬满500块砖就是终止循环的判断条件,也就是边界条件

1.2

接下来我们通过while条件循环来实现输出1到9的正整数:

int count=1;
while(count<10){
   printf("%d\n",count);
   count++;
}

1.定义一个整型变量count

2.while循环的关键字  while 

3.while循环的判断条件  count < 10

4.判断条件需要放在括号()里面  (count<10)

int count=1;
while(count<10){
   printf("%d\n",count);
   count++;
}

5.循环的代码块  {   printf("%d\n", count);    count++;   } 

6.打印count的值  printf("%d\n", count)

7.count的值自增  count++

1.3

while括号()里面就是判断的条件,也就是我们学的边界条件;花括号{}里面就是循环的代码块

whlie(count<10){
  printf("%d\n",count);
  count++;
}

判断条件(count<10)的时候,就会执行循环代码块;

判断条件不成立,为的时候,就终止循环。

条件循环中,除了while循环还有另外一种do-while循环,我们来了解一下它。

2.do-while循环

2.1

while循环和do-while循环的核心差异在于:

while循环是先判断,再执行

do-while循环是先执行,再判断

 

学习一下do-while循环:

int conut=1;
do{
   printf("%d\n",count);
   count++;
} while(count<10);

1.定义一个整型变量  count

2.关键字  do,表明先执行一次代码块

3. do-while循环中的代码块  {  printf("%d\n", count);  count++; }

4.关键字  while

5.循环的判断条件  (count < 10)

2.2

do关键字,是执行的意思,这里会先执行一次代码块里的代码,while关键字,后面接循环的判断条件。

do-while循环对比while循环最大的差异在于,do-while循环是先执行一次代码块里面的代码,然后进行条件判断,所以无论判断条件成立与否,都会执行一次代码块中的代码,而while循环是先判断条件,如果条件不成立,就不会执行代码块中的代码。

do-while循环输出的是5,4,3,2,1,而之前的while循环在相同的情况下 输出的也是5,4,3,2,1。但是它们俩是存在区别的。

2.3

区别:

do-whille循环是无论为真还是假,先执行一遍代码(循环操作),然后再进行判断是否为真或者是否为假,若为真,则继续执行循环;

while是先判断,若为真则执行循环,若为假则不循环(while循环可能一次也不执行)。

如果第一次循环判断为,两者结果一样;

如果第一次循环判断为,两者结果不一样,while一次没执行,do-while执行一次。

2.4

我们仔细捋一下代码的执行顺序就会发现,while循环和do-while循环是很容易替代使用的,也就是对于所有的do-while循环:

我们都可以在while循环前面加一段代码或者修改判断条件里面的变量初始值,达到完全等价的效果。

由于while循环和do-while循环的高度雷同性,所以大部分循环的场景我们都推荐直接使用while循环。

因为while的代码执行顺序更加的清晰,先判断-再执行

3.易错点

 eg:

int count=10;
do{
   printf("%d\n",count);
   count--;
}while(count<0);

输出结果

10


我们可以看到同样的判断条件为do-while循环因为先执行再判断的顺序,还是输出了一个10;但是while循环因为先判断再执行的原因,根本没有执行代码块里的代码,而没有输出。

eg:

1.do-while循环的 while()判断语句后面要加一个分号:

2.while 循环先判断在执行(若判断为假,一次也不会执行)

3.do-while 循环先执行再判断  (若判断为假,会先执行一次)

4.思维导图

最后我想说的是:

在撰写这篇文章时,我参考了《白纸编程》这个app的观点和思想,我要感谢他们对我的启发和帮助。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值