C語言程序設計初步2

字號:

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