循环日记(for,while,do-while)

在详细讲解三种循环之前,首先让我们了解下循环的概念。

循环四要素:

我在这里写的只是通常所有循环会涉及到的四要素,有时候可能不会显式地写出来。


【1】条件初始化

        通常在循环之前定义,使用初始化的条件进行条件判断,以控制循环发生的次数。

        
【2】条件判断

        条件判断会在每次循环结束的时候进行,如果判断结果为true,那么会继续进入下一次循环;如果判断结果为false,那么则会结束循环。在C中若引入数值类型作条件判断,那么会以0作为false,非0作为true。


【3】循环体

        指的是每次循环的时候所要进行的行为,通常而言发生多少次循环,循环体就会执行多少次(除了do-while这个另类)。

        
【4】迭代

        迭代指的是重复循环体的执行,目的是在一次次循环中逐渐逼近,并最终得到目标结果(循环判断条件为假或者满足break或者return条件),否则则为死循环,是一种无作用的代码。

For循环:

        光讲概念会不会过于抽象了呢,接下来就引入实例来介绍吧

for(初始化条件;循环条件判断;迭代){
    循环体
}

        for循环可以说是最为标准的循环结构了,包含了循环的四要素,也因此清晰而简单,被大众所喜爱。

        在每次循环开始前,系统首先会执行初始化条件,然后进行循环条件判断,若结果为假,则退出循环,执行大括号外内容;若结果为真则进入循环,进入 执行循环体---->执行迭代--->条件判断--->...... 的循环,直到条件判断为假则退出循环。

例如:

for(int i=0;i<3;i++){
 printf("你真帅!\n");
}

运行结果为:

系统执行顺序为:

        int i=0;        -->判断i<3为真        -->打印“我真帅!"并换行        -->i++       -->判断i<3为真        

-->打印“我真帅!"并换行        -->i++        -->判断i<3为真        -->打印“我真帅!"并换行        -->i++

-->判断i<3为假        -->退出循环。

        实际上无论while,do-while还是for循环,计算机内部执行的都是这样的过程,效率一致,而我们所写的三种形式只是为了程序员编写方便而创造出来的而已。

        细节:格式上可以不写条件表达式,循环判断条件和迭代,但是两个分号不能省略。

while循环:

        理解了for循环,再去理解while循环就可以说是非常简单了。

while(循环条件判断){
循环体
}

        相较于for循环而言,while循环在格式书写上少了条件初始化和迭代。这也意味着我们通常需要手动在while循环前方加上条件初始化,在循环体内部加上迭代,才能完成和for循环一样的效果。

int i=0;
while(i<3){
 printf("告诉我谁最帅?\n");
 i++;
}

do-while循环:

        与while和for循环相比,do-while就可谓一枝独秀----奇葩了。

do{
循环体
}(循环条件判断);//<---注意分号

        while和for都会先进行一次条件判断再决定是否进入循环,而do-while循环就好比那平头哥,怎么都要先试试再说。

        因此,通常用在一些必须先执行一次才能进行循环条件判断的循环中。(例如博主的期末考试是否要补考)

        而在执行次数上如果第一次循环判断条件为假,那么会比for和while循环多一次,否则与其余二者一致。

int i = 0;
do{
    printf("点赞的观众老爷最帅!\n");
    i++;
} while (i < -1);

        

        实际运用中有可能不会使用循环条件判断而是通过break和return结束循环,不过这一部分博主累了,就留待下次讲了(咕咕咕)。

        最后,新人博主,如果讲的不好请多多包涵了(提前祝大家新年快乐)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值