Day4 条件分岐・練習問題と解答解説
Day4 で学んだ if / else / else if / switch をしっかり定着させるための練習問題と、 初心者でも理解しやすい丁寧な解答・解説をまとめています。 条件分岐は「プログラムに判断力を与える」最重要テーマですので、ぜひじっくり取り組んでください。
if 文の練習問題
問題:点数 score が 75 のとき、70 以上なら「合格」、それ以外なら何も表示しないプログラムを書いてください。
解答と解説
int score = 75;
if (score >= 70)
{
Console.WriteLine("合格");
}
C#if 文は「条件が true のときだけ処理を実行する」構文です。 score >= 70 が true なので、Console.WriteLine が実行されます。 false の場合は何も起こりません。 条件式は必ず bool(true / false) になることが重要です。
else の練習問題
問題:年齢 age が 18 のとき、20 以上なら「成人」、それ以外なら「未成年」と表示してください。
解答と解説
int age = 18;
if (age >= 20)
{
Console.WriteLine("成人");
}
else
{
Console.WriteLine("未成年");
}
C#if が false の場合、必ず else が実行されます。 if と else は「どちらか一方だけが実行される」仕組みであることが重要です。
else if の練習問題
問題:点数 score に応じて次の成績を表示してください。
90以上 → A 80以上 → B 70以上 → C それ以外 → D
score = 82 とします。
解答と解説
int score = 82;
if (score >= 90)
{
Console.WriteLine("A");
}
else if (score >= 80)
{
Console.WriteLine("B");
}
else if (score >= 70)
{
Console.WriteLine("C");
}
else
{
Console.WriteLine("D");
}
C#else if は「複数の条件を上から順番に評価する」構文です。 score = 82 の場合、最初の条件は false ですが、次の条件が true なので B が表示されます。 条件の順番がロジックを決めるため、並び順がとても重要です。
switch 文の練習問題
問題:演算子 op が ‘+’ のとき「足し算」、’-‘ のとき「引き算」、’*’ のとき「掛け算」、’/’ のとき「割り算」、それ以外は「不明な演算子」と表示してください。
解答と解説
char op = '+';
switch (op)
{
case '+':
Console.WriteLine("足し算");
break;
case '-':
Console.WriteLine("引き算");
break;
case '*':
Console.WriteLine("掛け算");
break;
case '/':
Console.WriteLine("割り算");
break;
default:
Console.WriteLine("不明な演算子");
break;
}
C#switch は「値ごとに処理を分ける」構文です。 重要ポイントは次の二つです。
break を書かないと次の case に処理が流れてしまう default はどの case にも当てはまらないときの処理を書く場所
if / else if よりも読みやすくなる場面が多い構文です。
応用問題:成績判定(複合条件)
問題:点数 score が 90以上かつ提出済み(isSubmitted = true)なら「A」、
90未満でも提出済みなら「提出済み」、 提出していないなら「未提出」と表示してください。
解答と解説
int score = 92;
bool isSubmitted = true;
if (score >= 90 && isSubmitted)
{
Console.WriteLine("A");
}
else if (isSubmitted)
{
Console.WriteLine("提出済み");
}
else
{
Console.WriteLine("未提出");
}
C#ここでは 論理演算子 &&(AND) を使っています。 「両方 true のときだけ true」になるため、 score と isSubmitted の両方を満たす場合に A が表示されます。
応用問題:年齢判定(複数条件)
問題:年齢 age に応じて次のように表示してください。
0〜12 → 子ども 13〜19 → ティーン 20〜64 → 大人 65以上 → シニア
解答と解説
int age = 30;
if (age <= 12)
{
Console.WriteLine("子ども");
}
else if (age <= 19)
{
Console.WriteLine("ティーン");
}
else if (age <= 64)
{
Console.WriteLine("大人");
}
else
{
Console.WriteLine("シニア");
}
C#「上から順番に評価される」ことが非常に重要です。 例えば age = 30 の場合、最初の二つは false、三つ目が true なので「大人」が表示されます。
応用問題:電卓(四則演算)
問題:a = 12、b = 3、op = ‘/’ のとき、switch 文を使って計算結果を表示してください。
解答と解説
int a = 12;
int b = 3;
char op = '/';
switch (op)
{
case '+':
Console.WriteLine(a + b);
break;
case '-':
Console.WriteLine(a - b);
break;
case '*':
Console.WriteLine(a * b);
break;
case '/':
Console.WriteLine(a / b);
break;
default:
Console.WriteLine("不明な演算子です");
break;
}
C#switch は「値ごとの分岐」が明確で、電卓のような処理に向いています。 break を忘れると意図しない動作になるため注意が必要です。
Day4 練習問題まとめ
Day4 の練習問題では、次のポイントを確認しました。
if は「条件が true のときだけ処理を実行する」 else は「false のときの処理を書く」 else if は「複数の条件を順番に評価する」 switch は「値ごとに処理を分ける」 条件分岐は現実の判断をコードに翻訳する技術
これらが理解できていれば、Day5 の 繰り返し処理(ループ) にスムーズに進めます。 次は「同じ処理を何度も繰り返す」ための for / while を学んでいきます。
