C语言中的三种循环语句

我们在进行C语言学习之时,可以了解到,C语句有五类。

分别是:

1. 表达式语句  
2. 函数调用语句
3. 控制语句
4. 复合语句
5. 空语句

今天我们所了解的三种循环语句便是控制语句中的一种

控制语句中分为1.while循环 2.for循环 3. do...while循环

其中for循环在实际应用中最为常见,也是初学者较容易混淆的。

现在我们就以while循环来开始我们的学习之旅

首先我们先需要知道为何有循环语句的出现,我们可以联想生活的各种层面比如你想得到一个好的成绩,那么你就得每天进行学习这个动作知道有一天学有所成,你便得到了好的成绩。 

在程序中也不例外,你需要实现程序中的某一步也需要循环语句的帮忙。 

下面我们来了解下while循环的流程图

 

现在我们通过实现在屏幕上打印1-10的数字来对while语句有进行深入的了解

 

#include <stido.h>

int main()
{
    int i=1;
    while(i<=10)
    {
        printf("%d ",i);
        i++;
    }    
    return 0;
}

while()括号中便是条件,当i符合该条件时,执行while循环内的语句,当i=10时进入循环语句时,经过i++后,i==11,在进行一次判断,结果为假,便结束此次循环。

了解了while循环的基本用法后,break与continue在while语句中也是十分关键的存在

break是用来终止循环的,continue也是终止循环的,但是他们两者的区别在于前者是停止后期一切的循环,而后者只是用来终止所有循环的一次循环。

下面我们通过两个代码来对break与continue进行更加直观的认知

#include <stdio.h>

int main()
{
    int i = 1;
    while(i<=10)
    {
         if(i == 5)
             break;
         printf("%d ", i);
         i++;
    }
    return 0;
}

通过上面简单的介绍,大家可以通过自己的思考判断是哪种结构

A,1 2 3 4    B,1 2 3 4 5   C,1 2 3 4 5 6 7 8 9 10   D,1 2 3 4 6 7 8 9 10

不难得出,此次的结果是A选项,当i==5时if语句条件成立,执行break,while循环中break语句全部跳过,直接使程序跳出while循环,此前只打印出1 2 3 4 ,若想进步观察他们的变化可以使用编译器进行监测。

#include <stdio.h>
int main()
{
     int i = 1;
     while(i<=10)
     {
         if(i == 5)
             continue;
         printf("%d ", i);
         i ++;
     }
     return 0;
}

上图便是continue的应用,下面我们也通过自己的思考给出自己的答案(注意continue是结束本次循环,注意变量的调整,利用计算机思维,一步一步的进行思考)

该代码执行的最终结果是死循环,当i=5时,进入循环内,符合if的条件,执行continue;语句,跳过循环内后面的所有语句,这里大家需要注意i++也跳过了,因为 continue只是结束本次循环并不能跳出循环,所以i再次进入循环内的值还是5,这样变造成了死循环。

若将i++放在if语句前,输出的结果便是大家心中所想的1 2 3 4 6 7 8 9 10

现在了解玩while循环后我们来了解下for循环,大家可能会有疑问,为什么有了while循环还要有一个for循环,还又来了一个do...while循环,C语言的发展历史悠久,循环语句多样也是难免的,所以不要去考虑这个问题,我们记住他们的形式就对了。

for循环语句的优势相比于while循环语句在哪呢

for循环语句最大的优势就是就是将循环内的初始化部分和条件判断部分以及调整部分紧密的联系在一起,这便是for循环最大的优势所在

下面我们通过for循环的的流程图大致了解下它的操作过程

 现在我们还是以实现在屏幕上输出1-10这个代码来了解for循环语句

#include <stdio.h>
int main()
{
     int i = 0;
     //for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/)
     for(i=1; i<=10; i++)
     {
         printf("%d ", i);
     }
     return 0;
}

for循环实现该目的的代码可以看出比while循环要简洁许多,这也便是for循环使用频率while循环的原因之一。i首先进行初始化得到1后与10进行比较,条件为真进入循环内,进行内部的语句,内部语句全部结束后,进行i++后,在与10进行比较,这样往后进行下去,便可以在屏幕上得到1-10。

下面我们来看下continue与break在for循环中的使用

#include <stdio.h>
int main()
{
     int i = 0;
     for(i=1; i<=10; i++)
     {
         if(i == 5)
             break;
         printf("%d ",i);
     }
     return 0;
}

该代码结束后在屏幕打印的是1 2 3 4 ,与在while循环中使用差不多,这里就不进行过多的描述

#include <stdio.h>
int main()
{
     int i = 0;
     for(i=1; i<=10; i++)
     {
         if(i == 5)
             continue;
         printf("%d ",i);
     }
     return 0;
}

这里输出的结果是1 2 3 4 6 7 8 9 10这里便与while循环中有一些不同了,因为i==5是continue不会进行循环内接下来的语句,我们可以大致的理解为i++不属于在循环中continue后面的语句,所以i++还是会执行一次,然后i==6再次与10进行比较,所以便输出了上述的结果。

最后我们来介绍do...while循环语句,先通过它的流程图来进行了解

 do...while循环与while循环的流程大致相同

它与while循环不同的就是,它的循环至少执行一次,因为判断条件是在最后一步

#include <stdio.h>
int main()
{
     int i = 10;
     do
     {
         printf("%d\n", i);
     }while(i<10);
     return 0;
}

以上代码便是do...while循环实现在屏幕上输出1-10的代码

至于break与continue的使用与while循环大致相同这就不过多的论述

好了,以上便是本次的全部内容,希望初学的我能给你带来一些帮助,也希望大家能给初学的小白一些建议,感谢您的耐心阅读。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值