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

C言語の制御構文とは?初心者でもわかるプログラムの流れを制御する基本

C言語の制御構文とは?プログラムの流れを制御する基本
C言語の制御構文とは?プログラムの流れを制御する基本

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

生徒

「C言語のプログラムは、上から順に処理が進むと聞きました。でも、ずっとまっすぐ進むだけでは、複雑な処理ができない気がします。」

先生

「その通りです。そこで必要になるのが、プログラムの流れを自由にコントロールするための制御構文です。」

生徒

「制御構文って、どんな役割があるんですか?」

先生

「条件によって処理を分けたり、同じ処理を繰り返したり、人間の会話や作業の流れに近い形で命令を動かせます。」

1. C言語の制御構文とは?

1. C言語の制御構文とは?
1. C言語の制御構文とは?

C言語の制御構文は、プログラムの流れを自由に変更するための仕組みです。パソコンは基本的に、プログラムの命令を上から順番に実行します。しかし、それだけでは「条件で処理を変える」「同じ処理を何度も繰り返す」といった、現実的で柔軟な動きができません。そこで登場するのが、条件分岐を行うifswitch、繰り返し処理を行うforwhileといった制御構文です。

「信号が青なら渡る、赤なら止まる」のように、条件を判断して処理が変わる仕組みを作るには制御構文が必須です。日常の行動をそのままプログラム化する感覚で理解すると覚えやすいです。

2. if文で条件による分岐を行う

2. if文で条件による分岐を行う
2. if文で条件による分岐を行う

制御構文の中でも、もっともよく使うのがif文です。条件が真なら処理を実行し、偽なら実行しません。たとえば、年齢によって料金が変わるアプリなどで使われます。


#include <stdio.h>
int main(void)
{
    int age = 15;
    if(age < 18)
    {
        printf("未成年の料金が適用されます。\n");
    }
    return 0;
}

未成年の料金が適用されます。

条件には比較演算子(大なり、小なり、等しい)を使えます。複雑な判断が必要な場合は、論理演算子を使って「〇〇かつ□□」「〇〇または□□」といった条件も書けます。

3. if-elseで条件が違うときの処理を追加

3. if-elseで条件が違うときの処理を追加
3. if-elseで条件が違うときの処理を追加

elseを使うことで、条件が成立しない場合の処理も書けます。現実でいえば「雨なら傘を持つ、晴れなら帽子をかぶる」のように選択肢を持てます。


#include <stdio.h>
int main(void)
{
    int score = 80;
    if(score >= 70)
    {
        printf("合格です。\n");
    }
    else
    {
        printf("不合格です。\n");
    }
    return 0;
}

4. switch文で多くの条件を整理

4. switch文で多くの条件を整理
4. switch文で多くの条件を整理

switch文は、特定の値に応じて処理を分けたいときに使います。ifを並べるよりもスッキリ書けることが多いです。


#include <stdio.h>
int main(void)
{
    int signal = 2;
    switch(signal)
    {
        case 1:
            printf("青です。\n");
            break;
        case 2:
            printf("黄です。\n");
            break;
        case 3:
            printf("赤です。\n");
            break;
        default:
            printf("不明な信号です。\n");
    }
    return 0;
}

5. for文で繰り返し処理をする

5. for文で繰り返し処理をする
5. for文で繰り返し処理をする

for文は、「〇回繰り返す」といった場合に向いています。配列の処理や、同じメッセージを表示する時などに便利です。


#include <stdio.h>
int main(void)
{
    for(int i = 0; i < 5; i++)
    {
        printf("こんにちは!\n");
    }
    return 0;
}

こんにちは!
こんにちは!
こんにちは!
こんにちは!
こんにちは!

6. while文で条件が続く限りループ

6. while文で条件が続く限りループ
6. while文で条件が続く限りループ

while文は、条件が成立している間ずっと処理を繰り返します。「合計が100を超えるまで加算する」といった、終わりが条件で変わるケースに役立ちます。


#include <stdio.h>
int main(void)
{
    int sum = 0;
    while(sum < 100)
    {
        sum += 20;
        printf("%d\n", sum);
    }
    return 0;
}

7. 授業でよく聞かれる疑問を整理

7. 授業でよく聞かれる疑問を整理
7. 授業でよく聞かれる疑問を整理

プログラミング初心者がつまずきやすいポイントは、条件の書き方とループの終わり方です。「なぜ終わらないのか」「なぜ実行されないのか」と悩んだら、条件が正しいか見直すと多く解決します。C言語は正直で、条件が間違っていれば必ず結果に出ます。

制御構文はゲーム、家電、スマホアプリ、Webシステムなどあらゆるプログラムで使われています。逆に言えば、これを理解することでプログラミングが一気に楽しくなります。日常生活のルールや仕組みを言葉ではなく命令に変えるだけなので、慣れるほど自由に作れる世界が広がっていきます。

カテゴリの一覧へ
新着記事
New1
C++
LinuxでC++開発環境を構築しよう!UbuntuとFedora対応ガイド
New2
C++
Makefileの基本構文とターゲット定義を初心者向けに解説
New3
Rust
Rustの所有権(Ownership)の仕組みを完全ガイド!初心者でもわかるメモリ安全とムーブ
New4
C++
C++開発環境を最適化する方法!初心者向けに徹底解説(GCC, Clang, Visual Studio, CMake)
人気記事
No.1
Java&Spring記事人気No1
C++
C++の主要な実装をわかりやすく解説!GCC・Clang・MSVCの違いと特徴
No.2
Java&Spring記事人気No2
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.3
Java&Spring記事人気No3
C言語
C言語開発でよく使われるエディタとIDEランキング【初心者向け完全ガイド】
No.4
Java&Spring記事人気No4
C言語
C言語のソースコードとヘッダファイルの役割とは?初心者向けにわかりやすく解説!
No.5
Java&Spring記事人気No5
C言語
C言語を学ぶ初心者におすすめの環境構築手順【2025年版】
No.6
Java&Spring記事人気No6
C++
CMakeの役割と導入方法をやさしく解説!C++開発環境構築ガイド
No.7
Java&Spring記事人気No7
C++
MinGWとMSYS2でWindowsにC++環境を構築する方法を徹底解説!初心者でもできるセットアップガイド
No.8
Java&Spring記事人気No8
C言語
C言語をオンラインで実行できる便利なコンパイラサービスまとめ【初心者向け】