
C言語基礎|if文による分岐処理
第3章のはじめに ― プログラムに「判断力」を持たせよう
これまでのプログラムは、上から下へ、決められた順番で処理を行ってきました。
しかし、実際のプログラムはそれだけでは足りません。
たとえば、
- 点数が合格点以上なら合格と表示する。
- 入力された値が危険な範囲なら警告を出す。
- 条件に合うときだけ処理を実行する。
といったように、状況に応じて動きを変える必要があります。
この章では、プログラムに判断力を与える最初の一歩として
if文による分岐処理 を学んでいきます。

if文とは何をする文なのか
if は英語の if(もし〜なら)と同じ意味です。
C言語の if文は、
「もし条件が成り立ったら、この処理を実行する」
という判断をプログラムにさせるための文です。
基本の形は次のとおりです。
| 構造 | 意味 |
|---|---|
| if (式) 文 | 式が成り立つときだけ文を実行 |
この if 文によって、
プログラムの流れは 条件によって分岐 するようになります。
if文の書式と読み方
if文の最も基本的な書式は次の形です。
if (制御式)
実行する文;ここで重要なのが ( ) の中に書かれる 制御式 です。
| 用語 | 説明 |
|---|---|
| 制御式 | 条件判定に使われる式 |
| 非0 | 条件が成り立つ |
| 0 | 条件が成り立たない |
制御式を評価した結果が
0以外 → 実行する
0 → 実行しない
というルールになっています。
if文の流れを図でイメージする
if文の処理の流れは、次のように考えると分かりやすいです。
if文の流れ
- 制御式を評価する
- 値が非0なら → 文を実行
- 値が0なら → 文を飛ばして次の処理へ
一本道だったプログラムに、
「分かれ道」ができるイメージです。

サンプル①:条件に合うときだけメッセージを表示する
ここでは、
入力した整数が10未満だった場合に注意メッセージを出す
というプログラムに変更してみましょう。
サンプルプログラム
プロジェクト名:chap3-1-1 ソースファイル名:chap3-1-1.c
Visual Studio でこのプログラムを実行するには、SDLチェック設定を変更しておく必要があります。
1.プロジェクト名を右クリックして、「プロパティ」をクリックします。
2.「C/C++」→「全般」→「SDLチェック」を「いいえ」に切り替えて「OK」をクリックします。
// 入力した整数が10未満かを判定する
#include <stdio.h>
int main(void)
{
int value;
printf("数値を入力してください:");
scanf("%d", &value);
if (value < 10)
puts("10より小さい値が入力されました。");
return 0;
}実行例
数値を入力してください:7
10より小さい値が入力されました。
数値を入力してください:1515 の場合は条件が成り立たないため、何も表示されません。
制御式は「真か偽か」を判断している
if文の制御式は、
「正しいかどうか」を数値で判断しています。
| 評価結果 | 意味 |
|---|---|
| 非0 | 条件が成り立つ(真) |
| 0 | 条件が成り立たない(偽) |
先ほどの例では、
value < 10という比較式が使われており、
条件が成り立つと 1、成り立たないと 0 になります。
サンプル②:偶数かどうかを判定する
今度は、
入力した数が偶数だったときだけ表示する
プログラムにしてみましょう。
サンプルプログラム
プロジェクト名:chap3-1-2 ソースファイル名:chap3-1-2.c
Visual Studio でこのプログラムを実行するには、SDLチェック設定を変更しておく必要があります。
1.プロジェクト名を右クリックして、「プロパティ」をクリックします。
2.「C/C++」→「全般」→「SDLチェック」を「いいえ」に切り替えて「OK」をクリックします。
// 入力した整数が偶数かを判定する
#include <stdio.h>
int main(void)
{
int number;
printf("整数を入力してください:");
scanf("%d", &number);
if (number % 2 == 0)
puts("その数は偶数です。");
return 0;
}実行例
整数を入力してください:8
その数は偶数です。
整数を入力してください:77 は偶数ではないため、表示されません。
剰余演算子とif文の相性
% 演算子は、if文の条件判定でとてもよく使われます。
| 式 | 意味 |
|---|---|
| n % 2 | 偶数か奇数か |
| n % 5 | 5で割り切れるか |
剰余が 0 かどうかを調べることで、
「割り切れるか」「偶数か」といった判断が簡単にできます。
if文を使うとプログラムが賢くなる
if文を使うことで、
- 条件に応じた処理
- 必要なときだけ実行
- 入力値に反応する動き
が可能になります。
第3章では、この if文を出発点として、
if–else文 や 複数条件の分岐 へと進んでいきます。
この序章が理解できれば、
「プログラムが考えて動く」世界への第一歩は完了です 👍
次は if–else に進むと、一気に表現力が広がりますよ。
