ログイン
編集不可のページディスカッション情報添付ファイル
alstamber/Clanguage/operator

MMA

演算子について詳しくやろう

演算子については、計算をさせてみようの項目で簡単に触れましたが、ここではもう少し掘り下げて演算子について学ぶことにします。

算術演算子

難しい言葉が出てきましたが、要するに主に計算に関わる演算子です。

種類

記号

足し算

+

引き算

-

掛け算

*

割り算

/

剰余

%

足し算引き算は、それ以外の演算子よりもあとに計算されます。また整数同士の割り算では答えも整数になります。例えば5/3は1になります。

代入演算子

代入の時に使う=も演算子の1つとして扱われます。

インクリメントとデクリメント

プログラミングをしていると、往々にして1だけ足したい、1だけ引きたいということが発生します。
こういうとき例えば

   1 int a = 100;
   2 a = a + 1;

などと書けばいいわけですが、じつはもっと短く書く方法があって

   1 int a = 100;
   2 a++;

と書いても同じ事です。 この++をインクリメントといいます。同じように1引きたいときは

   1 int a = 100;
   2 a--;

とかけて、--をデクリメントといいます。

   1 a++;

   1 ++a;

と書いても構いません。同じ意味になります。

しかし

   1 b = a++;

   1 b = ++a;

は意味が変わります。
前者ではまずaがbに代入されます。そのあとaに1が足されます。
後者ではまずaに1が足されます。そのあとaがbに代入されます。
実行される順番が違うので結果が変わってくることがあるわけです。気をつけましょう。

演習問題

問一

   1 int a,b;
   2 a = 3;
   3 
   4 b = 3 / 2 + a * 4 - 5 % 2;

を実行すると、bの中身はいくらになるか。

問二

   1 int a,b;
   2 a = 4;
   3 b = 2;
   4 
   5 b = ++a;

   1 int a,b;
   2 a = 4;
   3 b = 2;
   4 
   5 b = a++;

で、それぞれa,bの値はいくらになるか。

alstamber/Clanguage/operator (最終更新日時 2011-10-09 04:45:56 更新者 alstamber)