[C#] 03 : 연습 문제

2023. 3. 16. 21:36Chlln's Code/C#

문제 1

다음과 같이 사용자로부터 사각형의 너비와 높이를 입력받아 넓이를 계산하는 프로그램을 완성하세요.

[출력 예시]
사각형의 너비를 입력하세요.
30
사각형의 높이를 입력하세요.
40
사각형의 넓이는 : 1200

Ch03/Q01/Program.cs

using System;

namespace RectArea
{
    class Program
    {
        public static void Main()
        {
            Console.Write("사각형의 너비를 입력하세요. : ");
            string width = Console.ReadLine();

            Console.Write("사각형의 높이를 입력하세요. : ");
            string height = Console.ReadLine();

            double area = double.Parse(width) * double.Parse(height);
            Console.WriteLine($"사각형의 넓이는 {area}입니다");
        }
    }
}

출력 결과

사각형의 너비를 입력하세요. : 30
사각형의 높이를 입력하세요. : 40
사각형의 넓이는 1200입니다

문제 2

다음 코드에서 잘못된 부분을 찾고, 그 이유를 설명하세요.

int a = 7.3;
float b = 3.14;
double c = a * b;
char d = "abc";
string e = '한';

 

  • 1행 : 암시적으로 double형을 int형으로 변환할 수 없다.
    명시적으로 형변환이 필요하다.
  • 2행 : 암시적으로 double형을 float형으로 변환할 수 없다.
    명시적으로 형변환을 하거나, 실수 뒤에 f를 붙여줘야 한다.
  • 4행 : 암시적으로 string형을 char형으로 변환할 수 없다.
  • 5행 : 암시적으로 char형을 string형으로 변환할 수 없다.

문제 3

박싱과 언박싱을 설명하세요.

 

  • 박싱 : 값 형식(스택)의 객체를 참조 형식(힙)으로 변환(복사)하는 작업
  • 언박싱 : 참조 형식(힙)의 객체를 값 형식(스택)으로 변환(복사)하는 작업

문제 4

다음 코드를 컴파일한 후의 a와 b는 각각 어떤 데이터 형식이겠습니까?

var a = 2020;
    b = "double";

 

  • a : System.Int32
  • b : System.String

'Chlln's Code > C#' 카테고리의 다른 글

[C#] 03 : 데이터 보관하기  (2) 2023.03.16
[C#] 02 : 연습 문제  (0) 2023.03.16
[C#] 02 : 처음 만드는 C# 프로그램  (0) 2023.03.16