
こういった疑問に答えます。
こんにちは、リバティエンジニアのFUNA(フナ)です。
現役でフリーランスのエンジニアとしてアプリケーション開発やWeb制作、SEOやブログ運営をしています。
この記事はこんな方におすすめ
- C言語で条件分岐をする方法が知りたい方
- C言語の条件分岐でif, switchを使った方法が知りたい方
今回は、C言語における条件分岐について解説します。

条件分岐とは
プログラムは基本的に記述した順番通りに実行されるのですが、変数の値などの条件によって実行する処理を分けたい場合があります。
そのような場合に、指定の条件によって分けるための方法が「条件分岐」です。
 ここでは"if"文や"switch"文を使って条件に従い処理を分岐する方法を一緒に見ていきましょう。
【サンプルコード】C言語の条件分岐
"if"文
最初に"if文"を見ていきましょう。
 まずはサンプルコードを、
#include <stdio.h>
int main()
{
    int number = 0;
    if (number != 0)
    {
        printf("変数 number は0ではありません。");
    }
}この5行目をみてください。これが基本の構文になります。
「もし変数"number"が0でなければ」という条件で処理を分岐しています。
"if", "else"文
次に、if, else文についてです。
 先ほどはif文を使って条件が合えば処理をするという条件分岐をしましたが、if, else文を使うことで「もし~ならば」というif文に加えて、「それ以外」という条件を追加できるelse文を評価することができます。
#include <stdio.h>
int main()
{
    int number = 0;
    if (number != 0)
    {
        printf("変数 number は0ではありません。");
    }
    else
    {
        printf("それ以外です。");
    }
}構文はこのようになります。
 if文の後にelse{}を追加するだけです。簡単ですね!
"if", "else if"文
次に、"if, else if"文を見ていきましょう。
 先ほどの"if, else"文に似ていますが、"else"の文に追加の条件を追加することができるのです。
#include <stdio.h>
int main()
{
    int number = 0;
    if (number != 0)
    {
        printf("変数 number は0ではありません。");
    }
    else if (number > 10)
    {
        printf("変数 number は10より上です。");
    }
}簡単に説明すると、「もし変数"number"が0でなければ」という条件に、「それ以外で、変数numberが10より上なら」という条件分岐をしています。
"switch"文
"switch"文を使うときには「switch, case」という構文を使います。
基本的に条件分岐は先ほどお話しした、"if"文で事足りるのですが、条件によって分ける処理が多くある場合にはこの「switch, case」を使うと便利です。
#include <stdio.h>
int main()
{
    int number = 10;
    switch(number) {
        case 0:
            // numberの値が"0"の時の処理
            break;
        case 10:
            // numberの値が"10"の時の処理
            break;
        case 20:
            // numberの値が"20"の時の処理
            break;
        default:
            式の結果がどの値とも一致しなかったときの処理
    }
}このように、switch文の引数に評価する値を入れて、"case 値:"の構文で各条件を見ていきます。
 もしどの値にも当てはまらない場合は、"default"文での処理が実行されることになります。
まとめ
今回は条件分岐 [if , switch]について解説しました。
ある条件によって処理を分けたいときに、条件を指定してそれぞれ処理を変更することができます。
このような処理は使う場面がかなり多く、とても便利なものなのでここで基本をマスターしてください!
関連記事
-    
- 【2021年最新版】C#学習におすすめ本のレベル別TOP3を紹介【現役エンジニアが厳選】- 現役エンジニアがおすすめするC#の本・参考書のTOP3をご紹介!本当にお勧めした本だけを厳選したので、TOP3だけを紹介します。それぞれのレベル別に分けたので、自分に合ったものを選んでください。 
-    
- 【コピペOK!】ブロックの中のブロック要素を上下左右中央に揃える方法【HTML/CSS】- FUNAこんにちは、リバティエンジニアのFUNA(フナ)です。現役でフリーランスのエンジニアとしてアプリケーション開発やWeb制作、SEOやブログ運営をしています。 この記事はこんな方におすすめ ブロ ... 
-    
- 【CSS】たった1行のコピペで簡単!object fitで画像をトリミングする方法- CSSで画像をトリミングしたい時にたったの1行で実装できる方法を解説します。「object-fit」についてどのような時に使うのか、その使い方や応用の仕方を覚えてみてください。 
-    
- 【コピペOK】CSSでcounterを利用して自動ナンバリングする方法- 今回はCSSの「counter」をコピペでも簡単に実装できる方法・ソースコードをご紹介します。このcounterを利用することで、CSSだけで自動でナンバリングを実装することができます。意外と知られていないのですが、「1 2 3 4」の基本のものや「第1章 第2章 第3章 第4章」と書き出しをつけたりすることができて、幅広く応用できます。 
-    
- 【コピペOK】CSSだけで背景を斜めに区切る方法【レスポンシブ対応】- 今回は、HTML/CSSで背景を斜めに区切ってデザインする方法を、コピペでも簡単に実装する方法を解説します。ランディングページやコーポレートサイトなどの作成時に背景を斜めに区切ってレイアウトされているサイトを良く見かけますが、実装の仕方は簡単なので、ぜひ覚えておきましょう。 
