13-循环变量的使用
6.5.1 循环变量的使用
循环变量在循环结构中的作用至关重要,循环变量赋值不当,程序就无法正常执行,多数循环结构程序出错都与循环变量的错误使用有关。要正确使用循环变量,需要注意以下几点。
循环变量的声明和赋初值要在循环体之外,for循环中循环变量的声明和赋初值通常通过for语句后括号内的表达式1实现。如果把为循环变量赋初值的语句放在循环体首部,则循环体每次执行都将为循环变量赋初值,有可能出现死循环。
例如,
int i;
while (i <= 100) //while循环,当i小于等于100时循环
{
i=1; //错误,每次执行循环体都将为循环变量赋初值
… //循环体
i++;
}
在循环体的最后一般要有语句修改循环变量的值,使循环条件有可能不成立,从而终止循环结构的执行,for循环中通常使用for语句后的表达式3来修改循环变量的值。需要注意的是,如果循环结构在for语句中定义循环变量,该变量被视为局部变量,当循环执行完毕后变量即被释放,在循环语句之外再次引用该循环变量将出错。
例如,
for(int i=0;i<=100;i++)
{
…
}
Console.WriteLine(i); //错误,循环变量i已经不存在
循环嵌套时,外层循环和内层循环的循环变量是相互独立的,必须定义两个不同的循环变量,否则循环嵌套将无法按照我们的预期执行。注意,内层循环体中可以引用外层循环的循环变量,但不能修改外层循环变量的值。
例如,
for(int i=0;i<=10;i++)
{
for(int k=0;k<=10;k++)
{
Console.WriteLine(i); //内层循环引用外层循环的循环变量
}
}