C语言——循环相关知识(while,for,do while)

一.前言

      上面我们已经讲解了if、switch的分支语句,今天我们开始讲解关于C语言循环方面的知识。C语言提供了3种循环语句(while,for,do while),接下来我们开始讲解关于while语句。

 二.正文

1.while语句

1.1while

关于while语法形式:

1.2 while语句的执行流程:

  

         while循环先判断表达式,如果表达式不为0(为真),后执行语句,如果表达式为0(为假),不执行语句且跳出while循环。

1.3 while循环的具体实践:

在屏幕上打印1~10的数字:

2.for语句

2.1for

关于for语句的语法形式:

2.2关于for语句的循环流程图:

            for循环与while循环在语句执行上并没有差别,都是先判断语句中表达式的真假,如果表达式不为0即执行下面的语句,反之表达式的结果为0,则不执行下面的语句,并且退出for循环。

        但是在在处理for循环中continue语句的时候,while与for循环执行的结果有些差异,这些我们会在本文的后面有所介绍。

2.3 for语句的具体实践:

在屏幕上打印1~10之间的数字:

         通过while与for关于同一问题“在屏幕上打印1~10之间的数字”的题你可能已经意识到,通常在不涉及continue语句的情况下,while循环和for循环并无太大差别,但是我们通常会使用for循环,因为在一些比较复杂的代码中用while循环写的话,整体代码会显得过于分散,而使用for循环编写的话代码比较显得紧凑,也易于后面代码的维修。

3. do while语句

3.1 do while

关于do while的语法形式:

         注意在do while循环中while(表达式)后有一个分号,而while循环中while(表达式)后没有任何符号。

3.2 do while语句的循环流程图

       值得注意的的是,do while循环不同于前两种while循环和for循环,while循环与for循环都是先执行判断语句后执行循环体中的语句,而do while循环则是恰恰相反,它是先执行语句,后判断  判断条件中的表达式是否为真。如果为真,则回到上面继续实现语句,然后再判断条件,以此循环往复直到判断语句中的表达式不成立(为假)跳出do while循环语句。即再do while循环语句中循环体中的语句至少执行一次。

3.3 do while循环的具体实践:

再屏幕上打印1~10的数字:

          细心的小伙伴已经发现while(i<=9)和之前while循环和for循环中判断语句“while(i<=10)”不一样,这样改是因为do while 循环优先执行循环体中的语句即“i++”和“printf("%d\n",i)”,因此当i=9的时候,回到i++语句中i=10,并经过printf打印,此时i=10已经不满足while表达式“i<=9”的情况所以代码结果才能正常输出“1,2,3,4,5,6,7,8,9,10”的结果。否则如果表达式还是“i<=10”的话代码的结果就是“1,2,3,4,5,6,7,8,9,10,11”了,与题目要求不符。

4.break语句和continue语句

           在循环执行的过程中,如果某些状况发生的时候,需要提前终止循环,那么这个时候就需要break和continue这两个关键字来帮助我们实现啦。

1:break的作用是永久的终止循环,只要break被执行,就会直接跳出循环,继续向后执行。

2:continue的作用是跳出本次循环continue后边的代码,在for循环和while循环中有所差异。

4.1while循环中的break与continue

(i):关于while循环中的break

         通过以上例子可以看出,当i从1加到5的时候满足了if(i==5)的条件,执行语句break直接跳出整个while循环。

(ii):关于while循环中的continue

       如图所示将break换成continue后,当if(i==5)被满足的时候,下面的代码“printf("%d\n",i)”与"i++"都不再执行,这是continue直接跳过了这两条语句,重新回到while(i<=10)的判断条件中,i一直等于5,所以程序陷入了死循环。

4.2 for循环中的break和continue

(i)for循环中的break

(ii)for循环中的continue

         for循环中的continue与while循环中的continue不同,目录中有对两者区别的比较,有兴趣的小伙伴直接点击目录,找到下方关于“关于在三种循环while、for,while中对于break和continue的讨论”即可。

4.3 do while循环中的break与continue

(i):do while循环中的break

(ii):do while循环中的continue

4.4关于在三种循环while、for,while中对于break和continue的讨论

      对于三种循环来说,break的作用都是永久的直接终止循环,并没有上面特殊的,而对于continue的执行过程中,while循环与do while循环中是一样的,而这两个循环与for却有着不同的continue执行过程,请看vcr

       如图所示for循环中continue可以让执行程序跳到循环的调整部分,即文中的i++。而while循环中的continue可以让执行程序跳到循环的判断条件中,即while(i<=10).

三.总结  

  最后的最后感谢观看此文的小伙伴,下次再见啦!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值