데이터 형식(Data Types):

데이터의 '유형'과 '크기'를 지정

 

1. 기본 데이터 형식 (값 형식)

- 정수형식 (int,byte ..etc)

- 부동 소수형식 (float, double, demical)

2. 복합 데이터 형식

- 클래스

- 구조체(값 형식)

- 인터페이스

스택(Stack):

데이터를 쌓아 올리는 구조의 메모리

쌓인 순서의 역순으로 필요 없는 데이터를 자동으로 제거(자동메모리) => LIFO(Last In First Out)

 

힙(Heap):

자유롭게 데이터를 저장할 수 있는 메모리

별명 : 자유 저장소


 

값 형식(Value Type):

메모리에 값을 담는 형식

스택에 할당

기본 데이터 형식과 구조체가 여기에 해당됨

 

참조형식(Reference Type):

메모리에 다른 변수의 "주소를 담는" 데이터 형식

힙에 할당

 

기본 데이터 형식(Primitive Types)

수 형식(정수 형식, 부동 소수점 형식)

논리 형식

문자열 형식

object 형식

 

복합데이터 형식 : 기본 데이터 형식을 바탕으로 만들어짐

 

박싱 : 값 형식을 object형식에 담아 힙에 올리기
언박싱 : 힙에 올라가 있는 데이터를 object에서 꺼내 값 형식으로 옮기기

 

변수 : 변경이 가능한 수
상수 : 항상 최초의 상태를 유지하는 수 -> 변경하려는 시도시 컴파일 에러

 

열거형식 : 하나의 이름 아래 묶인 상수들의 집합

=>  enum키워드 사용
상수 선언시 ex) enum dia{yes} -> dia.yes;


var키워드 - 컴파일러가 자동으로 형식을 추론
ex) var a = 3; // a는 int 형식
주의 : "지역변수 안"에서만 사용가능(메소드 안에서만 ) + 클래스, 구조체 사용불가

 

using System;
using System.Collections.Generic;
using System.Data.SqlTypes;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _20240222
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //변수(Variables)에 대한 예제 문제:
            //1-1. 특정 프로그램에서 사용자의 이름을 입력받아 변수에 저장하고, 그 이름을 환영하는 메시지를 출력하는 프로그램을 작성하세요.
            //string a = "예준";
            //Console.WriteLine($"어서오세요 {a}");
            //Console.WriteLine("어서오세요 {0}", a);

            //2-2. 특정 도시의 현재 온도를 나타내는 변수를 만들고, 이 변수의 값을 5도 증가시킨 후 새로운 온도를 출력하는 프로그램을 작성하세요.
            //int temp = 24;
            //int now = temp + 5;
            //Console.WriteLine($"현재 온도는 {now}도 입니다");

            //3-3. 사용자로부터 두 개의 숫자를 입력받아 변수에 저장하고, 이 두 숫자를 더한 결과를 출력하는 프로그램을 작성하세요.
            //int a = 10;
            //int b = 20;
            //Console.WriteLine(a + b);

            //상수(Constants)에 대한 예제 문제:
            //2-1. 원주율을 상수로 선언하여 반지름이 5인 원의 넓이를 계산하여 출력하는 프로그램을 작성하세요.
            //float pi = 3.14f;
            //int r = 5;  // => float 과 int 의 곱이 된다.
            //float size = pi * pi * r;
            //Console.WriteLine(size);

            //2-2. 세금 비율을 0.1로 상수로 선언하고, 사용자로부터 어떤 상품의 가격을 입력받아 세금을 계산하여 총 가격을 출력하는 프로그램을 작성하세요.
            //float rate = 0.1f;
            //float price = 50.6f;
            //float total = rate * price;
            //Console.WriteLine(total); //=> 5.06

            //2-3. 1년에는 몇 개의 달이 있는지를 상수로 선언하고, 이 값을 사용하여 1년이 몇 개의 주가 있는지를 출력하는 프로그램을 작성하세요.
            //int CountOfMonth = 12;
            //int day = 365;
            //float CountOfWeek = day / CountOfMonth;
            //Console.WriteLine(CountOfWeek);
            // => 인트형끼리 나누면 소수점 자리가 Truncate을 하지 않아도 된다.


            //float CountOfMonth = 12f;
            //float day = 365f;
            ////float CountOfWeek = Math.Truncate(day / CountOfMonth); ==> 오류
            //float CountOfWeek = day / CountOfMonth;
            //Console.WriteLine(Math.Truncate(CountOfWeek)); // 30


        }
    }
}

'낙서장 > C#' 카테고리의 다른 글

[C#] 메서드 오버로딩  (0) 2024.06.02
virtual ,override, base  (2) 2024.03.08
상속과 다형성  (1) 2024.03.08
흐름 제어  (1) 2024.02.26
데이터를 가공하는 연산자  (0) 2024.02.25

+ Recent posts