Untitled Web Page

とある高専生の割と誰得なウェブページです。

演算子の優先順位

C 言語の演算子にも数学と同じように計算(評価)される順序がある。以下に一部の演算子の優先順位をまとめる。

演算子の優先順位(一部) [1]
  演算子 結合規則
1 ++ 後置インクリメント
-- 後置デクリメント
2 ++ 前置インクリメント
-- 前置デクリメント
3 % 剰余(割り算の余り)
* 乗算
/ 除算
4 + 加算
- 減算
5 = 代入(前ページのものも含む)

() で優先的に評価させることもできる。

結合規則

上の表で「結合規則」という列があるが,これは同じ優先順位の演算子を右から評価するか,左から評価するかを示している。たとえば, 5 % 3 * 7 / 2%, *, / 演算子が左結合なので () でわかりやすくすると次のようになる。

((5 % 3) * 7) / 2

また,a = b = c;= 演算子が右結合なので以下のようになる。

a = (b = c);

参考