1.括號優先順序最高
2.算術運算子優先順序高於關係運算子
3.逗號運算子優先最低
!>算術運算子》關係運算子》&&>||>賦值運算子
算數運算子——從左至右
賦值運算子——從右至左
優先順序操作符1()
->.::
!~++--
2- (負號)
* (取內容)
& (取首位址)
sizeof
3->*.*4
* (乘)/%
5+-6
<<
>>
7<
<=
>
>=8==
!=9& (按位與)10^
11|12&&
13||
14? :15=
+=-=
etc.16,
一算術運算子
加減乘除求餘數+-*/%
int n=7/2
printf("%d",n)
//輸出為3,因為是整型,把小數捨棄掉了
float n=7/2===>還是為3
而float n=7/2.0===>結果為3.5
二關係運算子
大於 >
小與 <
等於 ==
不等於 !=
大於等於 >=
小於等於 <=
運算規則:從左到右依次比較,比較完乙個運算子後,返回乙個bool值,返回的bool值繼續參與下一次比較
不允許使用連續的判斷
三邏輯運算子
與:&& 二者都為真才是真的
或:|| 有乙個真就為真
非:! !表示式——改變真假
注意int a = 1, b = 2, c = 3;
bool is = (a > b) && (c = 6);
前面為假,不在執行後面,所以c還是等於3
cout << "a=" << a《輸出的c=3
a = 1, b = 2, c = 3;
is = (a > b) || (c = 6);
前面為假,可執行後面,所以c為6
cout << "a=" << a << endl
<< "b=" << b << endl
<< "c=" << c << endl;
輸出的c=6
四賦值運算子(雙目運算子)
int a;
a = 10;
bool b;
b = a = 0;
cout << "b=" << b << endl;
從右到左賦值
五自增自減運算子(單目運算子)
前置後置的區別
a++===》先操作,再執行a=a+1
++a===》先執行a=a+1,再操作
a++不能做左值,a++是乙個常量,++a是乙個變數
後置優先順序比前置優先順序高
六條件運算子(三目運算子)
寫法:(表示式1)?(表示式2):(表示式3)
規則:先執行表示式1,如果表示式1位真,就執行表示式2,為假就執行表示式3
七逗號表示式
寫法:int n;
n=((表示式1),(表示式2),......,(表示式n));
最後n=表示式n的值
運算規則:
從左到右,依次計算,取最後乙個表示式的值(表示式的個數不受限制)
int a = 1, b = 2, c = 3;
int n;
n = ((++a), (a++), (a = 10), (c = a), (b = 80), a);
cout << "a=" << a << endl ; //a=10
cout << "b=" << b << endl ; //b=80
cout << "c=" << c << endl ; //c=10
cout << "n=" << n << endl ; //n=10
八括號運算子
括號括起來的先算,有多個括號,從左到右算
九位操作運算子
按位與 &
按位或 |
按位非 ~
按位異或 ^
左移 <<
右移 >>
十其他運算子
箭頭 ->
點 .負號 -
取內容 *
取首位址 &
求位元組數 sizeof()
運算子優先順序 C 運算子優先順序
c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...
運算子優先順序 Python 運算子優先順序
python 運算子優先順序 運算子描述 lambda lambda表示式 or布林 或 and布林 與 not x 布林 非 in,not in 成員測試 is,is not 同一性測試 比較 按位或 按位異或 按位與 移位 加法與減法 乘法 除法與取餘 x,x 正負號 x 按位翻轉 指數 x.a...
運算子優先順序 PHP運算子優先順序
php運算子優先順序 結合方向 運算子附加資訊 非結合clone new clone 和 new左 array 非結合 遞增 遞減運算子 非結合 int float string array object bool 型別非結合 instanceof 型別右結合 邏輯操作符 左 算術運算子 左 算術運...