본문 바로가기

C

[C언어] 상수와 변수, 그리고 자료형

반응형

1. 상수(Constant) :

 컴퓨터가 처리할 수 있는 형태의 값으로 고정되어 있다.

 short (2 byte) < int (4 byte) < long (4 byte) < float (4 byte) < double (8 byte)

  (1) 정수형 데이터(숫자)

    - 정수형 상수 (int) : 10진수(0~9), 8진수(0~7), 16진수(0~9, A~F)

      (10진수) 147, (8진수) 0256, (16진수) 0x1A

    - 실수형 상수 (double, float) : 소수점을 포함하고 있는 수치형 데이터이다.

    (double) 3.14159265, (float) 3.14f

  (2) 비수치형 데이터(문자)

    - 문자형 상수 (char) : '100', 'A'

    - 문자열 상수 (char[]) : "apple", "365"

2. 변수(Variable) :

 기억 장소(공간)를 의미한다.

 상수(data)가 저장되는 공간으로 값은 변할 수 있으며, 하나의 공간에 하나의 데이터가 저장된다.

 또한 자료와 그 자료를 저장하는 공간의 크기는 같아야 한다. (형의 일치)

  (1) 정수형 변수 : 정수형 상수를 저장하는 공간이다.

  (2) 실수형 변수 : 실수형 상수를 저장하는 공간이다.

  (3) 문자형 변수 : 문자형 상수를 저장하는 공간이다.

  - 변수 선언 방법

    자료형 변수명;

    자료형 변수명 = 초기값;

 

// 전처리문
#include<stdio.h>

int main(){
   // 선언문
   long num1 = 100L;
   int num2 = 100;
   float num3 = 3.14f;
   double num4 = 3.14;

   char ch1 = 'A';
   char ch2 = 65;
   char name[7] = "네이버";   // 초기화를 해 주면 [] 안의 숫자 생략이 가능하다.
   char home[6] = "NAVER";   // [] 안의 숫자는 크기+1 이다.
   char subject[6] = {'N', 'A', 'V', 'E', 'R'};   // 끝에 공백 '\0'을 포함하기 때문이다.

   // 입력문
   // 처리문
   // 출력문
   printf("num1 = %d\n", num1);
   printf("num2 = %d\n", num2);
   printf("num3 = %f\n", num3);
   printf("num4 = %lf\n\n", num4);

   printf("ch1 = %c\n", ch1);   // 문자 %c
   printf("ch2 = %c\n", ch2);
   printf("name = %s\n", name);  // 문자열 %s : 공백문자를 만날 때까지 연속된 문자를 출력한다.  
   printf("home= %s\n", home);
   printf("subject = %s\n", subject); 
   printf("subject = %c%c%c%c%c%c\n", subject[0], subject[1], subject[2], subject[3], subject[4], subject[5]);

   return 0;
}

 

 

 

3. 자료형(Data Type) :

 변수와 상수의 크기를 규정해 놓은 것이다.

  - 수치형 데이터(숫자 데이터) : 정수와 실수

    char(1), short(2), int(4), long(4), long long(8), float(4), double(8)

    'int'는 기본 정수형, 'double'은 기본 실수형이다.

    'float'은 소수점 이하 6자리까지 담을 수 있다.

  - 비수치형 데이터(문자 데이터) : 문자와 문자열

    char, char[]

 

// 전처리문
#include<stdio.h>

int main(){
   // 선언문
   // 입력문
   // 처리문
   // 출력문
   printf("10진수 = %d\n", 149);
   printf(" 8진수 = %o\n", 149);
   printf("16진수 = %x\n\n", 149);

   printf("int       바이트 크기 : %2d byte\n", sizeof(int));
   printf("short     바이트 크기 : %2d byte\n", sizeof(short));
   printf("long      바이트 크기 : %2d byte\n", sizeof(long));
   printf("long long 바이트 크기 : %2d byte\n", sizeof(long long));
   printf("float     바이트 크기 : %2d byte\n", sizeof(float));
   printf("char      바이트 크기 : %2d byte\n", sizeof(char));
}

 

반응형