for循环使用详解(c语言版)

时间:2024-01-20 10:05:51

说明:c语言的很多语法部分都和JAVA,AS等相同 特别是for的用法.

c语言中的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; 
}等等写法.