Tips

C# 練習問題 8

C# 練習問題 8

C# 練習問題 8


C#のオリジナル練習問題です。

問題①


次のコードを確認してください。

using System;

namespace Blog {
	class Practice8_Q1 {
		static void Main(string[] args) {

			bool a = true;
			bool b = false;

			if (b || a) {
				Console.Write("わんわん");
			}
			Console.Write("にゃー");
		}
	}
}

上記のコードをコンパイル、および実行したときの結果について、正しいものを1つ選択しなさい。

A. わんわん
B. にゃー
C. わんわんにゃー
D. コンパイルエラー

問題②


次のコードを確認してください。

using System;

namespace Blog {
	class Practice8_Q2 {
		static void Main(string[] args) {

			bool a = true;
			bool b = false;

			if (a && b) {
				Console.Write("わんわん");
			} else {
				Console.Write("にゃー");
			}
		}
	}
}

上記のコードをコンパイル、および実行したときの結果について、正しいものを1つ選択しなさい。

A. わんわん
B. にゃー
C. わんわんにゃー
D. 何も出力されない
E. コンパイルエラー

問題③


次のコードを確認してください。

using System;

namespace Blog {
	class Practice8_Q3 {
		static void Main(string[] args) {

			bool a = true;
			bool b = false;

			if (a == b) {
				Console.Write("わん");
			} else if (a ^ !b) {
				Console.Write("にゃー");
			} else {
				Console.Write("わんわんにゃー");
			}
		}
	}
}

上記のコードをコンパイル、および実行したときの結果について、正しいものを1つ選択しなさい。

A. わん
B. にゃー
C. わんわんにゃー
D. わんにゃーわんわんにゃー
E. 何も出力されない
F. コンパイルエラー

問題④


次のコードを確認してください。

using System;

namespace Blog {
	class Practice8_Q4 {
		static void Main(string[] args) {

			if (true) {
				{
					Console.Write("わん");
				}

				if (false) 
					Console.Write("にゃー");
				else
					Console.Write("わーん");
			}
		}
	}
}

上記のコードをコンパイル、および実行したときの結果について、正しいものを1つ選択しなさい。

A. わん
B. にゃー
C. わんにゃー
D. わんわーん
E. 何も出力されない
F. コンパイルエラー

解答・解説を見る

解答・解説


if文についての問題です。

問題①の解説


if文の構文は以下の通りです。

[csharp] if (条件式) {
処理; //(条件式がtrueのとき実行される)
}
[/csharp]

変数aがtrue、変数bがfalseのとき、条件式 b || a はtrueであるため、if文内の処理は実行されます。
(この部分がわからない場合は、先に 前回 の問題と解説を確認してみましょう。)
if文の内部での処理が終わると、if文を抜けて以降の処理が実行されます。
したがって、出力結果は「わんわんにゃー」となります。

《答え》C

問題②の解説


if-else文の構文は以下の通りです。

[csharp] if (条件式) {
処理1; //(条件式がtrueのとき実行される)
} else {
処理2; //(条件式がfalseのとき実行される)
}
[/csharp]

変数aがtrue、変数bがfalseのとき、条件式 b && a はfalseであるため、if-else文ではelse内の処理が実行されます。
if-else文では、条件式の結果によってどちらかの処理のみ実行される点に注意しましょう。
出力結果は「にゃー」となります。

《答え》B

問題③の解説


else-if文の構文は以下の通りです。

[csharp] if (条件式1) {
処理1; //(条件式1がtrueのとき実行される)
} else if (条件式2){
処理2; //(条件式1がfalseで、条件式2がtrueのとき実行される)
} else {
処理3; //(全ての条件式がfalseのとき実行される)
}
[/csharp]

変数aがtrue、変数bがfalseのとき、条件式 a == b はfalseです。
条件式 a ^ !b もfalseです。
全ての条件式がfalseであるため、if文とelse-if文はスキップされ、else文のみ処理が実行されます。
したがって、出力結果は「わんわんにゃー」となります。

《答え》C

問題④の解説


条件式がtrueであるため、if文に入ります。
必要のない中括弧で括られていますが、C#の構文的には問題ないため「わん」と出力されます。
次に、再びif-else文がありますが、このようにif文は入れ子(if文内にif文を書くこと)にすることができます。
また、if文やelse文は処理が1行のみである場合に限り、中括弧を省略することができます。
入れ子のif文の条件式がfalseであるため、else文が実行され、「わーん」と出力されます。
最終的な出力結果は「わんわーん」となります。

《答え》D

※ Console.Write()
()の中をコンソール画面に出力します。その際、改行は行われません。
改行を伴う出力はConsole.WriteLine()を使用します。

<<  < 次の問題  前の問題 > >>

[Unity_317×90]

ゲーム制作関連のオススメ連載リンク

とっても手軽なゲーム制作体験!
Unityゲーム開発基礎

実際のリリースゲームを題材にしたハンズオンゲーム制作連載
実践unityゲーム開発

Recent News

Recent Tips

Tag Search