이것이 C# 이다. 3장 연습문제

2020. 1. 16. 19:21C# 언어/이것이 C# 이다. 연습문제

반응형

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

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

크기가 더 큰것 -> 크기가 더 작은 것 : 명시적 캐스팅 필요 (데이터가 손실 될 우려가 있어 형변환 필요)

작은 것 -> 크기가 더 작은 것 : 암시적 캐스팅 (데이터가 손실 될 우려가 적음)

 

int a = 7.3;  // int형은 소수점이 없는 정수를 받음 7.3을 int형으로 캐스팅 혹은 int값을 float형으로 해줘야함

int a = (int)7.3 or float a = 7.3f;

 

float b = 3.14; // float b = 3.14f; // float형은 데이터 뒤에 f를 붙여줘야됨

 

double c = a * b // 위에 a와 b를 수정하면 사용 가능

 

char d = "abc"; // char형은 한개의 문자를 데이터 타입으로 하고 따옴표로 묶어줘야함

                       char d = 'a' or char d = 'b' ..처럼 사용해야함

 

string e = '한'; // string형은 문자형을 데이터 타입으로 함 string e = "한"; 으로 쌍따옴표로 표현

 

2. 값 형식과 참조 형식의 차이는 무엇인가요?

값 형식 : 데이터를 스택에 할당하여 값 자체를 나타내줌

참조 형식 : 데이터를 힙에 할당하고 스택에 데이터 주소를 가르킴

 

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

박싱 : 값 형식을 참조 형식으로 변환

언박싱 : 참조 형식을 값 형식으로 변환

 

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

출력

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;
using static System.Console;
using System.Text;
using System.IO;
 
namespace baekjoon
{
    class MainApp
    {
        static void Main()
        {
            WriteLine("사각형의 너비를 입력하세요.");
            string width = Console.ReadLine();
            WriteLine("사각형의 높이를 입력하세요..");
            string heigth = Console.ReadLine();
 
            int muxNum = int.Parse(width) * int.Parse(heigth); //string형 -> int형 으로
            WriteLine($"사각형의 넓이는 : {muxNum}");
        }
    }
}

 

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

var a = 2020;
var b = "double";

WriteLine(a.GetTypeCode()); // int32
WriteLine(b.GetTypeCode()); // String

 

반응형