循环结构程序设计

循环结构程序设计

1. while语句

功能:计算表达式的值,若表达式的值为真(非0),则执行循环体;否则当表达式的值为假(0),结束循环,执行while语句的后续语句

说明:

  1. while语句先判断表达式,后执行循环体。如果循环条件即表达式的值一开始就为假(0),则循环体一次也不执行,直接执行训话语句的后续语句
  2. 表达式通常是一个关系表达式或逻辑表达式,也可以是任意合法的表达式,此表达式称为循环条件,由它控制循环体是否执行
  3. 循环体可以是复合语句、简单语句、空语句。单个分号就是一条空语句,表示不做任何操作。如果循环体包含多条语句,则必须用大括号括起来,构成一个复合语句
  4. 为使循环能结束,while循环体中一定要有修改条件表达式中的变量的语句,使得每次执行循环体后,表达式的值向"假"变化。否则循环要一次都不执行,要么是死循环
2. do······while语句

功能:先执行循环体语句,然后计算表达式的值,若表达式的值为真,继续执行循环体,然后再计算表达式的值;否则当表达式的值为假时,结束循环,执行do······while语句的后续语句

说明:

  1. 在do······while语句的循环体中,也应有使循环趋向于结束的语句,即设置修改循环条件的语句,否则,循环体要么执行一次,要么是死循环
  2. 如果do······while语句的循环体部分是多个语句组成的,也必须用大括号括起来,使其形成复合语句
  3. 用while语句和用do······while语句处理同一问题时,若二者的循环体部分一样,其结果也一样。不同的是do······while语句先执行循环体语句,后判断,即不论循环条件是否成立,循环体语句也至少执行一次。一般情况下两种语句可以互换
  4. 在if语句、while语句中,表达式后面都不能加";",而do······while语句的表达式后面必须加";"
3. for语句

功能:表达式2是循环执行的条件,在表达式2结果为非0(真)时,重复执行循环体语句

说明:

  1. 表达式1一般用于给循环变量赋初值,也允许在for语句外给循环变量赋初值,此时可以省略该表达式。执行for语句时,先执行表达式1,并且只执行一次
  2. 表达式2通常是循环条件,一般为关系表达式或逻辑表达式。每次执行循环体语句前,都要判断表达式2是否成立,只要其值为真(非0),就执行循环体语句
  3. 表达式3通常用来修改循环变量的初值,特别是常用于改变与循环条件有关的变量值,一般是赋值语句
  4. for语句中表达式1、表达式2、表达式3的任意一个或多个表达式可以缺省。其中,表达式2的缺省,就等价于该表达式2的值是1,它可能导致死循环
  5. 执行次数已知或范围已知的循环,一般用for循环
4. 多重循环

在循环体语句中又包含有另一个完整的循环结构的形式,称为循环的嵌套,又称为双重循环。如果内循环体中又有嵌套的循环语句,则构成多重循环。嵌套在循环体内的循环体称为内循环,外面的循环称为外循环。外层循环每执行一次循环体,内层循环要执行整个内层循环。内层循环任可以再包含内循环。一般在多重循环中,最内层循环体重复执行操作的此数等于外层循环的循环次数乘以内层循环的循环次数。while、do······while、for三种循环语句可以自身嵌套构成多重循环,也可以相互嵌套,构成多重循环

5. break语句

break语句如果出现在循环语句的循环体中,其功能是提前结束循环,并转到循环语句的后续语句

6. continue语句

功能:结束本次循环,使得包含它的循环开始下一次重复

在for的循环体中遇到continue语句时,立即执行表达式3

7. 三种循环的比较
  1. C语言提供了三种循环语句,可以用来处理一些问题,一般情况下可以互换。但其功能和灵活程度不同,for语句功能最强,最方便灵活,使用最多
  2. 在使用while和do······while循环时,循环变量初始化的操作应在while和do······while语句之前,而for语句可以在表达式1中实现循环变量的初始化
  3. while和do······while循环,只在while后面指定循环条件,在循环体中应包含使循环趋于结束的语句。for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的才做全部放到表达式3中。因此for语句的功能最强,凡是能用while循环完成的,用for循环都可以完成
  4. do······while语句和while语句的区别:do······while使先执行,后判断,因此do······while至少要执行一次循环体,而while是先判断后执行,如果条件不满足,则一次循环体语句也补执行
  5. 三种循环都可以用break语句跳出循环体,用continue语句结束本次循环
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值