for循环、字符串与数组(2)

3.1.2  使用for循环计数

第一个for循环从0计数到9,其初始语句如下:

for (int i = 0; i < 10; ++i)

初始化语句int i = 0声明了i并将其初始化为0。表达式i < 10表示只要i小于10,循环就继续。最后的action语句++i使i在每次循环体结束后都递增。结果是循环迭代10次,针对0~9中的数每个一次。每次迭代过程中,循环体都显示i的值。

接下来的for循环从9向下计数到0,其初始语句如下:

for (int i = 9; i >= 0; --i)

其中,i的初始值为9,且只要i大于等于0,循环就将继续。每次循环体结束时,i值递减。结果是循环显示的值为9~0。

接下来的循环从0计数到50,每次加5,其初始语句如下:

for (int i = 0; i <= 50; i += 5)

其中,i的初始值为0,且只要i小于等于50,循环就将继续。但要注意action语句i += 5在循环体结束后使i增加5。结果是循环显示0、5、10、15等。表达式i<=50表示只要i小于等于50,则执行循环体。

可以使用任意值初始化计数器变量、创建测试条件以及更新计数器变量。然而,最常见的是让计数器从零开始计数,且在每次循环迭代后增加1。

最后,在介绍while循环时关于无限循环的警告同样适用于for循环。要确保循环能终止,否则玩家会很不乐意。

3.1.3  在for循环中使用空语句

在for循环中可以使用空语句,如下面这个循环所示:

for ( ; count < 10; )

initialization和action语句中使用的是空语句。这样做是合法的,因为循环之前就声明和初始化了count,并在循环体内部增加它的值。该循环显示的整数序列和程序中的第一个循环显示的相同。尽管该循环看起来有些奇怪,但它绝对是合法的。

提示

游戏程序员的习惯因人而异。在第2章我们了解到,可以使用while (true)让循环一直运行,直到遇到退出语句(如break)。有些程序员喜欢用for ( ; ; )开头的for循环来创建这类循环。因为循环中的测试表达式是空语句,循环将一直运行,直到遇到某个退出语句。

读书导航