c語(yǔ)言中for的用法
在C語(yǔ)言中,for語(yǔ)句使用最為靈活,它完全可以取代 while 語(yǔ)句。下面小編就跟你們?cè)敿?xì)介紹下c語(yǔ)言中for的用法,希望對(duì)你們有用。
c語(yǔ)言中for的用法如下:
它的一般形式為:
for(表達(dá)式1; 表達(dá)式2; 表達(dá)式3) 語(yǔ)句
它的執(zhí)行過(guò)程如下:
先求解表達(dá)式1。
求解表達(dá)式2,若其值為真(非0),則執(zhí)行for語(yǔ)句中指定的內(nèi)嵌語(yǔ)句,然后執(zhí)行下面第3)步;若其值為假(0),則結(jié)束循環(huán),轉(zhuǎn)到第5)步。
求解表達(dá)式3。
轉(zhuǎn)回上面第2)步繼續(xù)執(zhí)行。
循環(huán)結(jié)束,執(zhí)行for語(yǔ)句下面的一個(gè)語(yǔ)句。
其執(zhí)行過(guò)程可用下圖表示。
for語(yǔ)句最簡(jiǎn)單的應(yīng)用形式也是最容易理解的形式如下:
for(循環(huán)變量賦初值; 循環(huán)條件; 循環(huán)變量增量) 語(yǔ)句
循環(huán)變量賦初值總是一個(gè)賦值語(yǔ)句,它用來(lái)給循環(huán)控制變量賦初值;循環(huán)條件是一個(gè)關(guān)系表達(dá)式,它決定什么時(shí)候退出循環(huán);循環(huán)變量增量,定義循環(huán)控制變量每循環(huán)一次后按什么方式變化。這三個(gè)部分之間用分號(hào)(;)分開。例如:
for( i=1; i<=100; i++ ) sum=sum+i;
先給i賦初值1,判斷i是否小于等于100,若是則執(zhí)行語(yǔ)句,之后值增加1。再重新判斷,直到條件為假,即i>100時(shí),結(jié)束循環(huán)。相當(dāng)于:
i=1;
while(i<=100){
sum=sum+i;
i++;
}
對(duì)于for循環(huán)中語(yǔ)句的一般形式,就是如下的while循環(huán)形式:
表達(dá)式1;
while(表達(dá)式2){
語(yǔ)句
表達(dá)式3;
}
使用for語(yǔ)句應(yīng)該注意:
1) for循環(huán)中的“表達(dá)式1(循環(huán)變量賦初值)”、“表達(dá)式2(循環(huán)條件)”和“表達(dá)式3(循環(huán)變量增量)”都是選擇項(xiàng),即可以缺省,但分號(hào)(;)不能缺省。
2) 省略了“表達(dá)式1(循環(huán)變量賦初值)”,表示不對(duì)循環(huán)控制變量賦初值。
3) 省略了“表達(dá)式2(循環(huán)條件)”,則不做其它處理時(shí)便成為死循環(huán)。例如:
for( i=1; ; i++ ) sum=sum+i;
相當(dāng)于:
i=1;
while(1){
sum=sum+i;
i++;
}
4) 省略了“表達(dá)式3(循環(huán)變量增量)”,則不對(duì)循環(huán)控制變量進(jìn)行操作,這時(shí)可在語(yǔ)句體中加入修改循環(huán)控制變量的語(yǔ)句。例如:
for( i=1; i<=100 ; ){
sum=sum+i;
i++;
}
5) 省略了“表達(dá)式1(循環(huán)變量賦初值)”和“表達(dá)式3(循環(huán)變量增量)”。例如:
for( ; i<=100 ; ){
sum=sum+i;
i++;
}
相當(dāng)于:
while(i<=100){
sum=sum+i;
i++;
}
6) 3個(gè)表達(dá)式都可以省略。例如:
for( ; ; ) 語(yǔ)句
相當(dāng)于:
while(1) 語(yǔ)句
7) 表達(dá)式1可以是設(shè)置循環(huán)變量的初值的賦值表達(dá)式,也可以是其他表達(dá)式。例如:
for( sum=0; i<=100; i++ ) sum=sum+i;
8) 表達(dá)式1和表達(dá)式3可以是一個(gè)簡(jiǎn)單表達(dá)式也可以是逗號(hào)表達(dá)式。
for( sum=0,i=1; i<=100; i++ ) sum=sum+i;
或:
for( i=0,j=100; i<=100; i++,j-- ) k=i+j;
9) 表達(dá)式2一般是關(guān)系表達(dá)式或邏輯表達(dá)式,但也可是數(shù)值表達(dá)式或字符表達(dá)式,只要其值非零,就執(zhí)行循環(huán)體。例如:
for( i=0; (c=getchar())!=’\n’; i+=c );
又如:
for( ; (c=getchar())!=’\n’ ; )
printf("%c",c);
循環(huán)的嵌套
【例6-7】循環(huán)嵌套的應(yīng)用。
復(fù)制純文本新窗口
#include <stdio.h>
int main(void){
int i, j, k;
printf("i j k\n");
for (i=0; i<2; i++)
for(j=0; j<2; j++)
for(k=0; k<2; k++)
printf("%d %d %d\n", i, j, k);
return 0;
}
c語(yǔ)言中for的用法
上一篇:c語(yǔ)言中fopen的用法