1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

【C言語超入門(第17回)】C言語の演算子について学ぼう(その2)

Pocket

C言語には、C言語独自の演算子として、インクリメント演算子、デクリメント演算子があります。

少々癖のある演算子ですが、使いこなすことができるようになりますと、C言語のソースコードが読みやすくなりますし、プログラミング効率も向上しますので、ぜひマスターしていただきたいと思います。

なお、C言語の基本的な演算子である、算術演算子、関係演算子、論理演算子については、前回のC言語超入門(第16回)でお伝えしましたので、ぜひご参照くださいませ。

演算子で+1、-1を処理する

C言語独自のインクリメント演算子、デクリメント演算子は、+1加算、-1減算を行います。

例えば、変数y の値を +1 する場合、

と記述しますね。

インクリメント演算子を使いますと、

と記述できます。

デクリメント演算子は、-1減算するだけで、記述方法はインクリメント演算子と同様です。

y++; と ++y; は、どちらも変数y に +1加算しますので、結果は同じなのですが、加算をするタイミングが異なります。

++が変数の前にあるときは、数式を処理する前に+1加算を行い、逆に++が変数の後ろにあるときは、数式を処理した後に+1加算を行います。

以下の「※プログラム1」を使ってご説明しますね。

※プログラム1

※プログラム1の実行結果

y = ++x; と記述した場合、++が変数xの前にあるため、数式を処理する前に、変数x に+1加算が行われます。

つまり、y = ++x; を分解しますと、

と処理されるため、変数 y の値が 11 になりました。

一方、y = x++; と記述しますと、++が変数xの後ろにありますので、数式を処理した後に、変数xに+1加算が行われます。

y = x++;を分解しますと、

と処理されますので、変数yの値は 10 になるわけです。

インクリメント演算子とデクリメント演算子を使うのは、2行が1行になるだけ、と言ってしまえば、それだけです。

と記述するのが嫌でしたら、

と記述しても、何ら問題ありません。

なお、インクリメント演算子がよく使われるケースのひとつに、for文があります。

例えば、多くのプログラムにおいて、

という使い方がされています。

もちろん以下のように、

と記述しても間違いではありませんが、どちらが「読みやすい」プログラムなのかは一目瞭然だと思いますし、後者の記述をしているプログラムソースは、ほとんど見かけたことがありません。

C言語超入門の第18回まとめ

C言語独自の演算子である、インクリメント演算子とデクリメント演算子は、少し癖のある演算子ですが、上手に使うことでソースコードが読みやすくなる効果が期待できます。

インクリメント演算子とデクリメント演算子を使わなくても、C言語のプログラミングは可能ですが、ソースコードの読みやすさや、コーディングの効率などを総合的に考慮すると、使用しない理由は見当たりません。

ぜひ今後のプログラミングで活用してみてくださいませ。

ステップ・バイ・ステップ。焦らず一歩ずつ進んでいきましょう。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る