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

 

3. 讓程式選擇與決定:流程控制

 

 


授課教師:陳慶瀚

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

E-mail : pierre@isu.edu.tw   

 

3.1 if條件陳述(if conditional statement)

 

if statements 中可以靠判斷數值或變數的狀態來提供程式分岔(判斷),可以讓程式依條件而被執行或者是被略過。基本的型式如下:

 if(運算式)

程式陳述;

if(運算式)

{

程式陳述1;

程式陳述2;

......;

}

if指令後接著一個執行判斷功能的運算式,該運算式必需包含在一組小括號之內。運算式主要目的在於評估TRUEFALSE。如果該運算式為TRUE,則隨後的程式敘述才會被執行,當必須執行的程式敘述超過一行,我們就要使用大括號將所有程式敘述含括起來形成一個程式區塊,如第二種形式。如果該運算式為FALSE, 則隨後的if程式區塊內的陳述將不會被執行。例如,

        if( degree >= 60 )

                cout<<"Pass!";

在這個程式片斷中,運算式degree >= 6將根據變數degree的數值來判斷是否為TRUE,若是,則在螢幕輸出Pass!

上述運算式( degree >= 60 )當中,我們使用了>=這個運算子,它用來評估運算子左邊的運算式是否大於或等於其右邊的運算式,如果為真,則整個判斷式( degree >= 60 )傳回TRUE,如果不為真,則傳回FALSE。在C++語言中,布林數(boolean number)true/false和整數1/0是可以等同互換的。

 

比較運算子用於評估兩個運算式的比較關係,包括等於、大於、小於等等,他們通常被應用在 if 陳述中。除了>=C++語言中還提供了其他的比較運算子,表3.1列出這些運算子和他們的意義。

3.1、比較運算子和意義

運算子

意義

==

等於

!=

不等於

<

小於

<=

小於或等於

>

大於

>=

大於或等於

 

接下來程式利用一個if陳述來判斷使用者的輸入的數值並決定在螢幕輸出的文字。

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

//                  範例程式3-1

//                 

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

    #include <iostream.h>

    void main()

    {

        int degree;

        cout<<"請輸入一個分數-->";

        cin>> degree;

        if(degree >= 60 )

        {

            cout<<"及格\n ";

        }

    if(degree < 60 )

        {

            cout<<"不及格!";

        }

    }

程式執行範例--

    請輸入一個分數-->78

    及格

接下來的程式判斷鍵盤輸入的值是否是介於AZ之間

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

//                  範例程式3-2

//                 

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

    #include <iostream.h>

    void main()

    {

        char letter;

        cout<<"輸入一個字元-->";

        cin>>letter;

        if( letter >= 'A' )

        {

            if( letter <= 'Z' )

                cout<<"這個字元介於AZ之間\n";

        }

    }

程式執行範例:

    輸入一個字元-->C

    這個字元介於AZ之間

雖然比較運算子通常使用在if陳述中,但並非一定得放在if陳述內。事實上比較運算式可以放在任何的陳述中。範例程式3-33-4展示這些可能性。

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

//                  範例程式3-3

//                 

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

    #include <iostream.h>

    void main()

    {

jane = 44;        //assignment陳述 

harry = 12;       //assignment陳述 

cout<<(jane == harry)<<endl;     //false  

cout<<(harry <= 12)<<endl;       //true 

cout<<(jane > harry)<<endl;      //true 

cout<< (jane >= 44)<<endl;        //true 

cout<< (harry != 12)<<endl;       //false 

cout<< (7 < harry)<<endl;         //true 

    }

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

//                  範例程式3-4

//                 

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

#include <iostream.h> 

void main() 

{ 

     int numb;

     cout << "請輸入一個數值: "; 

     cin >> numb; 

     cout << "判斷式numb<10 " << (numb < 10)  << endl; 

     cout << "判斷式numb>10" << (numb > 10)  << endl; 

     cout << "判斷式numb==10" << (numb == 10) << endl; 

}


課堂練習3-1

設計一個程式,讓使用者輸入一個整數值,判斷該整數是否可以被7整除,若是,輸出"7的倍數"


 

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

義守大學電機系 陳慶瀚 
2001.10.15