演算子をもう少し勉強したい。
これから、for文、while文を勉強したい。
インクリメントがまだ理解できない。
この記事を読めば、これらの悩みを解決できます。
過去に、算術演算子と複合代入演算子を解説しているので、まだ見ていない人は参考にしてもて下さい。
今回は、もっとシンプルで簡単な計算方法を紹介していきます。「インクリメント演算子」と「デクリメント演算子」というものです。
「1だけ+したい!」そんなときはインクリメント!
これから「for」「while」「if」などを習う人が多いと思いますが、そのときに「+1したい!」って思うことが増えていきます。「インクリメント演算子」はそんな時に便利です。
インクリメント演算子の使い方
まずは、変数宣言と代入をしましょう。代入する数字はなんでも良いのですが、ここで数字を代入しないと変数を計算することができません。(1をプラスすると言っても、何にプラスするのかが分からないと計算なんてできないですよね?)
その次に、「インクリメント演算子」で計算していきます。インクリメント演算子は
++変数;
のようにして使います。こうすることで、変数に+1することができます。
あとは、「printf」を使って出力をするだけです。
#include<stdio.h>
int main()
{
int plus;
plus = 3;
++plus;
printf("%d", plus);
}
こんな感じで「3+1」の計算プログラムを作ってみました。いつものように、「int」で変数宣言をして、「%d」で出力するといった感じです。
このように出力されます。
最初紹介した「デクリメント演算子」は、「マイナス1する計算」です。「インクリメント演算子」の「++」の部分を「--」に変えれば、同じように使えます。「インクリメント演算子」と「デクリメント演算子」はセットで覚えましょう。
インクリメントを後置きすると?
「++変数;」という形のインクリメントを説明しましたが、「変数++;」という形も存在します。ここからは2つの違いを説明していきます。
実際に、プログラムを使って解説します。最初はplusを「変数++;」の形で、次に「++変数;」の形でインクリメントして出力します。
#include<stdio.h>
int main()
{
int plus;
plus = 3;
printf("plus++:%d", plus++);
printf("¥n++plus:%d", ++plus);
}
このように、printfの中でインクリメントすることもできます。では、出力してみます。
「plus++」は全く変化なしなのに、「++plus」は3+2=5より「5」と出力されてしまいました。つまり、1回目の出力の後と2回目の出力をする前でplusに2を足すという計算をしていたのです。
なぜでしょうか?
実は、「++変数」は「その行の他の処理よりも先にインクリメントする」という意味で、「変数++」は「その行の他の処理よりも後にインクリメントする」という意味です。つまり、「plusを出力」➔「plusをインクリメント」➔「plusをインクリメント」➔「plusを出力」という流れでプログラムは実行されたのです。
2つの違いをまとめてみます。
++変数 | 先にインクリメント |
変数++ | 後にインクリメント |
まとめ
演算子の種類はたくさんありますが、どれが一番使いやすいとかはないです。全部使えるまでたくさんプログラムを書きましょう。特に、インクリメントはwhile文やif文で何度も使用するので忘れないようにしましょう。
次は、関係演算子と論理演算子を勉強しましょう。
コメント