C語(yǔ)言程序設(shè)計(jì)初步2

字號(hào):

for語(yǔ)句
    for語(yǔ)句是C語(yǔ)言所提供的功能更強(qiáng),使用更廣泛的一種循環(huán)語(yǔ)句。其一般形式為:
    for(表達(dá)式1;表達(dá)式2;表達(dá)3)
    語(yǔ)句;
    表達(dá)式1 通常用來(lái)給循環(huán)變量賦初值,一般是賦值表達(dá)式。也允許在for語(yǔ)句外給循環(huán)變量賦初值,此時(shí)可以省略該表達(dá)式。
    表達(dá)式2 通常是循環(huán)條件,一般為關(guān)系表達(dá)式或邏輯表達(dá)式。
    表達(dá)式3 通??捎脕?lái)修改循環(huán)變量的值,一般是賦值語(yǔ)句。
    這三個(gè)表達(dá)式都可以是逗號(hào)表達(dá)式, 即每個(gè)表達(dá)式都可由多個(gè)表達(dá)式組成。三個(gè)表達(dá)式都是任選項(xiàng),都可以省略。
    一般形式中的“語(yǔ)句”即為循環(huán)體語(yǔ)句。for語(yǔ)句的語(yǔ)義是:
    1.首先計(jì)算表達(dá)式1的值。
    2.再計(jì)算表達(dá)式2的值,若值為真(非0)則執(zhí)行循環(huán)體一次, 否則跳出循環(huán)。
    3.然后再計(jì)算表達(dá)式3的值,轉(zhuǎn)回第2步重復(fù)執(zhí)行。在整個(gè)for循環(huán)過(guò)程中,表達(dá)式1只計(jì)算一次,表達(dá)式2和表達(dá)式,3則可能計(jì)算多次。循環(huán)體可能多次執(zhí)行,也可能一次都不執(zhí)行。for 語(yǔ)句的執(zhí)行過(guò)程如圖所示。
    void main(){
    int n,s=0;
    for(n=1;n<=100;n++)
    s=s+n;
    printf("s=%d ",s);
    }
    用for語(yǔ)句計(jì)算s=1+2+3+...+99+100
    int n,s=0;
    for(n=1;n<=100;n++)
    s=s+n;
    printf("s=%d ",s);
    本例for語(yǔ)句中的表達(dá)式3為n++,實(shí)際上也是一種賦值語(yǔ)句,相當(dāng)于n=n+1,以改變循環(huán)變量的值。
    void main(){
    int a=0,n;
    printf(" input n: ");
    scanf("%d",&n);
    for(;n>0;a++,n--)
    printf("%d ",a*2);
    }
    用for語(yǔ)句修改例題。從0開(kāi)始,輸出n個(gè)連續(xù)的偶數(shù)。
    int a=0,n;
    printf(" input n: ");
    scanf("%d",&n);
    for(;n>0;a++,n--)
    printf("%d ",a*2);
    本例的for語(yǔ)句中,表達(dá)式1已省去,循環(huán)變量的初值在for語(yǔ)句之前由scanf語(yǔ)句取得,表達(dá)式3是一個(gè)逗號(hào)表達(dá)式,由a++,n-- 兩個(gè)表達(dá)式組成。每循環(huán)一次a自增1,n自減1。a的變化使輸出的偶數(shù)遞增,n的變化控制循次數(shù)。