999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C語言中for循環語句的應用研究

2010-12-31 00:00:00古力米熱.阿吾旦
現代商貿工業 2010年13期

摘要:在面向過程結構化程序設計中,循環是程序設計是一項重點應用,所以在高級語言程序設計課程中,掌握循環學好程序設計的基礎,也是程序設計能否入門的關鍵。在C語言中,循環結構主要是由for和while、do-while語句實現的,其中for語句的應用更為普遍一些。for語句的用法對于有程序設計經驗的學生來說輕而易舉,但是對于那些沒有經驗的初學者來說,難度卻不小。從初學者的角度,詳盡闡述了C語言中for語句在循環結構幾種典型應用的實現方法。

關鍵詞:C語言;結構化程序設計;循環結構

中圖分類號:TP

文獻標識碼:A

文章編號:1672-3198(2010)13-0329-02

1 for循環語句的應用規則

C語言中的for循環語句使用非常靈活,不僅可以用于循環次數已經確定的情況,而且可以用于循環次數不確定而只給出循環結束條件的情況,它完全可以代替while語句。

1.1 for循環語句的格式

for(表達式1;表達式2;表達式3)語句;

這里邊的“語句”就是循環體語句,若其中只有一條語句,可以不用花括號,若多于一條,則必須用花括號將這些循環體語句括起來。

1.2 for循環語句的執行過程

(1)先操作表達式1;

(2)操作表達式2,若其值為真(值為非0),則執行for語句中的循環體語句一次,然后執行下面第三步,若為假(值為0),則結束循環,轉到第5步;

(3)操作表達式3;

(4)轉回上面第2步驟繼續執行;

(5)結束循環,執行for語句下面的語句。

一定要搞清楚這三個表達式的執行次序!且要注意表達式1只執行一次!

通常,表達式1用來為循環變量賦初值,表達式2用來設置執行循環的條件,表達式3用來改變循環變量的值。所以for語句的格式也可以這樣描述:

for(循環變量賦初值;循環條件;循環變量增值)語句;

2 fo與while語句的編程對比

通過結合例子,如求sum=1+2+3+…+100的和,來分別看一下for和while語句的編程效果。

首先用for循環語句來編程實現

main()

{ 

int i,sum=0;/*定義變量i,sum為基本整型,且為sum賦初值0*/

for(i=1;i<=100;i++)sum=sum+i;/*用for語句實現循環,循環體只有一句,可不用花括號*/

printf(“sum=%d”,sum); /*退出循環后的語句,即輸出sum的值*/

}

再用while語句進行編程實現

main()

{

int i=1,sum=0; /*定義變量i,sum為基本整型,且為它們分別賦初值1和0*/ 

while(i<=100) /*執行循環體的判斷語句*/

{

sum=sum+i; /*將變量i與其前各項之和累加*/

i++; /*循環變量增加1*/

} /*循環體多于一個語句時要用花括號括起來*/

printf(“sum=%d”,sum); /*退出循環,輸出sum的值*/

}

對比以上程序,顯然我們發現,用for語句在編程語句上更簡單、方便,編程效率更高。而while語句在編程過程中,要書寫更多的語句。

3 for語句的深入應用

(1)for語句一般形式中的表達式1可以省略,此時應在for語句之前給循環變量賦初值。注意省略表達式1時,其后的分號不能省略。如for(;i<=100;i++){…};

(2)表達式2也可以省略,即沒有判斷循環的條件,此時編譯系統將循環條件默認為真,循環將無終止地循環下去,這種情況可以在循環體中設置條件控制循環。

例如:for(i=1;;i++)sum=sum+i;為死循環語句,若使其實現1+2+3+…+100后結束循環,則可以在循環體中加上控制條件:

for(i=1;;i++){if(i>100)break;sum=sum+i;}

(3)表達式3也可以省略,即沒有設置用來改變循環變量的語句,循環將無終止地循環執行下去,但此時程序設計者可以在循環體中加上用來改變循環變量的語句。如:

for(i=1;i<=100;)

{sum=sum+i;

i++;/*循環變量增加1,改變循環變量的值*/

}

另外表達式3不一定都要寫成如i++這樣的形式,要根據循環變量的實際變化規律而定,如可以寫成這樣的形式:i=i+2或i=i*3…。

(4)可以省略表達式1和表達式3,只有表達式2即只給循環條件。此時可以在程序的適當位置對循環變量賦初值和改變循環變量的值。如:

int i=1,sum=0; /*定義變量i,sum為基本整型,且為它們分別賦初值1和0*/

for(;i<=100;)

sum=sum+i++; /*改變循環變量的值*/

(5)三個表達式都可以省略。

如:for(;;)語句;

即不設初值,沒有判斷條件(認為表達式2為真值),循環變量不增值,將無終止的執行循環體。在實際應用中程序設計者可以將這三個內容分寫在程序的適當位置。

如:

main()

{

int i=1,sum=0; /*定義變量賦初值1和0*/ 

for(;;)

{if(i>100);{sum=sum+i++;}}/*為循環設置控制條件,改變循環變量的值*/

printf(“sum=%d”,sum);

}

(6)表達式1也可以是設置循環變量初值的賦值表達式,也可以是與循環變量無關的其他表達式.且可以有多個,此時用逗號將其分隔開,如:

for(i=1,sum=0;i<=100;i++);/*可以為多個變量賦初值,用逗號分隔*/

{

sum=sum+i;

}

(7)當循環的次數不確定時,表達式2即控制循環的條件語句,其判斷對象就不能是循環變量了。如:

已知s=1+2+3+…+n,求滿足s>=1000的最小n值。

這個程序的循環執行的條件為“s<1000”,退出循環時n的值不知道是多少,所以循環條件的判斷對象應該是s,其程序可以如下編寫:

main()

{ int n,s; /*定義變量賦不賦初值*/ 

for(n=1,s=0;s<1000;n++) /*用for語句實現循環*/ 

s=s+n; /*將變量n與其前各項之和累加*/ 

printf(“n=%d”,n-1); /*,輸出n的值*/ 

} 

用while語句可以這樣編寫:

main()

{int n=1,s=0; 

while(s<1000) 

s=s+n++; 

printf(“n=%d”,n-1); 

} 

上面這個程序循環的次數在編寫程序時不能確定,遇到這種情況人們首先想到的是用while語句來實現循環,以為for語句無法實現,其實這是一種誤解。在BASIC語言中for循環只能用在循環次數確定的循環當中,而C語言中for語句格式卻有其特殊性,而應用更具靈活性。

參考文獻

[1]譚浩強.C程序設計(第二版)[M].北京:清華大學出版社,2003.

[2]譚浩強.C程序設計題解與上機指導(第二版)[M].北京:清華大學出版社,2003.

主站蜘蛛池模板: 性喷潮久久久久久久久| 日本午夜精品一本在线观看 | 精品国产香蕉伊思人在线| 免费黄色国产视频| 狠狠亚洲婷婷综合色香| 欧美精品高清| 欧美伦理一区| 专干老肥熟女视频网站| 亚洲男人天堂网址| 国产毛片高清一级国语| 有专无码视频| 久久精品亚洲中文字幕乱码| 日韩在线1| 午夜不卡福利| 国内精品久久久久鸭| 天堂av高清一区二区三区| 亚洲三级片在线看| 日韩a级片视频| 久久久久久尹人网香蕉 | 欧美亚洲欧美| 99精品热视频这里只有精品7| 欧美色视频在线| 人人爽人人爽人人片| 亚洲人在线| 亚洲香蕉久久| 亚洲娇小与黑人巨大交| 99re免费视频| 无遮挡一级毛片呦女视频| 思思热在线视频精品| 国产成人亚洲毛片| 免费又黄又爽又猛大片午夜| 麻豆精品视频在线原创| 人妻精品全国免费视频| 亚洲色无码专线精品观看| 免费看a毛片| 亚洲黄色成人| 国产精品流白浆在线观看| 免费久久一级欧美特大黄| 国产黄色爱视频| 国内精品免费| 欧美国产日韩在线播放| 免费看久久精品99| 激情视频综合网| 国产地址二永久伊甸园| 亚洲成A人V欧美综合天堂| 奇米影视狠狠精品7777| 九九热视频在线免费观看| 不卡午夜视频| 亚洲欧美日韩综合二区三区| 亚洲男人的天堂网| 国产手机在线ΑⅤ片无码观看| 欧美精品另类| 在线国产你懂的| 国产精品3p视频| 秋霞一区二区三区| 午夜人性色福利无码视频在线观看| 国产男女免费完整版视频| 麻豆精品在线视频| 美女裸体18禁网站| 精品无码人妻一区二区| 国产精品欧美亚洲韩国日本不卡| 国产一区二区在线视频观看| 99精品国产高清一区二区| 国产在线八区| 黄色免费在线网址| 亚洲资源在线视频| 亚洲人成色在线观看| 四虎精品黑人视频| 国产又粗又爽视频| 欧美在线导航| 日本欧美在线观看| 99热这里只有精品国产99| 国产日韩欧美精品区性色| 国产经典在线观看一区| 超清无码熟妇人妻AV在线绿巨人| 亚洲中文字幕无码爆乳| 国产毛片基地| 先锋资源久久| 欧美色伊人| 国产自在线播放| 亚洲欧美h| 亚洲午夜国产精品无卡|