補足:基本的な演算子の種類
2項演算子
演算子 |
説明 |
左辺 |
右辺 |
結果 |
+ |
加算 |
数値、ポインタ |
数値、ポインタ |
数値、ポインタ |
- |
減算 |
数値、ポインタ |
数値、ポインタ |
数値、ポインタ |
* |
乗算 |
数値 |
数値 |
数値 |
/ |
除算 |
数値 |
数値 |
数値 |
% |
除算の剰余 |
整数 |
整数 |
整数 |
& |
ビット論理積 |
整数 |
整数 |
整数 |
| |
ビット論理和 |
整数 |
整数 |
整数 |
^ |
ビット排他的論理和 |
整数 |
整数 |
整数 |
<< |
ビット左シフト |
整数 |
整数(シフト量) |
整数 |
>> |
ビット右シフト |
整数 |
整数(シフト量) |
整数 |
&& |
論理積 |
論理値(数値、ポインタ) |
論理値(数値、ポインタ) |
論理値(整数) |
|| |
論理和 |
論理値(数値、ポインタ) |
論理値(数値、ポインタ) |
論理値(整数) |
<< |
挿入演算子 |
出力ストリーム |
式 |
出力ストリーム |
>> |
抽出演算子 |
入力ストリーム |
変数 |
入力ストリーム |
単項演算子
演算子 |
説明 |
結合 |
被演算数 |
結果 |
++ |
インクリメント |
右 |
数値変数、ポインタ変数 |
数値、ポインタ(演算後の値) |
++ |
インクリメント |
左 |
数値変数、ポインタ変数 |
数値、ポインタ(演算前の値) |
-- |
デクリメント |
右 |
数値変数、ポインタ変数 |
数値、ポインタ(演算後の値) |
-- |
デクリメント |
左 |
数値変数、ポインタ変数 |
数値、ポインタ(演算前の値) |
~ |
ビット反転 |
右 |
整数 |
整数 |
! |
論理否定 |
右 |
論理値(数値、ポインタ) |
論理値(整数) |
代入演算子
演算子 |
説明 |
左辺 |
右辺 |
結果 |
= |
そのまま代入 |
変数 |
式 |
式の値 |
+= |
左辺値に加算 |
変数 |
数値、ポインタ |
数値、ポインタ |
-= |
左辺値から減算 |
変数 |
数値、ポインタ |
数値、ポインタ |
*= |
左辺値に乗算 |
変数 |
数値 |
数値 |
/= |
左辺値を除算 |
変数 |
数値 |
数値 |
%= |
左辺値を除算して剰余を代入 |
整数型変数 |
整数 |
整数 |
&= |
ビット論理積 |
整数型変数 |
整数 |
整数 |
|= |
ビット論理和 |
整数型変数 |
整数 |
整数 |
^= |
ビット排他的論理和 |
整数型変数 |
整数 |
整数 |
<<= |
ビット左シフト |
整数型変数 |
整数(シフト量) |
整数 |
>>= |
ビット右シフト |
整数型変数 |
整数(シフト量) |
整数 |
- 「変数」には「変更可能な左辺値」を含みます。
- 同じ演算子でも適用するデータ型によって動作が異なります。
- ++, -- は結合方向によっても動作が異なります。