この記事では、C言語でif文を使った条件分岐の方法について解説します。
if文とは、制御構文の1つで条件式によって処理を分岐させることができます。
例えば、ユーザーの年齢を格納している age変数 の値を使って条件分岐することで未成年だった場合の処理と成人だった場合の処理をそれぞれ実装したりすることができます。
それでは、if文を使った条件分岐について見ていきましょう!
条件分岐の基本的な使い方
条件分岐はifを使って以下のように記述します。
if(条件式){ 条件式が真の時に処理されるブロック }
以下のように1行で記述することもできます。
if(条件式) 条件式が真の時に処理される行
条件式には、比較演算子などを指定することができます。
サンプル
val変数の値が 0 ならばif文の後ろのprintf関数が処理されます。
#include <stdio.h> int main() { int val = 0; // == で値が等しいか判定 if(val == 0) printf("0です\n"); }
実行結果
0です
条件式が偽だった場合の処理:else
elseを定義することで条件式が偽のときの処理を追加することができます。
if(条件式){ 条件式が真の時に処理されるブロック } else { 条件式が偽の時に処理されるブロック }
以下のように行単位で記述することも可能です。
if(条件式) 条件式が真の時に処理される行 else 条件式が偽の時に処理される行
サンプル
以下のコードでは奇遇を判定しています。
#include <stdio.h> int main() { int num = 1; // numを2で割った余りを0と同等か比較しています if(num % 2 == 0){ printf("numは偶数\n"); } else { printf("numは奇数\n"); } }
実行結果
numは奇数
新たな条件の追加:else if
else ifを使うことで新たな条件をいくつでも追加することができます。
if(条件式1){ 条件式1が真の時に処理されるブロック } else if(条件式2){ 条件式1が偽、条件式2が真の時に処理されるブロック } else { 条件式1,2がどちらも偽の場合に処理されるブロック }
こちらも行単位で記述することが可能。
if(条件式1) 条件式1が真の時に処理される行 else if(条件式2) 条件式1が偽、条件式2が真の時に処理される行 else 条件式1,2がどちらも偽の場合に処理される行
サンプル
以下のコードは、else ifを定義して年齢に適した年代を出力します。age変数の値を変えてみて挙動を確かめてみてください。
#include <stdio.h> int main() { unsigned int age = 100; if(age < 20){ printf("%d歳は少年\n", age); } else if(age < 40) { printf("%d歳は青年\n", age); } else if(age < 60) { printf("%d歳は壮年\n", age); } else if(age < 100) { printf("%d歳は老年\n", age); } else { printf("%d歳は御長寿\n", age); } }
実行結果
100歳は御長寿
まとめ
この記事では、C言語のif文の使い方を解説しました。
- if文 = 『if(条件式) 真の時に処理される命令文』
- 条件の追加 = 『else if(条件式)』
- 偽の時の処理 = 『else』
C言語に関わらずどのプログラミング言語でも if文 は重要な構文です。他の言語でも使い方は大体同じようなもんなのでしっかりと覚えておきましょう。
また、C言語にはif文の他にswitch文と呼ばれる制御構文が用意されています。 switch文は、条件式で分岐するのではなく値で分岐することができます。
それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ


