语言中的for循环语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句. for(表达式 1;表达式 2;表达式 3) 语句 它的执行过程如下: (1)先求表达式 1. (2)求表达式2 ,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下面第三步 做若为
假(值为0),则结束循环,转到第5步. (3)求解表达式3 (4)转回上面第(2)步骤继续执行; (5)结束循环,执行for语句下面的一个语句; for(循环变量赋初值;循环条件;循环变量增值) 语句 如
for(i=1;i<=100;i++)sum=sum+i;它的执行相当于
i=1; while(i<=100){ sum=sum+i; i++; }显然,用for语句更简单、方便。 说明: (1)for语句的一般形式中的"表达式1 "可以省略,此时应在for语句之前给循环变量赋初值.注意省略表达式1时,其后的分号不能省略.如for(;i<=100;i++){....}; (2)如果表达式2 省略 即不判断循环条件,循环无终止地循环下去,也就是认为表达式2始终为真. 例如:for(i=1;;i++){.....}; 相当于
i=1; while(1) {sum=sum+1; i++; }(3)表达式3 也可以省略,但此时程序设计者应另外设法保证循环能正常结束.如:
for(i=1;i<=100;) {sum=sum+1; i++; }这个例子的循环增量没有放在表达式三的位置 而是作为循环体的一部分 其效果是一样的. (4)可以省略表达式1 和表达式3 ,只有表达式2 即只给循环条件. 如
for(;i<=100;) { sum=sum+i; i++; } 这个相当于 whlie(i<=100) { sum=sum+i; i++; }(5)三个表达式都可以省略,如: for(;;)语句 相当于 while(1)语句 即不设初值 不判断条件(认为表达式2 为真值)循环变量不增值,无终止的执行循环体. (6)表达式1 也可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式.如:
for(sum=0;i<=100;i++) { sum=sum+i; } for(sum=0,i=0;i<=100;i++) { sum=sum+i; }