티스토리 뷰

C#

3장. 연습문제

살구르 2018. 3. 8. 11:21

// 뇌를 자극하는  C# 5.0 프로그래밍 연습문제 답 - 3장


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


int a = 7.3; // 데이터 타입 안맞음

float b = 3.14; // float 형식은 3.14f (f 붙여줌)

double c = a*b; 

char d = "abc"; // 문자열은 string

string e = '한; // 문자는 char


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


-값 형식(Value Type) : 변수가 값을 담는 데이터 형식 ex) 숫자형식, 논리형식

-참조 형식(Reference Type) : 변수가 값 대신 값이 있는 곳의 위치(참조)를 담는 데이터 형식 ex) 문자열, 오브젝트 형식


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


object a = 20; // 박싱 

int b = (int)a; // 언박싱


위와 같이 object 형식에 값 형식의 데이터를 할당하려는 경우 박싱을 수행 - 해당 데이터(20)이 힙에 할당되고, a는 그 주소를 참조

반면, 힙에 있던 값 형식의 데이터를 값 형식의 객체에 다시 할당하는 경우, 즉 위에서 b에 a 값을 저장하려고 하는 경우 힙에 저장된 20을 꺼내서(언박싱) 값 형식 변수(b)에 저장한다


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


namespace RectArea

{

    class Program

    {

        static void Main(string[] args)

        {

            Console.WriteLine("사각형의 너비를 입력하세요.");

            string width = Console.ReadLine();

            Console.WriteLine("사각형의 높이를 입력하세요.");

            string height = Console.ReadLine();


            int result = int.Parse(width) * int.Parse(height);

            Console.WriteLine(result);

        }

    }

}


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


var a = 2020;

var b = "double";


a는 int형, b는 string 형



'C#' 카테고리의 다른 글

확장 메서드(Extension Method)  (0) 2018.03.14
새로운 개념들  (0) 2018.03.12
6장. 연습문제  (0) 2018.03.12
5장. 연습문제  (0) 2018.03.12
4장. 연습문제  (0) 2018.03.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함