C语言分支循环语句(中)

1.前言

今天我们接着聊聊C语言控制语句中的循环语句——for , while ,do while语句,着重看看他们之间有着那些异同。

 2. while循环

2.1 while循环的语法形式以及与if语句语法形式的对比

while(表达式)
{ //整个大括号括起来的部分被称为循环体
语句

小括号内表达式为真时,进入大括号内循环体内执行语句(如果while仅控制一条语句,可以考虑去掉大括号),直到表达式为假才走出循环。有没有感觉好像在哪听过这句话,没错,那就是我们的上期嘉宾——if语句。我们来写个代码来近距离感受吧!

#include <stdio.h>
int main()
{
 if(1)
 printf("hehe\n"); //if后边条件满⾜,打印⼀次hehe
 return 0;
}

仅打印一次 “hehe”

#include <stdio.h>
int main()
{
 while(1)
 printf("hehe\n"); //while后边的条件满⾜,死循环的打印hehe
 return 0;
}

 死循环打印“hehe”

  如你所视,while就是用来实现循环效果的。

3. for循环

3.1 for循环的语法形式

for(表达式1; 表达式2; 表达式3)
{
 语句//如果循环体仅包含一条语句,可以去掉⼤括号
}
  表达式1为初始化部分,⽤于 循环变量的初始化 表达式2 为条件判断部分,⽤于 循环结束条件的判断 表达式3为调整部分 ⽤于 循环变量的调整

3.2 for循环的执行流程

 

⾸先执行表达式1初始化循环变量,接下来就是执行表达式2的判断部分。表达式2 结果如果
==0(为假) ,则循环结束; 表达式2 结果如果!=0(为真) 则执⾏循环语句,循环语句执⾏完后,再去执行表达式 3 ,调整循环变量,然后再去表达式2的地⽅执⾏判断,表达式2的结果是否为0(为假),决定循环是否继续。 整个循环的过程中,表达式1初始化部分只被执⾏1次,剩下的就是表达式2循环体表达式3三个部分在循环。

3.3 for循环和while循环的对比

我们把上面代码的for循环换成while循环来看看效果

  for 和 while 在实现循环的过程中都有 初始化、判断、调整 这三个部分, 但是 for 循环的三个部
分⾮常集中,便于代码的维护 ,⽽如果代码较多的时候 while 循环的三个部分就⽐较分散,所以从 形式上 for 循环要更优⼀些。

4.do while循环

4.1 do while循环的语法形式

do
{
语句//仅控制一条语句时大括号可以去掉
}while(表达式);
  while 和 for 这两种循环都是先执行判断部分 ,如果条件满足就进⼊循环,执⾏循环语句,不满⾜就跳出循环; 而 do while 循环则是先直接进⼊循环体 ,执⾏循环语句,然后再执⾏ while 后的判断表达式,表达式为真,就会进⾏下⼀次,表达式为假,则不再继续循环。

4.2 do while循环的执行流程

    变量初始化后, do while 先执行语句,执行完语句后,再去执行“判断部分,判断表达式的结果是!=0(为真),则继续循环,执行循环语句;判断表达式的结果==0(为假),则循环结束。所以在 do while 语句中循环体是⾄少执行⼀次的,这是 do while 循环比较特殊的地方。 而正由于其特殊性,使得在一些特殊场景下使用do while语句会更加得心应手,例如,打印游戏菜单,计算整数位数等。

总结

循环语句中,由于for循环三个部分较为集中,所以使用频率也最高,而do while循环的使用场景比面两者更特殊,因而使用频率也较低。三种循环各有千秋,我们只需要在合适的场景运用合适的语句,定能提升代码可读性和运行效率。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值