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