Tips

C# 練習問題 4

C# 練習問題 4

C# 練習問題 4


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

問題


値型の変数の初期化として、適切なものを全て選びなさい。

  1. int a = 1.41;
  2. long b = 1234L;
  3. float c = 2.718;
  4. double d = 3.14;
  5. decimal e = null;
  6. char f = ‘unity’;
  7. bool g = 5 > 8;
解答・解説を見る

解答


2, 4, 7

解説


選択肢 1
int型の変数には、32ビットの範囲で表現できる符号付整数を代入できます。
浮動小数点数リテラル(※1)は代入することができないため、不正解です。

選択肢 2
long型の変数には、64ビットの範囲で表現できる符号付整数を代入できます。
int型の表現範囲である整数リテラル「1234」は、通常int型として扱われますが、「L」または「l」のサフィックス(※2)をつけることによって明示的にlong型としてあつかいます。よって正解です。

選択肢 3
float型の変数には、32ビット浮動小数点数を代入できます。
しかし、浮動小数点数リテラルはサフィックスを省略するとdouble型として扱われるため、float型の変数にそのまま代入するとコンパイルエラーとなります。明示的にfloat型であるとするためにはサフィックス「F」または「f」を付けます。したがって不正解です。

選択肢 4
double型の変数には、64ビット浮動小数点数を代入できます。
double型のサフィックス「D」または「d」は省略可能であるため、正解です。

選択肢 5
decimal型の変数には、10進データ型の値を代入できます。
リテラルに付与するサフィックスは「M」か「m」で、浮動小数点数の場合は省略するとコンパイルエラーとなるため注意。
また、値型の変数にnullを代入することはできないため、不正解です。

選択肢 6
char型の変数には、Unicode文字型の値を代入できます。
文字型リテラルは1つの文字を「’」(シングルコーテーション)で囲って表現します。
複数の文字を一度に扱うことは出来ないため、不正解です。

選択肢 7
bool型の変数には、論理型の値(真偽値)を代入できます。
論理型リテラルはtrue(真)もしくはfalse(偽)のいずれかの値しか扱えません。
5 > 8 の比較式は結果がfalseとなり、その結果が変数に代入されるため、正解です。

※1 リテラル
ソースコードに直接記述された固定値。

※2 サフィックス
接尾辞、接尾語。リテラルの型を表現するために使用する。

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

[Unity_317×90]

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

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

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

Recent News

Recent Tips

Tag Search