C言語を習得する

(6)演算子

算術演算子
記号説明
+加算
-減算
*乗算
/除算
%剰余


関係演算子
演算子説明
>より大きい
>=以上
<より小さい
<=以下
==等しい
!=等しくない


代入演算子
演算子説明
=代入

次のような形式の文は、
    var = var op expression;
以下のような略式で記述できます。
    var op= expression;

op演算子説明
++=加算
--=減算
**=乗算
//=除算
%%=剰余
<<<<=左へシフト
>>>>=右へシフト
&&=AND
||=OR
^^=XOR


インクリメント・デクリメント演算子
演算子説明
+++1(インクリメント)する
---1(デクリメント)する

なお、インクリメント演算子とデクリメント演算子は変数の前に付くか後に付くかで演算するタイミングが異なります。
    x = 1;
    var = ++x;

と、変数(x)の前に記述しますと式(代入)が評価される前にインクリメントされます。 つまり上記のコードを実行したときvarに格納される値は2になります。 もちろんxの値は2です。
次に、
    x = 1;
    var = x++;

と、変数(x)の後に記述しますと式(代入)が評価された後にインクリメントされますので、 上記コードを実行した後はvarに格納される値は1で、xの値は2になります。

デクリメントも同様のタイミングで演算されます。

ちなみに...ですが、私はとあるコンパイラ(結構有名)でプリインクリメント(例.++x)を使ったら...バグった経験があります。 プリインクリメントは余り使われないのでデバッグが充分ではないのかも...と勝手に解釈して使わないようにしています。 プリインクリメントしたいときは前の行であらかじめポストインクリメント(例.x++)してから次の行で普通に式を書くようにしています。


論理演算子
演算子説明
||OR
&&AND
!NOT


ビットごとの演算子
演算子説明
|OR
&AND
^XOR
~NOT(反転)


シフト演算子
演算子説明
<<左へシフト
>>右へシフト



ページのTOPへ






メニュー