ユーニックス総合研究所

  • home
  • archives
  • c-if

C言語のif文の書き方【if, else if, else】

  • 作成日: 2022-06-14
  • 更新日: 2023-12-25
  • カテゴリ: C言語

C言語のif文の書き方

C言語では条件分岐するときにif文を使います。
この文を使うと特定の条件で場合わけした処理を書くことができます。

たとえば変数の値が0だったらこっち、1だったらこっちの処理、という具合です。
こういった複雑な処理の分岐ではif文を使うのが一般的です。

この記事ではC言語のif文について解説します。
この記事を読めばC言語のif文をマスターできます。

関連記事

目が覚めるC言語のdo-while文の使い方【ループ処理、初心者向け】
明快!C言語のcontinue文の使い方
君はまだC言語のdefineのすべてを知らない【マクロ、プリプロセス】

目が覚めるC言語のdo-while文の使い方【ループ処理、初心者向け】
明快!C言語のcontinue文の使い方
君はまだC言語のdefineのすべてを知らない【マクロ、プリプロセス】

if文の構造

if文の構造についてです。
if文は↓のような構造になっています。

if (条件式) {  
    処理  
}  

ifと書いてその次にカッコ(())を書きます。
そしてカッコの中に条件式を書きます。
ここの条件式がtrue)ならブレース({})内の処理が実行されます。
false)なら処理は実行されません。

真というのは0とfalse以外の値のことです。1や2やtrueなどが真になります。
偽というのは0とfalseのことです。

条件式がたとえばvar == 1だったとします。
この場合変数varの値が1だったら結果は真になります。
これは変数var1がイコールで同じもので、この比較式が真を返すからです。
真なのでif文の式は実行されます。

たとえばvar1で条件式がvar == 0だったとします。
この場合はvar == 0は偽を返します。
そのためif文の処理は実行されません。

またif文の構造はこれだけでありません。
他には

if (条件式1) {  
    処理1  
} else if (条件式2) {  
    処理2  
}  

もあります。
これはif文にelse ifをくっつけたものです。
1つ目のifの条件式1が偽だった場合に2つ目のelse ifの条件式2が実行されます。
else ifの条件式2が真だったら処理2が実行されます。
偽だったら何も実行されません。
else ifは1つのif文に複数くっつけることができます。

他には↓の構造もあります。

if (条件式1) {  
    処理1  
} else {  
    処理2  
}  

これはif文にelseをくっつけたものです。
elseはif文の条件式1が偽だった場合に実行されます。
elseは1つのif文に1つしかくっつけることができません。

そしてelse ifとelseはくっつけることもできます。
↓のようにです。

if (条件式1) {  
    処理1  
} else if (条件式2) {  
    処理2  
} else if (条件式3) {  
    処理3  
} else {  
    処理4  
}  

↑の場合は条件式1が真なら処理1が実行されます。
条件式1が偽で条件式2が真なら処理2です。
条件式1と条件式2と条件式3が偽だったら処理4が実行されます。
繰り返しになりますがelse ifは複数くっつけることができますがelseは1つしかくっつけられません。

このようにif文の構造にはバリエーションがあります。
ですのでそれぞれ用途に合わせて書き手が選択して書く必要があります。

if文の書き方

では実際にC言語のコードでif文を書いてみます。
if文は↓のように書きます。

#include <stdio.h>  

int main(void) {  
    int i = 1;  

    if (i == 1) {  
        printf("iは1です。\n");  
    }  

    return 0;  
}  

実行結果↓。

iは1です。  

↑のコードの場合、まずint型の変数iを1で初期化しています。
そしてif (i == 1)で条件式を判定しています。
この場合i1になるので条件式の結果は真になります。
よってif文のブレース({})の中の処理が実行されます。

else ifの書き方

else ifも繋げて書いてみます。
↓のように書きます。

#include <stdio.h>  

int main(void) {  
    int i = 1;  

    if (i == 0) {  
        printf("iは0です。\n");  
    } else if (i == 1) {  
        printf("iは1です。\n");  
    }  

    return 0;  
}  

↑の場合カウント変数i1で初期化されています。
ですので条件式if (i == 0)の結果は偽になります。
ですのでelse if(i == 1)が実行されます。
この条件式の結果は真です。
ですので出力結果は↓になります。

iは1です。  

else ifは複数繋げることができます。

#include <stdio.h>  

int main(void) {  
    int i = 2;  

    if (i == 0) {  
        printf("iは0です。\n");  
    } else if (i == 1) {  
        printf("iは1です。\n");  
    } else if (i == 2) {  
        printf("iは2です。\n");  
    }  

    return 0;  
}  

↑の場合、変数i2です。
ですのでelse if (i == 2)が真になります。
出力結果は↓になります。

iは2です。  

elseの書き方

elseは↓のように書きます。

#include <stdio.h>  

int main(void) {  
    int i = 0;  

    if (i == 1) {  
        printf("iは1です。\n");  
    } else {  
        printf("iは1以外です。\n");  
    }  

    return 0;  
}  

↑の場合、変数i0です。
ですのでif (i == 1)は偽になります。
そうするとelseの処理が実行されます。
出力結果は↓になります。

iは1以外です。  

おわりに

今回はC言語のif文を解説しました。
if文はプログラミング全般で必須の文です。
きっちりとマスターしておきましょう。

🦝 < もしも、君が

🐭 < たーたーたーたーた~