C言語の演算子とその優先順を JIS X3010 : 2003 (ISO/IEC 9899 : 1999 )の 6.5 式 をもとにまとめた物です。
演算子名で規格に明示的な記載がないものについては、一般的と思われる名称を記載しています。
| 優先順位 | 演算子の分類 | 演算子の種類 | 演算子 | 用法 | 演算子名 | 結合規則 |
|---|---|---|---|---|---|---|
| 1 | 後置演算子 | 配列の添え字付け | [ ] | a[b] | 添字演算子 | → |
| 関数呼出し | ( ) | a(b) | 関数呼出し | |||
| 構造体及び共用体のメンバ | . | a.b | . 演算子 | |||
| -> | a->b | ->演算子 | ||||
| 後置増分及び後置減分演算子 | ++ | a++ | 後置++演算子 | |||
| — | a– | 後置–演算子 | ||||
| 複合リテラル | ( ){ } | (型名){リスト} | 複合リテラル | |||
| 2 | 単項演算子 | 後置増分及び後置減分演算子 | ++ | ++a | 前置++演算子 | ← |
| — | –a | 前置–演算子 | ||||
| アドレス及び間接演算子 | & | &a | 単項&演算子 | |||
| * | *a | 単項*演算子 | ||||
| 単項算術演算子 | + | +a | 単項+演算子 | |||
| – | -a | 単項-演算子 | ||||
| ~ | ~a | 単項~演算子 | ||||
| ! | !a | 理論否定演算子 | ||||
| sizeof演算子 | sizeof | sizeof a, sizeof(型名) | sizeof演算子 | |||
| 3 | キャスト演算子 | ( ) | (型名)a | キャスト演算子 | ← | |
| 4 | 乗除演算子 | * | a * b | 2項*演算子 | → | |
| / | a / b | /演算子 | ||||
| % | a % b | %演算子 | ||||
| 5 | 加減演算子 | + | a + b | 2項+演算子 | → | |
| – | a – b | 2項-演算子 | ||||
| 6 | ビット単位のシフト演算子 | << | a << b | <<演算子 | → | |
| >> | a>>b | >>演算子 | ||||
| 7 | 関係演算子 | < | a < b | <演算子 | → | |
| > | a > b | >演算子 | ||||
| <= | a <= b | <=演算子 | ||||
| >= | a >= b | >=演算子 | ||||
| 8 | 等価演算子 | == | a == b | ==演算子 | → | |
| != | a != b | !=演算子 | ||||
| 9 | ビット単位のAND演算子 | & | a & b | 2項&演算子 | → | |
| 10 | ビット単位の排他OR演算子 | ^ | a ^ b | ^演算子 | → | |
| 11 | ビット単位のOR演算子 | | | a | b | |演算子 | → | |
| 12 | 理論AND演算子 | && | a && b | &&演算子 | → | |
| 13 | 理論OR演算子 | || | a || b | ||演算子 | → | |
| 14 | 条件演算子 | ? : | a ? b : c | 条件演算子 | ← | |
| 15 | 代入演算子 | 単純代入 | = | a = b | 単純代入演算子 | ← |
| 複合代入 | *= | a *= b | *=演算子 | |||
| /= | a /= b | /=演算子 | ||||
| %= | a %= b | %=演算子 | ||||
| += | a += b | +=演算子 | ||||
| -= | a -= b | -=演算子 | ||||
| <<= | a <<= b | <<=演算子 | ||||
| >>= | a >>= b | >>=演算子 | ||||
| &= | a &= b | &=演算子 | ||||
| ^= | a ^= b | ^=演算子 | ||||
| |= | a |= b | |=演算子 | ||||
| 16 | コンマ演算子 | , | a , b | コンマ演算子 | → |
コメント