分支和循环(下)

三.while语句

1.语法格式:

while(表达式)

   循环体语句

说明:

(1) 括号内的表达式为循环条件,一般是关系表达式或者是逻辑表达式,只有表达式的值为非0即可继续循环;

(2)执行while语句时,首先计算表达式的值,如果该值为非0,执行循环体语句。执行完一次循环体语句后,再判断表达式的值是否为非0,循环往复执行这一流程,直到该表达式为0,结束while语句,执行后面的语句;

(3)循环体语句只能有一条语句,如果有一条以上的语句要循环执行,则用“{}”把这些语句括起来,构成一条复合语句。

2.执行流程:

(1)计算表达式的值,如果表达式的值为非零,即为“真”,执行(2),否则执行(3);

(2)执行循环体语句,然后返回(1);

(3)退出循环,执行循环后面的语句。

while语句的控制流程图如下:

例如用while语句计算s=1+2+3+...+99+100。

四.do-while语句

1.语法格式:

do

语句

while(表达式);

2.执行流程:

(1)执行循环体语句;

(2)计算表达式的值,如果表达式的值为非0,则返回执行(1),否则,执行(3);

(3)退出do-while循环结构,执行后面的语句。

do-while语句的控制流程图如下:

例如用do-while语句计算s=1+2+3+...+99+100。

3.while和do-while语句的比较:

(1)while语句中条件控制表达式后面没有分号,而do-while语句的条件控制表达式后面必须带分号。

(2)do-while循环是先执行循环体语句,再判断条件控制表达式是否为非0,如果为0,则停止循环,否则继续循环;而while循环是先判断条件控制表达式是否为非0,如果为0,则不执行循环体语句,直接执行while语句后面的语句。因此,do-while循环至少执行一次循环体语句。

五.for语句

1.语法格式:

for(表达式1;表达式2;表达式3)

循环体语句

2.执行流程:

(1)先计算表达式1;

(2)计算表达式2,若值为非0,则执行循环体语句,然后转到(3);若值为0,则退出循环,转到(5);

(3)计算表达式3;

(4)转回(2)继续执行;

(5)循环结束,执行for语句后面的语句。

for语句的控制流程图如下:

例如用for语句计算s=1+2+3...+99+100。

六.流程转向语句

       循环结构是通过循环条件来控制循环语句执行的,但有时不需要执行完整个循环,而是要提前结束,或者跳过某些语句,这时就需要使用转向语句。转向语句是可以改变程序的结构,使程序从所在位置转向另一处的语句。转向语句分为三种:break语句、continue语句和goto语句。

1.break语句

一般形式:break;

功能:break语句可以用来从循环体内跳出循环体,提前结束循环,然后执行循环语句后面的语句。

注意:break语句只能在循环语句和switch语句中使用。

循环嵌套时,break只能跳出它所在的内循环,与外循环无关。

例如:

当i=5时,满足if语句的判断表达式,执行if内的语句,即执行break语句,执行break语句后,跳出for循环,执行后面的语句。因此只打印1 2 3 4。

2.continue语句

应用形式:if(表达式)continue;

功能:结束本次循环,即跳出循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。

例如:


 

当i=5时,满足if语句的判断表达式,执行if内的语句,即执行continue语句,不执行本次的printf,继续执行后面的循环。因此,不打印数字5。

3.goto语句

一般格式:goto 语句标号;

功能:跳转到指定标号的下一条语句,然后从那条语句开始往下执行。

例如用goto语句和if语句构成循环求1+2+3+...+99+100的值。

在Ioop:if(i<=100)处设置语句标号,if语句内设置goto Ioop。则每当执行完goto语句后,跳到Ioo: if(i<=100)这里,就使用了goto语句和if语句构成循环。

分支和循环大概就有上述这些,希望能帮助到您。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

过客吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值