第六天我們來學習C++中基本的運算式與運算子~
運算式是由運算元(operand)與運算子(operator)所組成,運算元可以是常數、變數甚至是函數,而運算子就是數學上的運算符號,如「+」、「-」、「*」、「/」等。
C++提供許多的運算子,這些運算子不但可以處理一般的數學運算外,還可以做邏輯運算、位置運算等、根據運算子所使用的類別,可分為設定、算數、關係、邏輯、遞增與遞減、條件與括號運算子等。
想讓變數在記憶體中儲存某個值時,可以使用設定運算子(=,assignment operator)
設定運算子 | 意義 |
---|---|
= | 設定 |
等號(=)在C++中並不是「等於」,而是「設定」的意思,如下列程式:
num = 18; //將整數18設定給num存放
對於大部分的運算式而言,運算子的前後都會有運算元。有一種運算子很特別,稱為一元運算子(unary operator),他只需要一個運算元。如下列程式:
+63; //表示正63
~b; //表示取b的1補數
a=-b; //表示負b的值設定給變數a存放
!a; //a的NOT運算,若a為0,則!a為1,若a不為0,則!a為0
下表列出一元運算子的成員:
一元運算子 | 意義 |
---|---|
+ | 正號 |
- | 負號 |
! | NOT,否 |
~ | 取1的補數 |
在數學上面經常會使用到算術運算子(mathematical opretor),下表列出他們的成員:
算數運算子 | 意義 |
---|---|
+ | 加法 |
- | 減法 |
* |
乘法 |
/ | 除法 |
% | 取餘數 |
關係運算子通常與邏輯有關,他會直接影響程式執行的流程,因此if敘述中常會使用到關係運算子,if敘述的格式如下:
if(條件判斷)
敘述;
下表列出關係運算子的成員的成員:
關係運算子 | 意義 |
---|---|
> |
大於 |
< | 小於 |
>= |
大於等於 |
<= | 小於等於 |
== | 等於 |
!= | 不等於 |
遞增與遞減運算子具有相當大的便利性,他們可以簡潔程式碼。下表列出遞增與遞減運算子的成員:
遞增與遞減運算子 | 意義 |
---|---|
++ | 遞增,變數值加1 |
-- | 遞減,變數值減1 |
用下列程式碼舉例:
一般寫法
i=i+1; //i加1後再設定給i存放
使用遞增運算子
i++; //i加1後再設定給i存放,i++為簡潔寫法
C++還有一些寫法相當簡潔的方式,將算數運算子和設定運算子結合,成為新的運算子
例如下面幾個運算式,皆是簡潔的寫法:
a++; //相當於a=a+1
b-=3; //相當於b=b-3
b%=c; //相當於b=b%c
在if敘述中也會看到邏輯運算子的蹤跡
(1)「&&」表示AND,且
(2)「||」表示OR,或
a>0 && b>0 //兩個運算元皆為真,運算結果才為真
a>0 || b>0 //兩個運算元只有一個為真,運算結果就為真
除了前面所述的內容外,括號()也是C++的運算,如下表所列:
括號運算子 | 意義 |
---|---|
() | 提高括號中運算式中的優先順序 |
今天的內容就先到這邊~