計算機概論:C/C++程式設計

 

第4. 反覆計算:迴圈

 

 


授課教師:陳慶瀚

WWW : http://www.miat.ee.isu.edu.tw/cpp

E-mail : pierre@isu.edu.tw   

 


4.1 FOR 迴圈

for迴圈的基本結構如下:

for(起始條件運算式; 繼續條件運算式; 每次迴圈循環後的遞增運算式 )

{

        程式陳述;

}

當程式執行到for迴圈, 會先執行起始條件運算式,這是一個迴圈開頭的位置,整個迴圈反覆執行的過程,不會再回到這個位置。因此我們通常把迴圈內部需要用到的控制變數宣告或變數初始值在此設定。至於第二個部分:繼續條件運算式,將在每一個循環結束時被執行,它的作用是判斷迴圈是否還要繼續,如果該運算式為false,則結束迴圈,如果是true,則執行遞增運算式後,繼續進行迴圈下一個循環。

如果迴圈內的陳述只有一行,則我們可以省略大括號{},也就是

for(起始條件運算式; 繼續條件運算式; 每次迴圈循環後的遞增運算式)

        程式陳述;

後者的寫法雖然較為精簡,但是對於初學者,不管迴圈內的陳述式多行還是只有一行,我們仍然建議前者的寫法,因為對for迴圈加上大括號{}可以使程式更為清晰可讀,一旦程式需要異動時,也較不容易發生錯誤。

/*----------------------------------------------------*/

//                  範例程式4-1

//                  陳慶瀚,2001

/*----------------------------------------------------*/

#include <iostream.h>

void main()

{

int  count;

for( count = 1; count <= 10; count = count + 1 )

{

cout<<count<<" ";

}

cout<<"\n";

}

        範例 4-1輸出:

        1 2 3 4 5 6 7 8 9 10

上述範例宣告一個整數型別的變數來當作計數器,變數名稱為count 程式中for 迴圈的第一部分

        count = 1;

是起始條件運算式,其目的在於將count 變數值設為1 第二部分

        count <= 10;

是繼續條件運算式,當運算式值為true,for 迴圈將會繼續反覆迴圈中的程式,如果運算式值為false,則迴圈就會結束。 由於一開始變數count 被設為1, 上述條件判斷運算式count <= 10將得到true,因此迴圈中的程式陳述

         cout<<count<<" ";

會被執行, 而在螢幕上輸出count 變數值1, 並在其後接一空白字元。至此完成迴圈的一次循環。

接下來, for 迴圈所剩下的第三部分(遞增運算式)將被執行:

         count = count + 1

並使得變數count 中存放的值增加1 流程控制(flow control)現在又會回到繼續條件運算式的判斷,

        count <= 10;

判斷結果又再次為真(TRUE), 所以迴圈中的程式

        cout<<count<<" ";

將再次的被執行。 變數count 中的值再次的被增加, 繼續條件判斷式再次的被測試……, 程式流程將被反覆的執行。直到變數count 中的值增加至11,情況才有所改變。

這時, for 迴圈中的繼續條件判斷式

        count <= 10

將得到false的測試結果, 於是結束for 迴圈的全部循環,使得程式流程控制 (program control)將執行權轉移至迴圈外的下一行程式

        cout<<"\n";

在螢幕上輸出一空白行後,整個程式正常結束。

/*----------------------------------------------------*/

//                  範例程式4-2

//                  陳慶瀚,2001

/*----------------------------------------------------*/

        #include <iostream.h>

        void main()

        {

             char letter;

             for( letter = 'A'; letter <= 'E'; letter = letter + 1 )

             {

                    cout<<letter<<" ";

             }

        }

 範例程式輸出

    A B C D E

/*----------------------------------------------------*/

//                  範例程式4-3

//            使用for 迴圈來計算累加的範例

//                  陳慶瀚,2001

/*----------------------------------------------------*/

        #include <iostream.h>

        void main()

        {

             int total=0, loop;

             for(loop = 1; loop <= 10; loop = loop + 1 )

             {

                     total = total + loop;

             }

             cout<<"Total = "<<total<<endl;

        }

 範例程式輸出

        Total = 55

這個程式使用for 迴圈來計算累加110的累加值。第9行我們宣告變數loop,這個變數在起始條件運算式被設為1,隨後在每一次循環後依遞增運算式加1。遞增運算式也可以寫成

    loop++;

因為只用到一個運算子++,所以會有更好的執行效率。

在大多數for迴圈,我們都使用控制變數(loop)1來控制迴圈循環的次數,但並不是非得加1不可,我們可以使用減1或者加23等等方式,例如

    loop--;

    loop=loop+2;

我們把範例程式4-3改成計算從110的奇數和,便使用了loop=loop+2

/*----------------------------------------------------*/

//                  範例程式4-4

//            使用for 迴圈來計算110的奇數和

//                  陳慶瀚,2001

/*----------------------------------------------------*/

        #include <iostream.h>

        void main()

        {

             int total=0, loop;

             for(loop = 1; loop <= 10; loop = loop + 2 )

             {

                     total = total + loop;

             }

             cout<<"Total = "<<total<<endl;

        }


課堂練習4-1

寫一個程式,由使用者輸入一個整數N,計算sum = 

課堂練習TD4-2

寫一個程式利用for 迴圈來輸入十個數值並計算其平均值。

 

計算機概論:C/C++程式設計

義守大學電機系 陳慶瀚 
2001.10.22

 

謝孟媛 dvd -
情趣用品 -
飛鳥遊戲 -
遊戲基地 -
PATEK PHILIPPE -
xyz資訊工作坊 -
xyz軟體王 -
英文老師 -
沛納海 -
xyz軟體下載倉庫 -
基測試題 -
CARTIER 卡地亞 -
林晟數學 -
PIAGET -
費洛蒙情定 -
xyz -
軟體大補帖 -
高國華補習班 -
game淘 -
ps2台片 -
wii超級瑪莉攻略 -
情定費洛蒙 -
wii價格2011 -
xbox 360台片 -
tvgame360 -
愛馬仕 -
春藥專賣店 -
ps3價錢 2011 -
ps2遊戲王 -
wii遊戲片專賣店 -
百達翡麗 PATEK PHILIPPE -
壯陽藥品哪買 -
海賊王 -
春藥王 -
xyz軟體下載倉庫 -
壯陽食物 -
xbox360 -
催情藥 -
TISSOT 天梭 -
ps2遊戲燒錄 -
威而剛哪裡買 -
一夜情婦 -
xbox 360台片專賣 -
國中基測題庫 -
無雙遊戲網 -
xyz軟體王 -
ps2遊戲片80元 -
基測 -
xyz軟體王下載 -
GUCCI 古馳 -
南一題庫網 -
COACH -
LOUIS VUITTON -
wii超級瑪莉 -
wii價格2011 -
魔法老師 -
催情藥專賣店 -
國小翰林題庫網 -
wii遊戲片專賣店 -
遊戲天堂 -
寶格麗 -
金榜之路 -
wii遊戲片80元 -
xbox 360遊戲片 -
wii遊戲載點 -
人類費洛蒙情定 -
xbox 360台片專賣 -
催情王 -
xyz軟體之家 -
ps2遊戲片80元 -
情色小站 -
微風廣場 -
情慾之夜 -
民視文化 -
xbox360 -
蔻馳 -
ps2遊戲燒錄 -
ps3遊戲片 -
龍騰高中題庫 -
ps3台片 -
威而剛 -
ps3價錢 2011 -
軟體王下載 -
蕭邦 CHOPARD -
龍騰 -
催情藥 -
威而剛哪裡買 -
基測題目 -
HERMES 愛馬仕 -
情定費洛蒙 -
ps2台片 -
ps3遊戲片 -
wii瑪莉兄弟遊戲 -
江詩丹頓 Vacheron Constantin -
wii超級瑪莉 -
wii遊戲片在ho99小舖 -
春藥王 -
歷屆基測試題 -
窮人軟體 -
威而柔哪裡買 -
蕭邦 -
翰林題庫網 -
一夜情婦 -
wii遊戲下載 -
xbox 360遊戲 -
壯陽食物 -
ps2遊戲片 -
sogo百貨 -
台灣情色網 -
xyz軟體王下載 -
lv2011官方網 -
wii遊戲片專賣店 -
xbox 360價錢 -
歐米茄 -
雷達錶 RADO -
xyz資訊工坊 -
儒林補習班 -
壯陽藥品 -
xyz軟體王 -
窮人遊戲 -
ps2遊戲下載 -
ps3台片 -
德周 -
sogo百貨 -
費洛蒙情定 -
壯陽藥品哪買 -
催情王 -
春藥哪裡買 -
lv2011夏季新款 -
情趣用品 -
中友百貨 -
史萊姆的第一個家 -
情色論壇 -
萬寶龍 MONT BLANC -
萬國 -
ps2遊戲下載 -
春藥哪裡買 -
xyz資訊工作坊 -
龍騰文化 -
太平洋百貨 -
軟體王 -
xbox 360台片專賣 -
ps3遊戲片在ho99小舖 -
壯陽藥 -
xyz軟體銀行 -
xbox360台片 -
魔法24 -
wii遊戲片80元 -
XYZ資訊工坊 -
CARTIER -
春藥網 -
壯陽 -
xyz 軟體補給站 -
微風廣場 -
lv2011新款型錄 -
xbox 360遊戲 -
費洛蒙 -
卡地亞 -
wii遊戲下載 -
窮人天碟 -
春藥專賣店 -
gucci2011專賣店旗艦店 -
迪奧 -
CHANEL -
xyz軟體大本營 -
xbox 360遊戲片在ho99小舖 -
台北郵購網 -
BURBERRY 巴寶莉 -
伯爵 -
遠東百貨 -
陳希 -
費洛蒙mx -
時間廣場 -
漢神百貨 -
情色論壇 -
傳政 -
軟體 -
寶格麗 BVLGARI -
名牌包俱樂部 -
時間廣場 -
威而柔 -
wii瑪莉兄弟遊戲 -
lv名牌包專賣店 -
xyz軟體大本營 -
威而柔哪裡買 -
伯爵 PIAGET -
xyz軟體銀行 -
ps3遊戲下載 -
wii超級瑪莉歐 -
無名套裝 -
xyz軟體下載倉庫 -
江詩丹頓 -
林晟 -
ps3遊戲片在ho99小舖 -
威而剛 -
費洛蒙mx -
xyz軟體之家 -
HERMES -
林晟超理解數學 -
謝孟媛 -