2.3 運算子與運算優先順序
在掌握了基本輸入、輸出之後,我們已經具備「將資料讀進電腦」,「將處理後的資料送回外界」的能力,接下來的重點就是中間的「處理」,也就是運算的部分。
首先我們要認識兩個名詞:
- 運算元(operands)
- 運算子(operator)
以 2+3 為例,2 和 3 都是運算元,+ 是運算子。
我們可以把運算子想成是「運算符號」,運算元想成是「運算的對象」。
指定(assign)運算子
在 C++ 中,= 不是 等於(equla) 而是 指定(assign)
a = 3 是「把 3 指定給 a 這個變數」,而不是表示「a 和 3 的值是相等的」
執行完這行後,變數 a 的值就會變成 3。
v = 3+5 則是把 3+5 的運算結果指定給變數 v,也就是說如果 = 的右側不是單純的值,而是運算式,要先完成運算後,再將運算結果指定給其左側的變數。
所以,執行完這行後,變數 v 的值就會變成 8。
想想看,以下這段程式執行後的輸出為何?
int a;
a = 3;
a = a+2;
cout << a << endl;
算術(arithmetic)運算子
+-/*%
關係(Relational)運算子
==, !=, >, <, >=, <=
邏輯(logical)運算子
&&, ||, !
位元(bitwise)運算子
&, |, ^, ~, >>, <<