FoShiShi
運算子是一種記號或符號,用於指定運算式內執行的計算類型
例:+(加), -(減), *(乘), /(除)
其實就跟數學的運算子一樣
只是在C++
的世界中
有更多的運算方式跟更多可以用來計算的變數
當然你也可重新定義運算子的計算方式,但這這就是函式
的範圍了
這裡先不多講
當要對多個數字或資料型態做運算的時候
就是=
用來把後者的值指定到前者
例:int a = 1
=
不是判斷是否等於的意思
==
才是
不要把=
跟==
搞混
這debug起來很麻煩
一般運算子就是一般的運算子
跟數學一樣的那種
運算子 | 名稱 | 計算方式 | 例子 |
---|---|---|---|
+ |
加(add) | 取兩值相加之值 | int x = a + b |
- |
減(subtract) | 取兩值相減之值 | int x = a - b |
* |
乘以(multiply) | 取兩值相乘之值 | int x = a * b |
/ |
除以(divide) | 取前值除以後值之值 | int x = a / b |
% |
取模(modulo) | 取前值除以後值之餘數之值 | int x = a % b |
可能有人對這邊的取模比較陌生
其實就是取餘數
但當被除數為負數時,得出的餘數將會是負數(不整除的情況下)
例:
運算子 | 名稱 | 計算方式 | 例子 |
---|---|---|---|
+= |
加等於 | 將一值加上另一值 | a += b |
-= |
減等於 | 將一值減上另一值 | a -= b |
*= |
乘等於 | 將一值乘上另一值 | a *= b |
/= |
除等於 | 將一值除上另一值 | a /= b |
%= |
模等於 | 將一值取另一值之模 | a %= b |
a += b
就是a = a + b
其他的以此類推
運算子 | 名稱 | 計算方式 | 例子 |
---|---|---|---|
++ |
加加 | 將一值加1 | a ++ |
-- |
減減 | 將一值減1 | a -- |
a ++
就是a += 1
就是a = a + 1
其他的以此類推
沒有**
跟//
或%%
這種鬼東西
這裡不是python
這裡的+, -
也可以當作正跟負
像是
int a = 1;
int b = -a
b
就會是 -1
關係運算子就是對兩個東西取關係
判斷成邏輯條件
邏輯條件就是對某些狀況進行的判斷(true
跟 false
)
關係運算子跟邏輯運算子都會配 判斷
(這裡其實有超連結只是字是藍的所以不明顯)來實作
運算子 | 名稱 | 計算方式 | 例子 |
---|---|---|---|
== |
等於 | 兩值是否相等 | a == b |
!= |
不等於 | 兩值是否不相等 | a != b |
< |
小於 | 前值是否小於後值 | a < b |
> |
大於 | 前值是否大於後值 | a > b |
<= |
小於等於 | 前值是否小於等於後值 | a <= b |
>= |
大於等於 | 前值是否大於等於後值 | a >= b |
不要把==
跟 =
搞混
用錯的話debug
起來就真的很麻煩
(因為很重要所以再講一次)
邏輯運算子是用來做出邏輯條件的運算
當我們做出a && b
時
必須要a跟b都為true
才會回傳true
其他都回傳false
a()\b() | false | true |
---|---|---|
false | false | false |
true | false | true |
當我們做出a || b
時
a或b為true
就會回傳true
其他都回傳false
a()\b() | false | true |
---|---|---|
false | false | true |
true | true | true |
當我們做出!a
時
a為true
就回傳false
a為false
就回傳true
(顯然這簡單到不用表格)
將邏輯運算子配合關係運算子可以形成各種神奇東西
但是如果要判斷a < b < c
這樣的東西不能直接這樣寫
要用&&
去連接
像是
a < b && b < c
這裡就不講了
因為初學根本用不到
有興趣自己去查
當你接了一大堆運算子的時候
你會發現版面很亂
或有些運算的順序有問題
所以可以在某些地方加上 ()
就跟一般數學式的()一樣
會先執行裡面的運算
例:
C++
中依然符合先乘除後加減的規則
至於其他的運算子的先後順序
有興趣的的可以去查 "C++運算子優先順序"
輸入兩數a, b
請輸出a + b
用+
輸入三個數a, b, c
先把a
加上5
再把b
乘上a
最後輸出b
取c
的模
反正就是上面的運算子
我懶得打