본문 바로가기

Progremming Study/C언어

C언어 기초 _ 변수, 자료형, 입력

728x90

* 변수 

 

- 값이 변하는 수

- 메모리 공간을 할당받고 해당 공간을 변수 이름으로 접근해 사용하는 개념

- 변수를 선언하는 방법

            자료형 변수명 ;       ex) int num ;

- 한 개의 변수에는 반드시 한 개의 데이터만 저장될 수 있음

- 변수는 같은 이름을 사용할 수 없음

- 변수를 선언하면 기존의 공간에 존재하는 데이터가 있는데 이 데이터를 쓰레기 값이라 부름

- 쓰레기 값을 초기화 해줄 때는 선언과 동시에 값을 할당해줌

           ex)        int num = 5 ;

 

 

ex --------------------------------------------------------------------------

int num;

num = 5;
printf("num의 값 : %d\n", num);

 


* 변수 이름 선언 규칙

 

- 영문자(대소문자 구별함), 숫자, 언더스코어 (_)로만 구성

- 숫자로 시작할 수 없음

- 이름 사이에는 공백을 포함할 수 없음

- 미리 정의된 키워드 사용 불가

 


* 자료형

 

- 변수를 선언할 때 변수 공간을 사용할 데이터 타입을 지정해줌

- * 표시 자료형의 기본형

 

  • 문자형

char (Character) ( * )    :       1byte, -128 ~ 127

 

  • 정수형

short                 :         2byte, -32768 ~ 32767

int (*)                :         4byte, - 2,147,483,648 ~ 2,147,483,647

long                  :         4byte, - 2,147,483,648 ~ 2,147,483,647

long long          :         8byte, 범위가 매우 큼

 

  • 실수형

float                  :           4byte, 소수점 6번째 자리까지 정확하게 표기

double    ( * )    :           8byte, 소수점 15번째 자리까지 정확하게 표기

 

ex --------------------------------------------------------------------------

int age;
double tall, weight;

age = 30;
tall = 182.2;
weight = 70.53;

printf("이름 : %s\n","홍길동");
printf("나이 : %d\n", age);
printf("주소 : %s\n","서울특별시 종로구 묘동 단성사");
printf("키 : %.1fcm\t몸무게 : %.2fkg",tall,weight);

 


 

* 입력

 

- scanf() 함수를 사용해서 입력을 받음

   scanf( "입력받을 데이터의 서식 지정", 입력 값을 저장할 변수의 주소) ;

 

- 입력받을 데이터의 서식을 지정할 때는 서식 지정자를 사용하면 되고,

  입력 값을 저장할 변수의 수소를 표기해줄 때는 변수명 앞에 &를 붙임 

          ex)          scanf("%d", &num) ;

 

- scanf() 함수를 사용할 때 " " 안에 서식 지정자를 제외한 문자열은 작성하지 않음

          ex)         printf("입력: ") ;

                        scanf("%d", &num) ;

 

- 예외로 " "안에 문자를 작성해주는 경우, 해당 문자로 입력 값을 구분할 때 사용

         ex)        scanf("%d, %d", &num1, &num2); 

                      => 입력 시 , 을 해줘야 두수 구분 가능

 

- scanf()를 사용해 double 자료형을 가진 변수에 입력 값을 저장할 때는 서식 지정자 %lf (long float)를 사용해줘야함 

         ex)      double fnum;

                    scanf("%lf", &fnum);

                    printf("%f", fnum); 

 

ex --------------------------------------------------------------------------

 

int num1, num2;

printf("입력: ");
scanf("%d,%d", &num1, &num2);
printf("출력: %d %d\n", num1, num2);

 

 

// 문자 두 개를 입력 받고 두 문자를 거꾸로 출력

char m1, m2;

scanf("%c %c", &m1,&m2);

printf("%c %c", m2, m1);

 

 

// 년, 월, 일을 '-'로 구분하여 입력 받고 출력 시에는 년, 월, 일을 붙여 출력

int year, mon, day;

 

printf("입력: ");

scanf("%d-%d-%d", &year, &mon, &day);

printf("출력: %d년 %02d월 %d일", year, mon, day);

 

 

728x90