본문 바로가기
C 언어

C 언어 2일차 : 변수의 선언, 대입/산술 연산자, scanf()

by Detol 2022. 12. 21.

앞으로 코딩을 하기 위해서는 변수의 선언은 필수적인 요소 입니다.

변수의 선언에 대해 알아보겠습니다.

변수의 선언에 앞서 변수의 자료형에 대해서 알아보겠습니다.

 

 

변수의 자료형 (data Type) 은 크게 4종류로 나뉘겠습니다.

정수형 byte, short, int, long, long long
실수형 float, double, long double
문자형 char
문자열  

 

정수형은 byte, short, int, long, long long

실수형은 float, double, long double

문자형은 char  가 존재합니다.

나뉘는 기준은 용량이 되겠습니다.

byte > 1바이트 short > 2바이트 int > 4바이트 long > 4바이트 long long > 8바이트 이상
float > 4바이트 double > 8바이트 long double > 8바이트 이상    
char > 1바이트        

 

로 나뉘게 되며 위에 설명한 문자열에 대해서는 차후 배열 파트에서 설명하겠습니다.

 

 

이제 변수를 선언해 보겠습니다.

int main(void){
     int a = 0;
}

 

위의 코드는 a 라는 정수형 변수를 int 를 사용하여 선언한 코드입니다.

변수는 선언과 동시에 초기화를 해주어야 합니다.

초기화를 하지 않을 시에 a의 초기 값은 쓰레기 값이 들어가기 때문에 선언과 동시에 초기화는 필수 입니다.

위의 코드에서 = 0 부분이 a변수에 0이라는 초기 값을 넣어준 것 입니다.

 

=은 C언어에서는 대입 연산자 입니다.

대입 연산자는 수학에서의 = 와는 달리 = 오른쪽의 값을 왼쪽에 대입해줄 때 사용합니다.

 

따라서 int a = 0; 은 0이라는 값을 a라는 정수형 변수대입을 해주어 초기화를 한 것입니다.

 

 

이어서 정수형을 출력하는 방법에 대하여 알아봅시다.

int main(void){
    int a = 0;
    
    printf("정수형 변수 a의 값은 %d입니다.\n", a);
}

 

printf()에 대해서는 앞 글에서 설명하였으니 넘어가겠습니다.

%d 는 서식 지정자로 변수를 출력하기 위해서 사용합니다.

정수 %d %i
실수 %f %lf
문자 %c  
문자열 %s  

 

정수의 서식 지정자로는 %d, %i

실수의 서식지정자로는 %f, %lf

문자의 서식 지정자로는 %c

문자열의 서식지정자로는 %s 가 있겠습니다.

 

위의 예문에서 변수 a는 정수형 변수이기 떄문에 %d 서식 지정자를 이용합니다.

 

이어서 산술 연산자에 대하여 알아보겠습니다. 

산술 연산자는 저희가 이미 알고있는 사칙연산에 대한 역할을 수행하는 연산자 입니다.

+ 더하기
- 빼기
* 곱하기
/ 나누기
% 나머지
++ 1을 증가시킨다
-- 1을 감소시킨다

 

산술 연산자의 종류 입니다. 예문으로 예시를 들어보겠습니다.

a = 3 + 2; 3과 2를 더한 값을 a에 대입
a = 3 - 2; 3과 2를 값을 a에 대입
a = 3 * 2; 3과 2를 한 값을 a에 대입
a = 5 / 2; 3과 2를 나눈 값을 a에 대입
a = 5 % 2; 3과 2를 나눈 나머지 값을 a에 대입

 

++, -- 와 같은 증감 연산자는 추후에  정리하겠습니다.

산술연산자와 서식 지정자를 함께 이용하는 예문을 보겠습니다.

int main(void){
    int a = 3;
    int b = 2;

    int result1 = a + b;
    int result2 = a - b;
    int result3 = a * b;
    int result4 = a / b;
    int result5 = a % b;

    printf("%d와 %d를 더한 값은 %d\n", a, b, result1);
    printf("%d와 %d를 뺀 값은 %d\n", a, b, result2);
    printf("%d와 %d를 곱한 값은 %d\n", a, b, result3);
    printf("%d와 %d를 나눈 값은 %d\n", a, b, result4);
    printf("%d와 %d를 나누고 남은 나머지 값은 %d", a, b, result5);
}

 

result 변수들에 각 산술 연산자를 이용하여 값을 넣어주고 서식 지정자를 이용해 출력해 보았습니다.

 

 

scanf() 함수에 대하여 설명하겠습니다.

scan() 함수는 사용자에게 직접 값을 입력 받는 함수입니다.

int a;

scanf("%d", &a);

 

위와 같은 방식으로 사용합니다.

사용자에게 정수 값을 입력 받고 그 값을 정수형 변수 a에 저장하는 것 입니다.

a앞에 붙는 &은 추후에 포인터 부분에서 설명하겠습니다.

지금은 scanf함수를 통해 입력받은 정보&뒤에 오는 변수에 넣어주는 역할이라고 생각해주시면 됩니다.

 

 

예문 들어가겠습니다

int main(void)
{
    int a;

    printf("정수를 입력하시오 : ");
    scanf("%d", &a);
    printf("입력한 정수는 %d\n", a);

    return 0;
}

결과는

정수를 입력하시오 : 1
입력한 정수는 1

scanf 함수가 사용자가 지정한 값을 잘 받는 모습을 알 수 있습니다.

댓글