6.9 如何选择循环
首先,确定是需要入口条件循环还是出口条件循环。通常,入口条件循环用得比较多。有几个原因。
其一,一般原则是在执行循环之前测试条件比较好。
其二,测试放在循环的开头,程序的可读性更高。
另外,在许多应用中,要求在一开始不满足测试条件时就直接跳过整个循环。
如果需要一个入口条件循环,用for循环还是while循环?这取决于个人爱好,因为两者皆可。要让for循环看起来像while循环,可以省略第1个和第3个表达式。
while( ; test; )
与下面的while效果相同:
while( test )
y要让while循环看起来像for循环,可以在while循环的前面初始化变量,并在循环体中包含更新语句。例如:
初始化;
while( 测试 ){
其他语句
更新语句
}
与下面的for循环效果相同:
for( 初始化; 测试; 更新 )
其他语句
一般而言,当循环涉及初始化和更新变量时,用for循环比较合适,而在其他情况下用while循环更好。对于下面这种条件,用while循环就更合适:
while( scanf( "%ld", &num) == 1 )
对于涉及索引计数的循环,用for循环更合适。
for( count = 1; count <= 100; count++ )