< C++完整教學目錄 >

 

4. if判斷式與邏輯運算子:

(1) if判斷式可用來判斷條件是否成立,並且依照條件之成立與否,來執行不同的程式碼。if判斷式的標準形式為:

簡易型:

If (條件)

{

程式碼

}

表示在條件成立的情況下才執行程式碼

另外是複雜型:

If (條件一)

{

程式碼一

}

else If (條件二)

{

程式碼二

}

else If (條件三)

{

程式碼三

}

else

{

後備程式碼

}

執行的流程是:

先看條件一是否成立,若成立就會執行程式碼一;若不成立就看條件二是否成立,成立就執行程式碼二;這個寫法可以類推到條件三條件四等等,若所有條件都不成立,就會執行後備程式碼。上述的「條件」,和布林變數一樣具有true(條件成立)和false(條件不成立)。這些條件的寫法,通常有兩種:

(1-1)

第一種寫法使用到「比較運算子」,去比較其左右兩邊的變數或值。常用的比較運算子如下:

比較運算子

意義

==

左邊等於右邊

!=

左邊不等於右邊

左邊大於右邊

>=

左邊大於或等於右邊

左邊小於右邊

<=

左邊小於或等於右邊

如:1>10這個條件,他的意義是「數字1大於數字10」,很明顯這個條件是不成立的。

又如:若已先設定int a = 11; a>10這個條件的意義是「數字11大於數字10」,條件成立。

再如:若已先設定string b = "abc”; b=="cba” 這個條件即不成立。

完整範例如下:

int a=10;

int b=12;

int c=15;

if (a>15)

{   cout<< "a 大於 15!"; }

else if (a> 5)

{   cout<< "a大於5!"; }

else

{   cout<< "a 太小了";}

執行後顯示:a大於5!

(1-2)

條件的第二種寫法是直接使用到布林變數。如:

bool is_white = true;

if (is_white)

{ cout<<"我是白的"; }

執行後顯示:我是白的

(2) 邏輯運算子(&&||!):邏輯運算子可以組合多個上述介紹的條件,來形成一個新的大條件。語法如下:

條件一 && 條件二 取兩條件之交集,兩條件必須都成立,大條件才成立。

條件一 || 條件二 取兩條件之聯集,兩條件只要有一個成立,大條件就成立。(|不是英文字的L小寫,其稱為「管線符號」。在鍵盤中要打出管線符號,可先按住shift鍵不放,再按 \ 鍵。)

!條件 取該條件之反集,條件若不成立,大條件就成立。

範例如:

int a=10;

int b=12;

int c=15;

if (a>5 && b<100)

{   cout<< "大條件一成立"<<endl; }

else

{   cout<< "大條件一不成立"<<endl; }

 

if (a>5 || c<5)

{   cout<< "大條件二成立"<<endl; }

else

{   cout<< "大條件二不成立"<<endl; }

 

if (!c<5)

{   cout<< "大條件三成立"<<endl; }

else

{   cout<< "大條件三不成立"<<endl; }

執行後顯示:

大條件一成立

大條件二成立

大條件三成立

 

下一頁--迴圈 

文章標籤

埃伯 發表在 痞客邦 留言(2) 人氣()

< C++完整教學目錄 >

 

2. 矩陣:

矩陣是用來放置一群同類型變數,在處理大量資料時是很好用的。矩陣的宣告方法為:

變數型態 矩陣名稱[元素數量] = { 元素一, 元素二, 元素三… };

範例如:

string letter[5] = {"A","B","C","D","E"};

乃是一個字串矩陣。程式設計師可以對矩陣內的任一個元素進行存取或呼叫,其方法為矩陣名稱[元素序數]。其中,元素序數0開始,數到元素數量-1為止,表示所想要呼叫之元素的號碼。

範例如:

string letter[5] = {"A","B","C","D","E"};

cout<< letter[2]<<endl;

執行後顯示:C

 

3. 變數的運算:

(1) 數字(int,float和double)的運算:

運算符號

符號意義

範例

範例意義

+

相加

a=b+c;

將變數a之值設為bc之值

-

相減

a=b-c;

將變數a之值設為bc之值

*

相乘

a=b*c;

將變數a之值設為bc之值

/

相除

a=b/c;

將變數a之值設為bc之值

%

求餘數

a=b%c;

將變數a之值設為bc後之餘數

此符號只有在abc均為整數時才有用。

++

遞增

a++;

將變數a之值增加1

--

遞減

a--;

將變數a之值減少1

(2) 字串(string)的相加,如範例:

    string a ="aaa";

    string b ="bbb";

    string c = a+b+"xxx";

    cout<<c<<endl;

執行後顯示:

aaabbbxxx

(3) 布林變數(bool)的運算:

運算符號

符號意義

範例

真值表

&&

交集(and)

a&&b

 

a

b

a&&b

true

true

true

true

false

false

false

true

false

false

false

false

 

||

聯集(or)

a||b

 

a

b

a||b

true

true

true

true

false

true

false

true

true

false

false

false

 

!

反值(not)

!a

 

a

!a

true

false

false

true

 

註:在dev-c++中,若使用cout顯示一個bool,該bool會以10來代表truefalse

(4) 四則運算的先後順序:

C++對於四則運算程式碼的解讀,是採「先乘除後加減」的順序。也就是說,如int a=2+3*4;,是先計算3*4得到12,再將2+12得14,故a結果等於14。若要強迫C++改變解讀的順序,可用小括號( ),例如將程式碼寫成int a=(2+3)*4;,那麼就會先計算2+3得到5,再計算5*4得到20,這樣一來a結果就等於20。

 

下一頁--if判斷式與邏輯運算子 

文章標籤

埃伯 發表在 痞客邦 留言(1) 人氣()

< C++完整教學目錄 >

 

 

各位朋友若覺得本教學對您有幫助,請點個讚~

 

以下範例均使用dev-C++(免費,可自行google下載)中,「專案」內的Console Application來撰寫,如下圖:

 

(1)

(2)

以下文字中,黑色文字是說明,淺藍色文字代表程式碼,紫色文字代表程式之輸出結果。

選擇Console Application之後,dev-C++會自動產生下列程式碼:

#include <cstdlib>

#include <iostream>

using namespace std;

 

int main(int argc, char *argv[])

{

    system("PAUSE");

    return EXIT_SUCCESS;

}

以上的main是主程式名稱,故以下本教學所使用的所有程式碼皆是寫在兩個大括號 {} 之間、system("PAUSE"); 之前。

 

1. 基礎語法:

(1) 斷行:

每行C++程式碼,在行尾要加個分號 ;

(2) 變數宣告:

變數宣告利用到等號 =,其基本語法為:

變數型態 變數名稱 = ;

其中,常用的變數形態介紹如下:

變數形態

的說明

bool

這種變數形態叫做「布林變數」,其值只有兩種可能,truefalsetrue表示邏輯上的「真」,false表示邏輯上的「假」。

int

這種變數形態叫做「整數」,其值如:-2, -1, 0, 1, 2, 3, 4 ……

float

這種變數形態叫做「浮點數」,即是帶有小數點的數字。其值如:-2.3321, 0, 1.0, 2623.292 ……

double

這種變數形態叫做「雙精度浮點數」,和float一樣是帶有小數點的數字,不過比float更佔記憶空間。其值如:-2.3321, 0, 1.0, 2623.292 ……

char

這種變數形態叫做「字元」,也就是文字,可以是英文、中文、數字等等。字元的左右兩邊需要用單引號 ' 包起來,如 '''a''1'

string

這種變數形態叫做「字串」,也就是一連串的文字,可以是英文、中文、數字等等。字串的左右兩邊需要用雙引號 " 包起來,如 "大小你我他""abcde""12345"

變數名稱:一個由程式設計師自訂的名稱。但要注意,變數名稱只能是英文、

數字或底線符號 _,且開頭第一個字母一定要是英文,否則編譯軟體無法辨識。

:該變數的值,和變數型態有關。

變數宣告的範例如:

string name = "白龍馬";

int money = 20000;

bool is_white = true;

其中,namemoneyis_white都是變數名稱

※ 變數的宣告,事實上是在電腦中安排一記憶體空間來存放。而不同的變數型態所佔的記憶體空間也是不同的。

(3) 註解:

單行註解可用雙斜線//,如:

// 註解ABCD

多行註解可用雙斜線/與星號*搭配,如:

/*

這是註解一

這是註解二

*/

這些被註解的文字是不會被執行的,且註解可用中文。程式設計師寫註解的目的在於提醒自己這一行、或這一段程式碼是寫來幹嘛的,以免過幾天再看自己寫的程式碼,忘了自己為何要這樣寫。

(4) 基本輸出:

可使用cout<<變數名稱或值來進行基本輸出,然後會在螢幕上顯示。如:

string B= "蘋果";

cout<<B;

執行後螢幕上顯示:蘋果

(dev-C++的輸出螢幕最後方可能會出現:請按任意鍵繼續,不必理他)

此外,上述的cout方法也支持多變數連續輸出,如:

string A = "我買了";

int number = 5;

string B= "蘋果";

cout<<A<<number<<B;

執行後螢幕上顯示:我買了5蘋果

斷行:

若想輸出到下一行,可用cout<<endl; 如:

cout<<"我是第一行"<<endl;

cout<<"我是第二行"<<endl;

cout<<"我是第三行"<<endl;

執行後螢幕上顯示:

我是第一行

我是第二行

我是第三行

(5) 基本輸入:

可使用cin>>變數名稱來使用鍵盤輸入為該變數輸入值。執行後螢幕會停留、等待使用者用鍵盤輸入,輸入完畢會再繼續執行。範例如:

int n;

cout<<"你買了幾顆蘋果?"<<endl;

cin>>n;

cout<<"我買了"<<n<<"顆蘋果"<<endl;  

執行後,螢幕停留在:

用鍵盤隨便輸入一個數字,譬如3,之後按下enter,螢幕顯示:

 

 

下一頁--常用變數型態與矩陣 

 

 

 

 

文章標籤

埃伯 發表在 痞客邦 留言(23) 人氣()