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

C言語の代入演算子と複合代入演算子を解説!初心者でもわかる計算の書き方

C言語の代入演算子と複合代入演算子(+=, -=, *=, /=)
C言語の代入演算子と複合代入演算子(+=, -=, *=, /=)

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

生徒

「C言語って、計算した結果を変数に入れるときはどうやって書くんですか?ただ計算するだけじゃなくて、数字を変数に保存したいです。」

先生

「そのときに使うのが代入演算子です。代入演算子とは、計算した結果や数字を変数に入れるための記号です。」

生徒

「代入演算子ってイコールのことですか?」

先生

「その通りです。イコールを使って変数に値を入れることができます。さらにプログラムでは、複合代入演算子という便利な書き方もあります。」

1. 代入演算子とは

1. 代入演算子とは
1. 代入演算子とは

C言語の代入演算子とは、変数に数字や計算結果を入れるための記号です。数学のイコールは左右が同じという意味ですが、プログラミングのイコールは「右の値を左の変数に入れる」という意味になります。たとえば点数やお金、体力などを変数という名前付きの箱に保存し、あとで使うことができます。

実際の書き方はとても簡単です。数字や計算結果をそのまま入れられます。


#include <stdio.h>

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

50

変数の中身は好きなタイミングで変えられます。これが代入演算子の基本です。

2. 計算結果を代入しよう

2. 計算結果を代入しよう
2. 計算結果を代入しよう

代入演算子は計算結果を保存することもできます。例えば合計や残り時間などを計算し、それを変数に入れて使います。


#include <stdio.h>

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

8

右側で計算して、その結果を左に入れる流れです。この仕組みがあるからこそ、数字をもとにしたプログラムが作れるようになります。

3. 複合代入演算子とは何か

3. 複合代入演算子とは何か
3. 複合代入演算子とは何か

複合代入演算子という言葉は聞き慣れないですが、とても便利な書き方です。複合という言葉は「くみあわせ」という意味で、計算と代入を同時に行える仕組みです。

普通の書き方だと次のようになります。


a = a + 3;

左側の変数を使って計算し、その結果をまた同じ変数に入れています。このような書き方はよく使われますが、少し長くなります。そこで登場するのが複合代入演算子です。


a += 3;

たったこれだけで同じ意味になります。短く書けて読みやすくなるため、多くのプログラムで使われています。

4. 足し算の複合代入(+=)

4. 足し算の複合代入(+=)
4. 足し算の複合代入(+=)

+=は、変数に好きな数を足していく書き方です。スコアを追加したり、お金を増やしたり、時間を進めたりするときに役立ちます。


#include <stdio.h>

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

70

このように増えていく値を簡単に管理できます。

5. 引き算の複合代入(-=)

5. 引き算の複合代入(-=)
5. 引き算の複合代入(-=)

-=は、変数から数字を引くときに使います。ゲームで体力が減る場面や、残り時間が減る処理でよく使われます。


#include <stdio.h>

int main(void){
    int hp = 100;
    hp -= 30;
    printf("%d\n", hp);
    return 0;
}

70

hpという変数の中身が三十減り、七十になります。繰り返し使うような場面でも書きやすくなります。

6. 掛け算の複合代入(*=)

6. 掛け算の複合代入(*=)
6. 掛け算の複合代入(*=)

*=は、変数に掛け算した結果を入れます。ポイントは、一つの変数をそのまま使って計算するので、書き方がすっきりするということです。


#include <stdio.h>

int main(void){
    int price = 120;
    price *= 2;
    printf("%d\n", price);
    return 0;
}

240

例えば二倍の値段や、ポイントを二倍にするといった処理が簡単に書けます。

7. 割り算の複合代入(/=)

7. 割り算の複合代入(/=)
7. 割り算の複合代入(/=)

/=は、変数の中身を割り算して値を更新します。商品の割引率を計算したり、数字を調整したりするときに使えます。


#include <stdio.h>

int main(void){
    int money = 1000;
    money /= 2;
    printf("%d\n", money);
    return 0;
}

500

このようにして変数の値を半分にできます。同じ処理を繰り返す場合でも短く書けるので、とても便利です。

8. 代入演算子と複合代入演算子が役立つ場面

8. 代入演算子と複合代入演算子が役立つ場面
8. 代入演算子と複合代入演算子が役立つ場面

代入演算子と複合代入演算子は、たくさんのプログラムで使われます。ゲームのスコア、残り時間、体力やパワーなど、数字が変化する場面でとても役立ちます。増える、減る、倍になる、半分になるといった動きを簡単に表現できます。

コードを書く量が減るという点も大きな利点です。プログラムに無駄が少なくなり、読みやすく理解しやすいコードになります。将来の自分や他の人が読んだときにも意味がわかりやすくなります。

たとえば敵を倒したときにスコアを足す、アイテムを使って体力を回復する、経験値を増やすといった動きに使えます。さらに、センサーの値を集計したり、平均を出したり、回数を数えたりするときにも便利です。

カテゴリの一覧へ
新着記事
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)の使い方を完全ガイド!初心者でもわかる基本操作