• 프로그래밍 언어 활용 part 1 - 변수와 데이터형

    2021. 7. 25.

    by. 고구마달랭이

    변수와 데이터형

    [학습내용] [학습목표]
    · 변수와 상수
    · 데이터타입
    · 변수와 상수를 정의할 수 있다.
    · 변수 선언 시 사용되는 다양한 데이터타입을 알고 사용할 수 있다.
    · 형식지정자를 알고 변수값을 출력할 수 있다

    변수와 상수

     

    1. 변수

     

    변수 프로그램 수행 시 데이터를 보관할 수 있는 공간

    • 메모리에 저장공간 확보

    • 방법에 따라 크기와 용도가 다르게 생성

    • 유일한 이름(Identifier) 부여

    • 메모리에 대한 심볼릭 표현

     

    변수선언

    • 변수는 사용 전 반드시 먼저 선언해야 함

    • 필요 시 선언과 동시에 초기화도 가능함

    • 변수선언문 기본 형식

      - 데이터타입 변수명;

      - 데이터타입 변수명1, 변수명2, …… ;

    • 변수명은 식별자 생성 규칙을 적용함

     

    식별자(Identifier)

    변수를 구분하기 위해서 사용되는 이름

    • 식별자 규칙

      - 식별자는 반드시 영문자, 숫자, 밑줄 기호(_)만을 사용해야 함

      - 식별자의 첫 글자는 반드시 영문자 또는 밑줄 기호(_)로 시작해야 함 ※식별자는 숫자로 시작해서는 안됨

      - 식별자에는 밑줄 기호(_)를 제외한 다른 기호를 사용할 수 없음

      - 식별자는 대소문자를 구분해서 만들어야 함

         (name, Name, NAME은 모두 다른 이름으로 간주됨)

      - C 언어의 예약어는 식별자로 사용할 수 없음

    예약어
    if / and / printf / switch / case / break / continue
    int / char / float / while / for / double / return 

     

     

    식별자 생성

    올바른 변수 선언의 예 잘못된 변수 선언의 예
    • kim KOR Elec count • 4su
    • _eng st1_height openDate • mat*st student?3 wine-list
    • score3 • for char

     

    변수 활용

    • 초기화는 =(대입연산자)를 이용

    변수명 = ;

     


     

    2. 상수

    상수(Constant)

    변하지 않는 자료값

    보관되는 값에 따라 의미가 변하는 것이 변수

     

    리터럴상수(Literal Constant) : 정수형, 실수형, 문자형

    심볼릭상수(Symbolic Constant) : const 상수, 매크로 상수, 열거형 상수

     

    매크로 상수

    • #define문으로 정의되는 상수

    형식 
    #define 매크로이름 상수
    #define MAX 100
    #define TOTAL 300
    #define RATE 0.7

     

    데이터 타입

     

    1. 개요

    • C 프로그램에서 사용되는 모든 변수나 상수 값은 정해진 데이터형을 가짐

    • 데이터형에 의해서 주어진 값의 이진 표현이 결정됨

    기본데이터형(Primitive Data Type) 파생 데이터형(Derived Data Type) 사용자 정의형(User-defined Data Type)
     문자형 : char
     정수형 : short, int, long, long long
     실수형 : float, double, long double
     배열
     포인터
     구조체
     공용체
     열거체

     


     

    2. 문자형

    데이터형 의미 크기
    char char 1byte
    unsigned 부호 없는 문자형 1byte

     

    문자형 변수 선언
    char 변수명; char a;
    char 변수명, 변수명, … 변수명; char a,b,c;
    char 변수명 = ‘초기값’; char a=‘k’;

     


     

    3. 정수형

    • C 언어는 정수형으로 short, int, long을 제공함

    • 크기 비교 : short ≤ int ≤ long

     

    데이터형 의미 크기
    short short 2
    unsigned short unsigned short int
    int signed in 4
    unsigned int unsigned in
    long signed long int 4
    unsigned long unsigned long int
    long long signed long long int 8
    unsigned long long unsigned long long int

    정수의 표현

    - 부호가 있는 정수형은 최상위 비트(msb)를 부호 비트로 사용함

    - 부호가 있는 정수형은 음수를 표현하는데 2의 보수를 사용함

    - 부호가 없는 정수형은 최상위 비트값을 저장하는 용도로 사용함

     

    데이터형의 유효 범위

    분류 데이터형 바이트 크기 유효 범위
    문자형 char 1 -128(-27) ~ 127(27-1)
    unsigned char 1 0~255(28-1)








    정수형








    short 2 -32768(-215) ~ 32767(215-1)
    unsigned short 2 0~65535(216-1)
    int 4 -2147483648(-231) ~ 2147483647(231-1)
    unsigned int 4 0~4294967295(232-1)
    long 4 -2147483648(-231) ~ 2147483647(231-1)
    unsigned long 4 0~4294967295(232-1)
    float 4 ±1.17549×10-38 ~ ±3.40282×1038
    double 8 ±2.22507×10-308 ~ ±1.79769×10308
    long double 8 ±2.22507×10-308 ~ ±1.79769×10308

     


     

    4. 실수형

    실수의 표현 방식

    - 고정소수점(Fixed Point) 방식

    - 부동소수점(Floating Point) 방식 ➡ 주로 사용

     

    실수의 정밀도

    - 단정도 (Float)

    - 배정도 (Double)

     


     

    5. 형식지정자

    형식지정자를 이용한 printf() 출력

    printf(“%c”,’a’);
    printf(“%d”,5);
    printf(“%f”,7.5);
    int a;
    a = 15;
    printf(“%d”,a)

     

    서식문자 설명
    %c 문자 출력
    %d 정수값 출력
    %o 8진수로 출력
    %x, %X, %#x 16진수 출력, x2a와 같이 소문자, X2A, #0x2a
    %u 부호 없는 십진수
    %e, %E 지수형식 출력(1.23e+05)
    %f, %lf 실수값 출력, lflong double
    %s 문자열 출력

     

     


     

     

    평가하기

     

    Q1. 다음 중 식별자로 잘못된 것은 무엇인가?


    ① width
    ② HELLO
    ③ good_num
    ④ 23student

     

    식별자는 제일 앞에 숫자로 시작할 수 없습니다.




    Q2. 변수에 값을 보관할 때 사용되는 대입연산자는 무엇인가?


    ==
    ② =
    <=
    ④ -

     

    대입연산자는 = 입니다.

     



    Q3. 다음 중 실수형 데이터타입이 아닌 것은 무엇인가?


    long
    float
    double
    long double

    long은 long int를 의미하며 정수형 데이터타입입니다.

     

     


     

     

    학습정리

     

     

    1. 변수와 상수

    • 변수는 프로그램 수행 시 필요한 자료 값을 보관할 수 있는 공간을 의미함

    • 변수는 사용 젂 반드시 선언을 먼저 해야 함

    • 식별자는 영문 대소문자, 숫자, 밑줄 기호(_)를 이용하여 만듦

    • 식별자 생성 시 예약어는 사용할 수 없음

    • 상수란 의미가 변하지 않는 자료 값을 의미함

    • 저장할 데이터의 종류와 크기에 따라 다양한 데이터타입이 있

     

    2. 데이터타입

    • 저장할 데이터의 종류와 크기에 따라 다양한 데이터타입이 있음

    • 문자형 데이터타입으로 char이 있음

    • 정수형 데이터타입으로 short, int, long, long long이 있음

    • 실수형 데이터타입으로 float, double, long double이 있음

    • 변수값을 출력 시 형식 지정자를 사용하여 출력할 수 있음

     

    댓글