【C言語入門】if・else・switchで条件分岐を理解しよう
今回の記事でわかること
この記事では
C言語における条件分岐の基本を解説します
- if 文・else 文・switch 文の使い方が分かる
- 条件によって処理を変える考え方が分かる
ユーザー入力や判定処理など。実際のプログラムで必ず使う内容です
条件分岐とは
プログラムで条件によって処理を変える仕組みを条件分岐といいます
例えば
- テストの点数で合格・不合格を判定する
- ログイン成功と失敗で処理を分ける
- 曜日やメニュー番号で動作を変える
こういった処理は、すべて条件分岐で実現されています
if 文
条件が真(true)のときだけ処理を実行する構文です
#include <stdio.h>
int main(void){
int score = 80;
if (score >= 60){
printf("合格!\n");
}
return 0;
}
実行結果
合格!score >= 60 が条件です
条件を満たした場合のみ{ } 内の処理が実行されます
- 在庫がある場合だけ購入できるようにする
- 特定の条件のときだけ表示を行う
こういった場面で使われます
if … else 文
条件が真のときと偽のときで処理を分けることができます
#include <stdio.h>
int main(void){
int score = 50;
if (score >= 60){
printf("合格!\n");
} else {
printf("不合格\n");
}
return 0;
}実行結果
不合格- 条件を満たす → if の処理
- 条件を満たさない → else の処理
- ログイン成功・失敗
- 在庫あり・なし
など必ずどちらかの処理を行いたい場合に使います
else if 文
複数の条件を順番に判定したいときに使います
上から順に評価され、最初に真になった処理だけが実行されます
#include <stdio.h>
int main(void){
int score = 75;
if (score >= 90){
printf("優秀!\n");
} else if (score >= 60){
printf("合格!\n");
} else {
printf("不合格\n");
}
return 0;
}実行結果
合格!- 点数や金額の範囲
- ランク分けなど
条件が段階的に分かれる場合に便利です
switch 文
特定の値ごとに処理を分けたいときに使います
#include <stdio.h>
int main(void){
int day = 3;
switch (day){
case 1:
printf("月曜日\n");
break;
case 2:
printf("火曜日\n");
break;
case 3:
printf("水曜日\n");
break;
default:
printf("その他の日\n");
}
return 0;
}実行結果
水曜日witch 文のポイント
defaultはどれにも当てはまらない場合caseは一致する値を書くbreakを書かないと次の case も実行される
if 文と switch 文の使い分け
| 使いたい場面 | おすすめ |
|---|---|
| 範囲で条件を分けたい | if / else if |
| 値が決まっている | switch |
| 条件が複雑 | if |
| メニュー番号や曜日 | switch |
switch 文は便利ですが
- 条件に使えるのは整数型のみ
- case には定数しか使えない
という制限があります
まとめ
- 条件分岐は処理を切り替えるための仕組み
- if 文は条件が成り立つときだけ実行
- else や else if で分岐を増やせる
- switch 文は値ごとの分岐に向いている
条件分岐が理解できると、プログラムらしさが一気に増します