「この演算をします」を表す記号のことを演算子といいます。
演算とは「コンピュータの振る舞い」と言い換えることが出来ますが、少し難しいので算術演算子にしぼって説明します。
算術演算子
「この計算をします」を表す記号のことを算術演算子といいます。
足し算であれば、+(ぷらす)
引き算であれば、ー(まいなす)
のようなことです。
今回は色々ある算術演算子とその使い方と書き方について練習していきます。
※これがC言語プログラムにおける算術演算子のすべてではありません、よく使うもののみ紹介していきます。
+(ぷらす)足し算
num = 1 + 2; // numに代入される値は3
ー(まいなす)引き算
num = 5 - 1; // numに代入される値は4
*(あすたりすく)掛け算
num = 3 * 5; // numに代入される値は15
/(すらっしゅ)割り算
num = 6 / 3; // numに代入される値は2
%(ぱーせんと)割り算の余り
num = 11 % 5; // numに代入される値は「11 / 5 = 2 あまり 1」になるので1
問題文のプログラムを下の実行結果と同じになるように組みなさい。
int型の変数 add, sub, mul, div の4つを宣言
add に「3 + 10」を代入
printfを使ってaddを表示しなさい
subに「50 - 20」を代入
printfを使ってsubを表示しなさい
mulに「12 * 2」を代入
printfを使ってmulを表示しなさい
divに「9 / 3」を代入
printfを使ってdivを表示しなさい
実行結果
13
30
24
3
例えば「変数numに3を足したい」となったとき、プログラムはどう書きますか?
num = num + 3;
こんな感じに書きますね。
numに3を足した値をnumに代入する、というプログラムなので正解です!
この変数に〇〇を●●したいという動作を簡単に書くことが出来るので紹介します。
↑の例を使って簡単な書き方に直します。
num += 3;
これで同じ動作となります。
numに3を足す、というプログラムです。
書き方は変数の代入に使う=(いこーる)の手前に算術演算子を置きます。
+= 足し算
ー= 引き算
*= 掛け算
/= 割り算
算術と代入を同時に行う書き方である、これを代入演算子(だいにゅうえんざんし)と呼びます。
では、この代入演算子を使って下の練習問題にのぞみましょう!よく使うプログラムなので覚えておきましょう!
問題文のプログラムを下の実行結果と同じになるように組みなさい。
int型変数 num を宣言して 0 を代入して初期化します。
numに5を足しましょう。
printfを使ってnumを表示
numに10を掛けましょう。
printfを使ってnumを表示
numから10を引きましょう。
printfを使ってnumを表示
numを20で割りましょう。
printfを使ってnumを表示
実行結果
5
50
40
2
問題です!
num = 3 + 5 * 2;
numに代入される値はいくつでしょうか?
5 * 2 の 掛け算が先に 実行され 10 になります。
num = 3 + 10;
結果として 3 + 10 の 足し算が後に 実行されるので 答えは13 になります。
掛け算がさき、足し算があと、
このように演算子には優先度が存在し、その優先度が高い順に計算の実行がされていきます。
演算子の優先度は
掛け算←割り算←足し算←引き算
他にも演算子はありますが、今はよく使うこの4つの算術演算子を覚えておきましょう。
では先ほどのこれを、3 + 5 を先に計算したいとなったときはプログラムではどうしたらいいでしょう?
num = 3 + 5 * 2;
() 丸かっこで括る事により計算の優先度を上げることが出来ます。
num = (3 + 5) * 2;
こうすると()で囲った 3 + 5 が掛け算よりも早く計算されます。
3 + 5 の結果 8 になって 8 * 2 が計算されて 答えは16 になります。
演算子には優先度があります。
1つの式に複数の演算子を使った場合には計算の順番に気を付けなければ求める答えが得られないことがあります。
優先度を変える方法は(丸かっこ)で括る、今はそれだけを覚えておいてください。