[C#] 03 : 연습 문제
2023. 3. 16. 21:36ㆍChlln'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 |