新聞中心
這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)什么是for循環(huán),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
專注于為中小企業(yè)提供網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)龍川免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
、for循環(huán)是先判斷表達式,然后執(zhí)行循環(huán)體語句。一般形式“for(表達式1;表達式2;表達式3){循環(huán)體}”;先執(zhí)行“表達式1”;再執(zhí)行“表達式2”,如果它的值為真(非0),則執(zhí)行循環(huán)體,否則結(jié)束循環(huán);執(zhí)行完循環(huán)體后再執(zhí)行“表達式3”。
for 循環(huán)的一般形式為:
for(表達式1; 表達式2; 表達式3){ 語句塊 }
它的運行過程為:
1) 先執(zhí)行“表達式1”。
2) 再執(zhí)行“表達式2”,如果它的值為真(非0),則執(zhí)行循環(huán)體,否則結(jié)束循環(huán)。
3) 執(zhí)行完循環(huán)體后再執(zhí)行“表達式3”。
4) 重復(fù)執(zhí)行步驟 2) 和 3),直到“表達式2”的值為假,就結(jié)束循環(huán)。
上面的步驟中,2) 和 3) 是一次循環(huán),會重復(fù)執(zhí)行,for 語句的主要作用就是不斷執(zhí)行步驟 2) 和 3)。
“表達式1”僅在第一次循環(huán)時執(zhí)行,以后都不會再執(zhí)行,可以認(rèn)為這是一個初始化語句?!氨磉_式2”一般是一個關(guān)系表達式,決定了是否還要繼續(xù)下次循環(huán),稱為“循環(huán)條件”?!氨磉_式3”很多情況下是一個帶有自增或自減操作的表達式,以使循環(huán)條件逐漸變得“不成立”。
for循環(huán)的執(zhí)行過程可用下圖表示:
我們來分析一下“計算從1加到100的和”的代碼:
#includeint main(){ int i, sum=0; for(i=1; i<=100; i++){ sum+=i; } printf("%d\n",sum); return 0; }
運行結(jié)果:
5050
代碼分析:
1) 執(zhí)行到 for 語句時,先給 i 賦初值1,判斷 i<=100 是否成立;因為此時 i=1,i<=100 成立,所以執(zhí)行循環(huán)體。循環(huán)體執(zhí)行結(jié)束后(sum的值為1),再計算 i++。
2) 第二次循環(huán)時,i 的值為2,i<=100 成立,繼續(xù)執(zhí)行循環(huán)體。循環(huán)體執(zhí)行結(jié)束后(sum的值為3),再計算 i++。
3) 重復(fù)執(zhí)行步驟 2),直到第101次循環(huán),此時 i 的值為101,i<=100 不成立,所以結(jié)束循環(huán)。
由此我們可以總結(jié)出for循環(huán)的一般形式:
for(初始化語句; 循環(huán)條件; 自增或自減){ 語句塊 }
for循環(huán)中的三個表達式
for 循環(huán)中的“表達式1(初始化條件)”、“表達式2(循環(huán)條件)”和“表達式3(自增或自減)”都是可選項,都可以省略(但分號;
必須保留)。
1) 修改“從1加到100的和”的代碼,省略“表達式1(初始化條件)”:
int i = 1, sum = 0; for( ; i<=100; i++){ sum+=i; }
可以看到,將i=1
移到了 for 循環(huán)的外面。
2) 省略了“表達式2(循環(huán)條件)”,如果不做其它處理就會成為死循環(huán)。例如:
for(i=1; ; i++) sum=sum+i;
相當(dāng)于:
i=1; while(1){ sum=sum+i; i++; }
所謂死循環(huán),就是循環(huán)條件永遠成立,循環(huán)會一直進行下去,永不結(jié)束。死循環(huán)對程序的危害很大,一定要避免。
3) 省略了“表達式3(自增或自減)”,就不會修改“表達式2(循環(huán)條件)”中的變量,這時可在循環(huán)體中加入修改變量的語句。例如:
for( i=1; i<=100; ){ sum=sum+i; i++; }
4) 省略了“表達式1(初始化語句)”和“表達式3(自增或自減)”。例如:
for( ; i<=100 ; ){ sum=sum+i; i++; }
相當(dāng)于:
while(i<=100){ sum=sum+i; i++; }
5) 3個表達式可以同時省略。例如:
for( ; ; ) 語句
相當(dāng)于:
while(1) 語句
6) “表達式1”可以是初始化語句,也可以是其他語句。例如:
for( sum=0; i<=100; i++ ) sum=sum+i;
7) “表達式1”和“表達式3”可以是一個簡單表達式也可以是逗號表達式。
for( sum=0,i=1; i<=100; i++ ) sum=sum+i;
或:
for( i=0,j=100; i<=100; i++,j-- ) k=i+j;
8) “表達式2”一般是關(guān)系表達式或邏輯表達式,但也可是數(shù)值或字符,只要其值非零,就執(zhí)行循環(huán)體。例如:
for( i=0; (c=getchar())!='\n'; i+=c );
又如:
for( ; (c=getchar())!='\n' ; ) printf("%c",c);
上述就是小編為大家分享的什么是for循環(huán)了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文標(biāo)題:什么是for循環(huán)
路徑分享:http://fisionsoft.com.cn/article/ihjopi.html