Top >C言語入門 とりあえずのC言語

3. 演算子

演算子
・*:..☆ プロローグ ☆..:*・

「あ~あ、望遠鏡みたいにからだをちぢめられたらいいのに。」

 アリスは考えました。そして、テーブルの上に小さなびんが置いてあるのに気がつきました。手にとって見るとラベルには“--(マイナスマイナス)私を飲んで”と書いてあります。アリスは恐る恐るビンの中の液体を一口飲んでみました。

「へんてこな気分。からだがちぢんだみたい。」

 実際、アリスのからだは1フィート小さくなっていました。アリスはビンに口をつけ、もう一口飲みました。

「また小さくなったわ。」

 アリスのからだは、もう1フィート小さくなりました。さらにもう一口飲むと、アリスの背は1フィートほどになりました。これなら十分あの小さなドアから外に出られると思ったアリスでしたが、ドアを開ける金の鍵を忘れてきたことに気がつきました。金の鍵はテーブルの上にあります。ところが、背が小さくなってしまったのでテーブルの上の鍵に届きません。アリスはすわりこんで泣き出しました。

 そのうち、テーブルの下に小さなガラスの箱があるのに気がつきました。箱の中には小さなケーキが入っていて、その上にはこう書いてありました。“++(プラスプラス)私を食べて”。

「よし、食べようっと。」

 ケーキを一口食べるとアリスのからだは1フィート大きくなりました。

「どうやら1フィートづつ小さくなったり大きくなったりするみたい。」

 続けて、もう二口ケーキを食べるとアリスはもとの大きさに戻りました。

 すると、どこからか妙な詩が聞こえてきました。

『--、++(マイナスマイナス、プラスプラス)
 減ったり増えたりひとつだけ
 +-(プラス、マイナス)そのまんま
 *(アステリスク)は掛け算よ
 割り算するには/(スラッシュ)ね
 =(イコール)だって演算子
 まだまだあるよ演算子』

 定数や変数に作用する記号を演算子と言います。

3.1. 算術演算子

算術演算子

 算術演算子は、加減乗除を実現するための演算子です。

  +   足し算(加算)
- 引き算(減算)
* 掛け算(乗算)
/ 割り算、商(除算)
% 割り算の余り

 加算、減算に対し、その他の演算が優先されます。

x = 3 + 4 * 5;

 この場合、x は 23 になります。加算、減算を先に行いたい場合には、算数と同様に小カッコ ( ) を使用します。

x = ( 3 + 4 ) * 5;

 この場合は、35 になります。

 

 整数の割り算では、小数点以下が切り捨てられます。四捨五入ではありませんから注意してください。

3.2. 代入演算子

代入演算子

 代入演算子は、左辺の変数に、右辺の値を代入するための演算子です。既に使用している‘=’がそうですが、その他にも用途に応じた演算子が用意されています。

  =   右辺値を左辺の変数に代入
+= x += y は x = x + yと同じ
-= x -= y は x = x – yと同じ
*= x *= y は x = x * yと同じ
/= x /= y は x = x / yと同じ
%= x %= y は x = x % yと同じ

 x = x + y という式は、もちろん、y が 0 である事を表しているわけではありません。

 x に y を加えた値を、x に代入する、つまり、x に y を加えるということになります。

3.3. インクリメント、デクリメント演算子

インクリメント、デクリメント演算子

 int型の変数xに対し、以下の式はxの値を1増やします。

x = x + 1;
また、次の式では値を1減らします。
x = x – 1;

 これらの式と同じように、変数の値を 1 増やす、1 減らすという機能を持った演算子が、インクリメント、デクリメント演算子です。インクリメント演算子“++”は変数の値を 1 増やし、デクリメント演算子“--”は 1減らします。

 変数 x に対しては、次のように記述します。

x++ または ++x
x-- または --x

 演算子を変数の後に置く書き方と、前に置く書き方の、2通りの書き方があります。どちらも x の値を 1 増減させるのですが、次のような式では違いがあります。

A) n = x++;
B) n = ++x;

 x の初期値が 3 であるとすると、A の場合、n は 3 であり、Bの場合、n は 4 となります。つまり、A の場合は演算子が適用される前の値が使用され、B の場合は演算子が適用された後の値が使用されるのです。

PAPER BOWL
NEZEN