C++中的while循環(huán)和for循環(huán)語句學習教程
C++ while循環(huán)
while語句的一般形式如下:
while (表達式) 語句
其作用是: 當指定的條件為真(表達式為非0)時,執(zhí)行while語句中的內(nèi)嵌語句。其流程圖見下圖。
其特點是:先判斷表達式,后執(zhí)行語句。while循環(huán)稱為當型循環(huán)。
例:求1+2+3+…+100。
#include <iostream> using namespace std; int main( ) { int i=1,sum=0; while (i<=100) { sum=sum+i; i++; } cout<<"sum="<<sum<<endl; }
運行結果為
sum=5050
需要注意:
循環(huán)體如果包含一個以上的語句,應該用花括號括起來,以復合語句形式出現(xiàn)。如果不加花括號,則while語句的范圍只到while后面第一個分號處。
在循環(huán)體中應有使循環(huán)趨向于結束的語句。
C++ for循環(huán)語句
C++中的for語句使用最為廣泛和靈活,不僅可以用于循環(huán)次數(shù)已經(jīng)確定的情況,而且可以用于循環(huán)次數(shù)不確定而只給出循環(huán)結束條件的情況,它完全可以代替while語句。
for語句的一般格式為:
for(表達式1; 表達式2; 表達式3) 語句
for語句執(zhí)行過程如下:
先求解表達式1。
求解表達式2,若其值為真(值為非0),則執(zhí)行for語句中指定的內(nèi)嵌語句,然后執(zhí)行下面第(3)步。若為假(值為0),則結束循環(huán),轉(zhuǎn)到第(5)步。
求解表達式3。
轉(zhuǎn)回上面第(2)步驟繼續(xù)執(zhí)行。
循環(huán)結束,執(zhí)行for語句下面的一個語句。
可以用下圖來表示for語句的執(zhí)行過程。
for語句最簡單的形式也是最容易理解的格式如下:
for(循環(huán)變量賦初值; 循環(huán)條件; 循環(huán)變量增值) 語句
例如:
for(i=1;i<=100;i++) sum=sum+i;
它相當于以下語句:
i=1; while(i<=100) { sum=sum+i; i++; }
顯然,用for語句簡單方便。
for語句的使用有許多技巧,如果熟練地掌握和運用for語句,可以使程序精煉簡潔。
關于for語句的幾點說明:
for語句的一般格式中的“表達式1”可以省略,此時應在for語句之前給循環(huán)變量賦初值。
如果表達式2省略,即不判斷循環(huán)條件,循環(huán)無終止地進行下去。也就是認為表達式2始終為真。
表達式3也可以省略,但此時程序設計者應另外設法保證循環(huán)能正常結束。
可以省略表達式1和表達式3,只有表達式2,即只給循環(huán)條件。
3個表達式都可省略。
表達式1可以是設置循環(huán)變量初值的賦值表達式,也可以是與循環(huán)變量無關的其他表達式。
表達式一般是關系表達式(如i<=100)或邏輯表達式(如a<b && x<y),但也可以是數(shù)值表達式或字符表達式,只要其值為非零,就執(zhí)行循環(huán)體。
C++中的for語句比其他語言中的循環(huán)語句功能強得多??梢园蜒h(huán)體和一些與循環(huán)控制無關的操作也作為表達式1或表達式3出現(xiàn),這樣程序可以短小簡潔。但過分地利用這一特點會使for語句顯得雜亂,可讀性降低,建議不要把與循環(huán)控制無關的內(nèi)容放到for語句中。