Posted on 2005-09-14 11:35
橘子 閱讀(650)
評(píng)論(0) 編輯 收藏 所屬分類(lèi):
程序開(kāi)發(fā)
一、for(表達(dá)式 1;表達(dá)式 2;表達(dá)式 3)語(yǔ)句
它的執(zhí)行過(guò)程如下:
(1)先求
表達(dá)式 1.(2)求
表達(dá)式2,若其值為真(值為非0),則執(zhí)行for語(yǔ)句中指定的內(nèi)嵌語(yǔ)句,然后執(zhí)行下面第三步 做若為
假(值為0),則結(jié)束循環(huán),轉(zhuǎn)到第5步.
(3)求解表達(dá)式3
(4)轉(zhuǎn)回上面第(2)步驟繼續(xù)執(zhí)行;
(5)結(jié)束循環(huán),執(zhí)行for語(yǔ)句下面的一個(gè)語(yǔ)句;
二、for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)語(yǔ)句
如
for(i=1;i<=100;i++)sum=sum+i;
它的執(zhí)行相當(dāng)于
i=1;
while(i<=100){
sum=sum+i;
i++;
}
顯然,用for語(yǔ)句更簡(jiǎn)單、方便。
說(shuō)明:
(1)for語(yǔ)句的一般形式中的"表達(dá)式1"可以省略,此時(shí)應(yīng)在for語(yǔ)句之前給循環(huán)變量賦初值.注意省略表達(dá)式1時(shí),其后的分號(hào)不能省略.如for(;i<=100;i++){....};
(2)如果表達(dá)式2省略 即不判斷循環(huán)條件,循環(huán)無(wú)終止地循環(huán)下去,也就是認(rèn)為表達(dá)式2始終為真.
例如:for(i=1;;i++){.....};
相當(dāng)于
i=1;
while(1)
{sum=sum+1;
i++;
}
(3)表達(dá)式3也可以省略,但此時(shí)程序設(shè)計(jì)者應(yīng)另外設(shè)法保證循環(huán)能正常結(jié)束.如:
for(i=1;i<=100;)
{sum=sum+1;
i++;
}
這個(gè)例子的循環(huán)增量沒(méi)有放在表達(dá)式三的位置 而是作為循環(huán)體的一部分 其效果是一樣的.
(4)可以省略表達(dá)式1和表達(dá)式3,只有表達(dá)式2 即只給循環(huán)條件.
如
for(;i<=100;)
{
sum=sum+i;
i++;
}
這個(gè)相當(dāng)于
whlie(i<=100)
{
sum=sum+i;
i++;
}
(5)三個(gè)表達(dá)式都可以省略,如:
for(;;)語(yǔ)句
相當(dāng)于
while(1)語(yǔ)句
即不設(shè)初值 不判斷條件(認(rèn)為表達(dá)式2為真值)循環(huán)變量不增值,無(wú)終止的執(zhí)行循環(huán)體.
(6)表達(dá)式1也可以是設(shè)置循環(huán)變量初值的賦值表達(dá)式,也可以是與循環(huán)變量無(wú)關(guān)的其他表達(dá)式.如:
for(sum=0;i<=100;i++)
{
sum=sum+i;
}
for(sum=0,i=0;i<=100;i++)
{
sum=sum+i;
}