C - if-else 文の使用法
こんにちは、将来のプログラマーたち!今日はプログラミングの最も基本的な概念の一つ、if-else 文について深く掘り下げます。あなたの近所の親切なコンピュータサイエンスの先生として、この旅をガイドするのを楽しみにしています。お気に入りの飲み物を用意して、リラックスして、一緒にこのコーディングの冒険を楽しんでください!
if-else 文とは?
本題に入る前に、現実のアナロジーで始めましょう。交差点に立っているとします。特定の条件に基づいてどの道を選ぶか決めなくてはなりません。晴れている場合は風景の美しい道を選びます。それ以外の場合は短い道を選びます。この意思決定プロセスが、プログラミングにおけるif-else 文の役割と同じです!
if-else 文は、プログラムが特定の条件に基づいて意思決定を行うことを可能にします。まるでコードに頭を与え、それに応じて考えるか行動する能力を持たせるようなものです。
if-else 文の構文
それでは、C 言語でif-else 文をどのように書くかを見てみましょう。最初は少し奇妙に見えるかもしれませんが、ステップバイステップで説明します!
if (condition) {
// 条件が真の場合に実行するコード
} else {
// 条件が偽の場合に実行するコード
}
この構文を分解してみましょう:
-
if
キーワードで文を開始します。 -
condition
は括弧()
内に置かれ、これがチェックされます。 - 条件が真の場合、最初のカッコ
{}
内のコードが実行されます。 - 条件が偽の場合、
else
キーワードの後(そのカッコ内)のコードが実行されます。
if-else 文のフローチャート
if-else 文の動作を視覚的に理解するために、フローチャートを見てみましょう:
+-------------+
| 開始 |
+-------------+
|
v
+-------------+
| 条件 |
| チェック |
+-------------+
|
+---+---+
/ \
はい / \ いいえ
/ \
v v
+-------------+ +-------------+
| 実行 | | 実行 |
| 'if' ブロック | | 'else' ブロック|
+-------------+ +-------------+
| |
| |
+-------+-------+
|
v
+-------------+
| 終了 |
+-------------+
このフローチャートは、プログラムが条件が真か偽かによってどのコードブロックを実行するか決定するプロセスを示しています。
C if-else 文の例
それでは、いくつかの実践的な例を見て、if-else 文がどのように動作するかを確認しましょう!
例 1: 数値が正か負かをチェック
#include <stdio.h>
int main() {
int number = 10;
if (number > 0) {
printf("数値は正の数です。\n");
} else {
printf("数値は非正の数です。\n");
}
return 0;
}
この例では:
-
number
変数に値 10 を代入します。 -
number > 0
という条件で数値が零より大きいかどうかをチェックします。 - 10 は零より大きいため、条件は真です。
- したがって、プログラムは "数値は正の数です。" を表示します。
number
の値を -5 に変更してみましょう:
int number = -5;
今、number > 0
という条件は偽なので、プログラムは "数値は非正の数です。" を表示します。
例 2: 人が投票資格があるかどうかを判定
#include <stdio.h>
int main() {
int age;
printf("年齢を入力してください: ");
scanf("%d", &age);
if (age >= 18) {
printf("あなたは投票資格があります。\n");
} else {
printf("申し訳ありませんが、あなたはまだ投票資格がありません。\n");
}
return 0;
}
このプログラムは:
- ユーザーに年齢を入力させます。
- 年齢が 18 歳以上かどうかをチェックします。
- 真の場合、ユーザーに投票資格があることを知らせます。
- 偽の場合、ユーザーに投票資格がないことを伝えます。
このプログラムを違う年齢で実行してみてください!
else-if 文の使用法
時には複数の条件をチェックする必要があります。その場合、else if
文が役立ちます。交差点にさらに道を追加するアナロジーのようなものです。
以下はその構文です:
if (condition1) {
// condition1 が真の場合に実行するコード
} else if (condition2) {
// condition1 が偽で、condition2 が真の場合に実行するコード
} else if (condition3) {
// condition1 と condition2 が偽で、condition3 が真の場合に実行するコード
} else {
// 全ての条件が偽の場合に実行するコード
}
以下に例を示します:
#include <stdio.h>
int main() {
int score;
printf("得点を入力してください: ");
scanf("%d", &score);
if (score >= 90) {
printf("成績: A\n");
} else if (score >= 80) {
printf("成績: B\n");
} else if (score >= 70) {
printf("成績: C\n");
} else if (score >= 60) {
printf("成績: D\n");
} else {
printf("成績: F\n");
}
return 0;
}
このプログラムは得点に基づいて成績を判定します:
- 90 またはそれ以上:A
- 80-89:B
- 70-79:C
- 60-69:D
- 59 以下:F
このプログラムを違う得点で実行してみてください!
結論
おめでとうございます!あなたはプログラマーのツールキットの中でも最も強力なツールの一つ、if-else 文を学びました。この知識を持つことで、あなたのプログラムは今や現実の生活と同じように意思決定を行うことができます。
実践で完璧にするためには練習が必要です。if-else 文を使った自分のプログラムを作ってみてください。例えば、天候に基づいて服を決めるプログラムや、気分に基づいて映画のジャンルを推薦するプログラムなどです。
引き続きコーディングを続け、探索を続け、そして何より楽しみましょう!次回まで、ハッピープログラミング!
Credits: Image by storyset