演算子の優先順位、結合規則を以下の表にまとめる。
※a,bは、ここでは変数名として扱う。
まだ編集中なので抜けていたり今後加筆されていきます。
順位 | 記号 | 演算子名 |
演算子総称名(備考) |
結合 規則 |
書式例 |
1 | () | 関数呼び出し |
(関数) |
左 | function(a) |
[] | 配列添字 |
(配列) |
左 | array[5] | |
. | メンバアクセス | (構造体) | 左 | オブジェクト名.メンバ名 | |
-> | メンバ間接アクセス | (構造体) | 左 | ポインタ名->メンバ名 | |
++ | 後置インクリメント | 単項、(演算) | 左 | a++ | |
-- | 後置デクリメント | 単項、(演算) | 左 | a-- | |
2 | ! | 論理否定 | 単項、論理 | 右 | !a |
~ | ビット補数 | 単項、(ビット操作) | 右 | ~a | |
+ | 単項プラス |
単項、(演算) |
右 | +a | |
- | 単項マイナス |
単項、(演算) |
右 | -a | |
++ | 前置インクリメント | 単項、(演算) | 右 | ++a | |
-- | 前置インクリメント | 単項、(演算) | 右 | --a | |
& | アドレス | 単項、(ポインタ) | 右 | &a | |
* | 間接参照 | 単項、(ポインタ) | 右 | *a | |
3 | () | キャスト |
(変数型変換) |
右 | (int)a |
4 | * | 乗算 | 二項、(演算) | 左 | a*b |
/ | 除算 | 二項、(演算) | 左 | a/b | |
% | 剰余 | 二項、(演算) | 左 | a%b | |
5 | + | 加算 | 二項、(演算) | 左 | a+b |
- | 減算 | 二項、(演算) | 左 | a-b | |
6 | << | 左シフト |
二項、(ビット操作) |
左 | 110<<1 |
>> | 右シフト | 二項、(ビット操作) | 左 | 110>>1 | |
7 | > | 大なり | 関係 | 左 | a<5 |
>= | 以上 |
関係 |
左 | a>=5 | |
< | 未満 |
関係 |
左 | a<5 | |
<= | 以下 |
関係 |
左 | a<=5 | |
8 | == | 等価 |
関係 |
左 | a==5 |
!= | 非等価 |
関係 |
左 | a!=5 | |
9 |
& | AND(ビット論理積) | 二項、(ビット操作) | 左 | 1&1 |
10 | ^ | XOR(ビット排他的論理和) | 二項、(ビット操作) | 左 | 1^1 |
11 | | | OR(ビット論理和) | 二項、(ビット操作) | 左 | 1|1 |
12 | && | AND(論理積) | 論理 | 左 | a>0&&a<=5 |
13 | || | OR(論理和) | 論理 | 左 | a<0||a>=5 |
14 | ?: | 条件 | 三項、条件 | 右 |
(条件式)?(真の場合の処理): (偽の場合の処理) a<5?a=0:a=10 |
15 | = | 代入 |
代入 |
右 | a=5 |
+= | 加算代入 | 複合代入 | 右 | a+=5 | |
-= | 減算代入 |
複合代入 |
右 | a-=5 | |
*= | 乗算代入 |
複合代入 |
右 | a*=5 | |
/= | 除算代入 |
複合代入 |
右 | a/=5 | |
%= | 剰余代入 |
複合代入 |
右 | a%=5 |