6.4 不确定循环与计数循环

有些while循环的例子是不确定(indefinite)循环。也就是说,在表达式变为假之前您不能预先知道循环要执行多少次。例如,程序清单6.1使用一个交互式的循环来计算整数的和,事先您并不知道会输入多少个整数。其他的例子是计数(counting)循环,它们循环执行预先确定的次数。程序清单6.10是while计数循环的一个的简短例子。

程序清单6.10 sweetie1.c程序

阅读 ‧ 电子书库

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

尽管程序清单6.10中使用的形式可以很好地工作,但它并不是这种情况下最好的选择,因为定义循环的动作没有被组织在一起。我们来详细说明这一点。

在建立一个重复执行固定次数的循环时涉及到三个动作:

1.必须初始化一个计数器。

2.计数器与某个有限的值进行比较。

3.每次执行循环,计数器的值都要递增。

While循环条件执行比较的动作,增量运算符执行递增的动作。在程序清单6.10中,递增在循环的结尾处执行。这种选择使得有可能不小心漏掉递增的动作。所以更好的方法是使用count++<=NUMBER来把判断与更新动作结合在一个表达式中,但使用这种方法时计数器的初始化仍然是在循环之外进行的,这样就有可能忘记初始化。实践告诉了我们有可能发生的事情最后总是会发生的,所以我们来看一种可以避免这些问题的控制语句。