• 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的正整数:

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

    1.定义一个整型变量count

    2.while循环的关键字  while 

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

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

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

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

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

    7.count的值自增  count++

    1.3

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

    1. whlie(count<10){
    2. printf("%d\n",count);
    3. count++;
    4. }

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

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

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

    2.do-while循环

    2.1

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

    while循环是先判断,再执行

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

     

    学习一下do-while循环:

    1. int conut=1;
    2. do{
    3. printf("%d\n",count);
    4. count++;
    5. } 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:

    1. int count=10;
    2. do{
    3. printf("%d\n",count);
    4. count--;
    5. }while(count<0);

    输出结果

    1. 10

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

    eg:

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

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

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

    4.思维导图

    最后我想说的是:

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

  • 相关阅读:
    【To .NET】.NET Core Web API开发流程知识点整理[进阶]
    Masked Image Training for Generalizable Deep Image Denoising 论文阅读笔记
    Linux进程概念
    1796_通过vmware打开VirtualBox虚拟机文件
    【GEE笔记1】Landsat8/9的NDVI计算,并计算区域NDVI平均值
    PyQT5 QMessageBox对话框设置
    ctfshow-web入门-php特性(web109-web115)
    产品思维训练 | 如何有效提高问答网站中的问题回复率?
    JVM中jhat虚拟机堆转储快照分析工具
    文件上传漏洞
  • 原文地址:https://blog.csdn.net/fantastic_little/article/details/132454104