C言語での演算は数学での演算と同じルールです。
例えば
5+3×2
の答えは11になります。
それに加えて、変数を使用した演算が可能です。
この講義では、まず演算記号の使い方を学び、変数を用いた演算の方法を練習します。
主な演算記号を下に示します。優先度が高い程先に評価されます。
[優先度7] ++(その値に1を加算する)
[優先度6] --(その値から1を減算する)
━━━━━━━━━━━━━━━━━━━━
[優先度5] *(掛け算)
[優先度4] /(割り算の答えを求める)
[優先度3] %(割り算の余りを求める)
[優先度2] +(足し算)
[優先度1] -(引き算)
━━━━━━━━━━━━━━━━━━━━
[優先度0] =(右辺値を左辺値へ代入する)
これらの記号を使うには、直接ソースコードへ記述するだけです。
それでは、C言語で1+1の計算をして、その結果を変数へ代入してみたいと思います。


Cのコンパイラが
Answer = 1 + 1;
の行へたどり着いた時、まず右辺値をチェックします。
この式全体の右辺値は1 + 1なので、1 + 1という式が評価され、その後=が評価されます。
結果、1 + 1の答えがAnswerへ代入されるのです。

つまり、
+演算子の方が、=演算子よりも優先順位が高いので、まず+演算子が評価されます。
その後、=演算子(代入演算子)が評価されるので、変数Answerへ計算結果が格納されるのです。
では、演算子の使い方を練習してみましょう。
問6:234 × 312の計算結果を変数Answerへ代入し、変数Answerの値を画面へ表示するプログラムを書きましょう。
問7:6 ÷ 2の計算結果を変数Answerへ代入し、変数Answerの値を画面へ表示するプログラムを書きましょう。
難8:5 ÷ 2を整数値で計算すると、2余り1になります。余りの部分を変数Answerへ代入し、変数Answerの値を画面へ表示するプログラムを書きましょう。
難9:100-55 × 2の計算結果を変数Answerへ代入し、変数Answerの値を画面へ表示するプログラムを書きましょう。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
これで四則演算はマスターしましたね。
では続いて、C言語特有の演算方法である、インクリメントとデクリメントを学びましょう。
++演算子は、変数の前に付けることができます。
変数の前に付けると、その変数の値を1増やします。
例えば……
int Number;
Number = 3;
++Number;
と書くと、Numberの値は4になります。
デクリメント演算子はその逆で、変数の値を1減らします。
例えば……
int Number;
Number = 3;
--Number;
と書くと、Numberの値は2になります。
インクリメント演算子とデクリメント演算子は、上で上げた演算子の中で最も優先度が高いので、真っ先に評価されます。
それでは、インクリメント演算子とデクリメント演算子の練習です。
問10:変数Numberには100を代入しておき、インクリメント演算子を使用してNumberの値を101にしなさい。また、演算後のNumberの値をprintfで表示しなさい。
問11:変数Numberには33を代入しておき、デクリメント演算子を使用してNumberの値を32にしなさい。また、演算後のNumberの値をprintfで表示しなさい。
難12:変数Numberには-10を代入しておき、デクリメント演算子を使用してNumberの値を-11にしなさい。また、演算後のNumberの値をprintfで表示しなさい。
例えば
5+3×2
の答えは11になります。
それに加えて、変数を使用した演算が可能です。
この講義では、まず演算記号の使い方を学び、変数を用いた演算の方法を練習します。
主な演算記号を下に示します。優先度が高い程先に評価されます。
[優先度7] ++(その値に1を加算する)
[優先度6] --(その値から1を減算する)
━━━━━━━━━━━━━━━━━━━━
[優先度5] *(掛け算)
[優先度4] /(割り算の答えを求める)
[優先度3] %(割り算の余りを求める)
[優先度2] +(足し算)
[優先度1] -(引き算)
━━━━━━━━━━━━━━━━━━━━
[優先度0] =(右辺値を左辺値へ代入する)
これらの記号を使うには、直接ソースコードへ記述するだけです。
それでは、C言語で1+1の計算をして、その結果を変数へ代入してみたいと思います。


Cのコンパイラが
Answer = 1 + 1;
の行へたどり着いた時、まず右辺値をチェックします。
この式全体の右辺値は1 + 1なので、1 + 1という式が評価され、その後=が評価されます。
結果、1 + 1の答えがAnswerへ代入されるのです。

つまり、
+演算子の方が、=演算子よりも優先順位が高いので、まず+演算子が評価されます。
その後、=演算子(代入演算子)が評価されるので、変数Answerへ計算結果が格納されるのです。
では、演算子の使い方を練習してみましょう。
問6:234 × 312の計算結果を変数Answerへ代入し、変数Answerの値を画面へ表示するプログラムを書きましょう。
問7:6 ÷ 2の計算結果を変数Answerへ代入し、変数Answerの値を画面へ表示するプログラムを書きましょう。
難8:5 ÷ 2を整数値で計算すると、2余り1になります。余りの部分を変数Answerへ代入し、変数Answerの値を画面へ表示するプログラムを書きましょう。
難9:100-55 × 2の計算結果を変数Answerへ代入し、変数Answerの値を画面へ表示するプログラムを書きましょう。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
これで四則演算はマスターしましたね。
では続いて、C言語特有の演算方法である、インクリメントとデクリメントを学びましょう。
++演算子は、変数の前に付けることができます。
変数の前に付けると、その変数の値を1増やします。
例えば……
int Number;
Number = 3;
++Number;
と書くと、Numberの値は4になります。
デクリメント演算子はその逆で、変数の値を1減らします。
例えば……
int Number;
Number = 3;
--Number;
と書くと、Numberの値は2になります。
インクリメント演算子とデクリメント演算子は、上で上げた演算子の中で最も優先度が高いので、真っ先に評価されます。
それでは、インクリメント演算子とデクリメント演算子の練習です。
問10:変数Numberには100を代入しておき、インクリメント演算子を使用してNumberの値を101にしなさい。また、演算後のNumberの値をprintfで表示しなさい。
問11:変数Numberには33を代入しておき、デクリメント演算子を使用してNumberの値を32にしなさい。また、演算後のNumberの値をprintfで表示しなさい。
難12:変数Numberには-10を代入しておき、デクリメント演算子を使用してNumberの値を-11にしなさい。また、演算後のNumberの値をprintfで表示しなさい。
コメント