カテゴリ: C言語 更新日: 2026/02/07

C言語のインクリメントとデクリメント演算子を完全ガイド!初心者でもわかる++と--の基本

C言語のインクリメント・デクリメント演算子(++ --)
C言語のインクリメント・デクリメント演算子(++ --)

先生と生徒の会話形式で理解しよう

生徒

「C言語の演算子を勉強していたら、プラスプラスやマイナスマイナスというものを見つけました。これは何ですか?」

先生

「それはインクリメントとデクリメント演算子と言います。数字を一つ増やしたり、一つ減らしたりする便利な記号です。」

生徒

「変数の値を変えることができるんですか?」

先生

「その通りです。C言語のプログラミングでとてもよく使うので、一緒に練習してみましょう。」

1. インクリメント演算子とは?

1. インクリメント演算子とは?
1. インクリメント演算子とは?

インクリメント演算子は、C言語のプログラミングで変数の値を一つ増やしたいときに使用します。記号は++で、読み方はインクリメントです。例えば、カウンターやループ処理で回数を数えるときに、変数の値を一つずつ増やすことができます。もしあなたがゲームでスコアを一つ上げたいとき、手で書くと「score = score + 1」と書きますが、インクリメントならもっと短い書き方ができます。


#include <stdio.h>

int main(void)
{
    int score = 0;
    score++;
    printf("%d\n", score);
    return 0;
}

このコードでは、変数の値が一つ増えます。プログラミングの初心者でも、インクリメント演算子を覚えると効率良く書けるようになります。インクリメントは前置と後置という二つの使い方があります。前置は++a、後置はa++と書きます。どちらも値が一つ増えるという意味ですが、使われるタイミングが少しだけ違います。前置は増えた後の値を使い、後置は使った後に増えます。


#include <stdio.h>

int main(void)
{
    int a = 5;
    printf("%d\n", ++a);
    return 0;
}

6

この例では、前置なので増えた後の数字が表示されます。もし後置で書いたら表示が変わります。


#include <stdio.h>

int main(void)
{
    int a = 5;
    printf("%d\n", a++);
    return 0;
}

5

このように後置では、表示するときはまだ増えていない数字になります。実際には表示した後で増えます。インクリメントの前置と後置は混乱しやすいので、ゆっくりと動きを確認しながら覚えていけば大丈夫です。

2. デクリメント演算子とは?

2. デクリメント演算子とは?
2. デクリメント演算子とは?

デクリメント演算子は、変数の値を一つ減らす記号です。記号は--で、読み方はデクリメントです。例えば、残り時間を一つずつ減らしたり、ゲームのライフを減らしたりするときに使えます。もし手で書くと「time = time - 1」となりますが、デクリメントを使えばもっと短くできます。


#include <stdio.h>

int main(void)
{
    int time = 3;
    time--;
    printf("%d\n", time);
    return 0;
}

2

デクリメントにも、前置と後置があります。前置の--aと後置のa--です。前置は減らしてから使う、後置は使ってから減ります。


#include <stdio.h>

int main(void)
{
    int b = 10;
    printf("%d\n", --b);
    return 0;
}

9

後置の例も見てみます。


#include <stdio.h>

int main(void)
{
    int b = 10;
    printf("%d\n", b--);
    return 0;
}

10

デクリメントを使うと、変数を一つずつ減らす処理が書きやすくなり、コードがすっきりします。

3. インクリメントとデクリメントを使う場面

3. インクリメントとデクリメントを使う場面
3. インクリメントとデクリメントを使う場面

インクリメントとデクリメントは、カウンターとして数を数える場面で役に立ちます。ゲームのスコア、残りアイテム数、カウントダウンタイマー、繰り返し処理など、C言語のプログラミング入門でとてもよく使われます。特にループ処理と組み合わせると便利です。ループは同じ処理を決まった回数だけ繰り返す仕組みで、回数を管理するためにインクリメントやデクリメントが活躍します。


#include <stdio.h>

int main(void)
{
    int i = 0;
    while(i < 5)
    {
        printf("%d\n", i);
        i++;
    }
    return 0;
}

この例では、変数が一つずつ増えていくことで繰り返しが終わる仕組みになっています。デクリメントでも同じように使えます。

4. 前置と後置が違うと何が起こる?

4. 前置と後置が違うと何が起こる?
4. 前置と後置が違うと何が起こる?

前置と後置が違うことで、変数を使うタイミングが変わります。これは、複雑に見える計算や式で意味が変わることがあるため注意が必要です。もし混乱しそうなら、最初は後置のa++a--だけ使うと分かりやすいです。慣れてきたら前置も使えます。プログラミングを続けると、どちらも自然に読めるようになります。


#include <stdio.h>

int main(void)
{
    int c = 1;
    int d = c++ + 5;
    printf("%d %d\n", c, d);
    return 0;
}

2 6

この例では、後置なので使った後に増える動きになります。もし前置で書いたら、計算が変わります。


#include <stdio.h>

int main(void)
{
    int c = 1;
    int d = ++c + 5;
    printf("%d %d\n", c, d);
    return 0;
}

2 7

このように、使い方が変わると結果も変わります。前置と後置を比べるために、手元で実行して動きを確認すると理解が深まります。

5. 無理に使いすぎないことも大切

5. 無理に使いすぎないことも大切
5. 無理に使いすぎないことも大切

インクリメントとデクリメントは強力で便利ですが、読みやすさが大切です。おしゃれに見せようとして、複雑な式にたくさん使うと読みにくくなります。初心者のうちは、シンプルな形で使う方が良いです。特に、大事なプログラムでは、意図がはっきりわかる書き方が安全です。もし迷ったら、a = a + 1のような書き方でも大丈夫です。

カテゴリの一覧へ
新着記事
New1
C++
C++のメンバアクセス演算子を完全解説!初心者でもわかる . → :: の使い方まとめ
New2
Rust
Rustの文字列を極める!&str(文字列スライス)の基本概念とString型との違い
New3
C++
C++のキャスト演算子を完全解説!dynamic_cast・static_cast・const_cast・reinterpret_castを初心者向けに説明
New4
C++
C++開発のIDE選びを完全ガイド!初心者でもわかるCLion・Eclipse CDT・Qt Creator比較
人気記事
No.1
Java&Spring記事人気No1
C++
C++の主要な実装をわかりやすく解説!GCC・Clang・MSVCの違いと特徴
No.2
Java&Spring記事人気No2
C言語
C言語を学ぶ初心者におすすめの環境構築手順【2025年版】
No.3
Java&Spring記事人気No3
C言語
C言語のソースコードとヘッダファイルの役割とは?初心者向けにわかりやすく解説!
No.4
Java&Spring記事人気No4
C言語
C言語をオンラインで実行できる便利なコンパイラサービスまとめ【初心者向け】
No.5
Java&Spring記事人気No5
C言語
C言語開発でよく使われるエディタとIDEランキング【初心者向け完全ガイド】
No.6
Java&Spring記事人気No6
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.7
Java&Spring記事人気No7
C++
C++リンカとコンパイラのオプション設定を完全ガイド!初心者にもわかる開発環境の基礎
No.8
Java&Spring記事人気No8
C言語
C言語の列挙型(enum)の使い方を完全ガイド!初心者でもわかる基本操作