
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
6.1.1 什么是循环执行

上文提到了,循环执行就是重复执行一些操作。在现实生活中,很多事件是循环执行的,如仰卧起坐计数、跳绳计数等,这些都是一目了然的。还有一些循环执行需要分别从结果和过程分析。下面将详细讲解这两种分析。
1.从结果分析
在很多程序结果中经常会看到如图6.2所示的输出。它输出了8行星号,而且每行都是20个星号,由此可以判断出,20个星号重复输出了8次。所以它是一个循环执行。

图6.2 输出星号
2.从过程分析
有一些循环执行需要从过程分析。例如某人有20元钱,1元可以从商店买1瓶汽水,2个空瓶可以换1瓶汽水,总共可以喝多少瓶?从这个问题中不容易看出循环,即便从结果分析也不行,因此需要从过程分析,如图6.3所示。20元买20瓶,喝完兑换10瓶(累计30瓶),10瓶喝完兑换5瓶(累计35瓶),5瓶兑换2瓶(累计37瓶),剩余1个空瓶,喝2瓶再兑换1瓶(累计38瓶),喝完加上剩余的1个空瓶可以再兑换1瓶(累计39瓶)。

图6.3 从过程分析
可以看出,此人一直在循环执行拿空瓶兑换汽水的操作,当汽水为0瓶时,结束兑换操作。
注意:在买汽水问题中,当汽水为0瓶时,结束兑换操作,即不再循环,如果1个空瓶兑换1瓶汽水,便会一直执行兑换,即处于无限循环中,如果是这样,商店会被喝破产,所以在搞活动时,都会避免出现无限兑换的问题。在编写程序时,也需要注意避免无限循环(死循环),应满足条件即退出循环。