【C++ Primer Plus学习记录】for循环与while循环
在C++中,for与while本质上是相同的。
通常,使用for循环为循环计数;在无法预知循环将执行的次数时,程序员常使用while循环。
例如,下面的for循环:
for(init-expression;test-expression;update-expression)
{
statement(s);
}
可以改写成:
init-expression;
while(test-expression)
{
statement(s);
update-expression;
}
同样的,下面的while循环:
while(test-expression)
{
statement(s);
}
可以改写成:
for(;test-expression;)
{
statement(s);
}
for循环需要3个表达式,不过它们可以是空表达式(语句),只有两个分号是必需的。另外,省略for循环中的测试表达式时,测试结果将为true,因此下面的循环将一直运行下去:
for( ; ;)
body
for循环与while循环的三个区别:
1.for循环中省略了测试条件时,将被认为条件为true。
2.在for循环中,可以使用初始化语句声明一个局部变量,但在while中不能这样做。
3.如果循环体中包含continue语句,情况将稍有不同(第6章)。
设计循环时的3条指导原则:
1.指定循环终止的条件。
2.在首次测试之前初始化条件。
3.在条件被再次测试之前更新条件。
for循环的一个优点是,其结构提供了一个可实现上述3条指导原则的地方,因此有助于程序员记住应该这样做。但这些指导原则也适用于while循环。