広告スペース

第9回 代入・インクリメント

C言語の代入演算子とインクリメント(++)・デクリメント(--)を解説。

代入演算子 ― = は「等しい」ではない

a = b「bの値をaに代入する」 という意味です。数学の等号ではありません。
int a, b;
a = 5;        // aに5を代入
b = a + 3;    // bに (aの値+3)=8 を代入
a = a + 1;    // aに (aの値+1)=6 を代入 (a=5 だった値に+1)
数学との違い: a = a + 1 は数学的にはあり得ませんが、C言語では「現在のa + 1 を新しいaに代入」という意味で、値が1増えます。

短縮代入演算子

頻繁に使う「変数を更新する操作」を短く書ける記法です。
記法意味結果(a=10の場合)
a += ba = a + ba += 3a = 13
a -= ba = a - ba -= 4a = 6
a *= ba = a * ba *= 2a = 20
a /= ba = a / ba /= 3a = 3
a %= ba = a % ba %= 3a = 1
慣れておこう: sum += num; のような書き方はC/C++/Java/Pythonなどで共通で使われます。

インクリメント(++) とデクリメント(--)

変数の値を1だけ増やす/減らす専用の演算子。for文で特によく使います。
int i = 5;
i++;     // i = i + 1 と同じ。iは6に
i--;     // i = i - 1 と同じ。iは5に戻る
++i;     // これも i=i+1 (前置)

for (int i = 0; i < 10; i++) { ... } // forで最頻出
i++ (後置)
式の値は元のi、その後+1
++i (前置)
先に+1してから式の値を決める

インクリメント実演

変数 i
0

自分で書いてみよう ― 代入・インクリメント

assign.c
出力
「実行」を押してください...
広告スペース

関連する講座

演算子編
第7回 算術演算子
C言語の算術演算子(+, -, *, /, %)を図解で解説。整数除算の注意点も。
演算子編
第10回 比較・論理演算子
C言語の比較演算子(==, !=, <, >)と論理演算子(&&, ||, !)を解説。
繰り返し・配列・文字列
第14回 繰り返し(for/while)
C言語のfor文とwhile文の使い方。ループ処理を図解で解説。
← 前の講座
第8回 確認問題(算術)
次の講座 →
第10回 比較・論理演算子

確認クイズ

この講座の理解度をチェックしましょう!

Q1. int a = 5; a += 3; の結果、a の値は?

5
3
8

a += 3 は a = a + 3 と同じです。5 + 3 = 8 になります。

Q2. int a = 5; int b = a++; のとき b の値は?

5
6
4

a++ は後置インクリメントなので、まず a の現在の値(5)が b に代入され、その後 a が 6 になります。

Q3. int a = 5; int b = ++a; のとき b の値は?

5
6
4

++a は前置インクリメントなので、まず a が 6 になり、その値が b に代入されます。

この記事をシェア
X(Twitter)でシェア Facebookでシェア LINEで送る はてブ

この講座の理解を深めるおすすめ書籍

サイトで動きを理解し、書籍で演習量を補うと効果的です

📘
苦しんで覚えるC言語
MMGames 著
初心者向けの定番入門書。丁寧な解説で基礎を固められます。
Amazonで見る
📗
新・明解C言語 入門編
柴田望洋 著
図解が豊富で、演習問題も充実。大学の教科書としても採用多数。
Amazonで見る
📙
プログラミング言語C 第2版
B.W.カーニハン, D.M.リッチー 著
通称K&R。C言語の原典。基礎を終えた後のステップアップに最適。
Amazonで見る

※ 上記リンクはアフィリエイトリンクです。購入によりサイト運営を支援いただけます。