c언어

c언어C언어 집에서 독학하기 05(printf)

dacustom 2025. 5. 30. 22:23

오늘은 저번 시간에 포스팅한  printf를 좀 더

심화과정을 간단하게 알아보겠습니다.

 

 

 

 

 

일단 아래 간단한 예제와 결과를 보시죠!

 

 

 

 

결과 창을 보시면

 

65   A  41  101

 

이렇게 얻을 수 있는데요.

 

왜 이렇게 되는지 자세히 알아보도록 하죠!

 

 

 

 

 

 

 

 

 

1번은 num이라는 이름의 int형 변수를 선언한 거죠!

하지만 오늘은 printf에 대해서 좀 더 배우는 거 기 때문에

자료형에 대해선 다음 기회에!!

 

 

 

 

2번을 보시면 num = 65;

위에 뜻은 num에 65라는 값을 저장한다.

 

 

자 이제 65라는 값을 저장했으니 그 결괏값을 한번 보시면

 

 

 

%d = 65

%c = A

%x = 41

%o=101

 

 

 

이렇게 나온다는 결괏값을 볼 수 있는데요.

분명 우린 num에 65라는 값을 저장했는데

왜 이러한 결괏값이 나올까요?

 

 

%c를 제외하고 나면 그나마 쉽게 설명드릴 수 있습니다.

 

 

 

%d는 저장된 정수값을 10진수로 알려줘

%x는 저장된 정수값을 16진수로 알려줘

%o는 저장된 값을 8진수를 알려줘

라는 뜻이라고 생각하면 편하십니다.

 

 

 

때문에 우린 65라는 값을 저장했지만

65는 16진수로 41이고  8진수로 101이기에

위와 같은 결괏값을 얻을 수 있는 겁니다!

 

 

 

 

그럼 %c는 왜 A라고  표시 됐을까요?

이 부분은 조금 더 심화과정이 필요하기에

최대한 간단하게 이해하고 넘어갈 수 있게 설명해 보자면!!

 

 

컴퓨터는 메모리에 전기적 신호를 있고 없고로 저장하기 때문에

이건 0과 1로 표현하는 2진법과 같다고 생각하시면 편하죠!

전기적 신호가 없으면 0 있으면 1 이런식으로요!

 

 

그럼 아까 65는 2진법으로 1000001 이기에

 

켜짐 꺼짐 꺼짐 꺼짐 꺼짐 꺼짐 켜짐

 

메모리 한 부분에 위처럼 저장되어 있는 겁니다!

 

 

 

근데 부분을 %d %x %o에 따라서 저장된 값을

우리가 10 41 101 값을 보게 되는 거죠!

 

 

그럼 %c는 메모리에 저장된 값을

문자(그림?)로 보여줘라는 뜻입니다.

 

그럼이 문자(그림?)는 어떻게 보이는 거길래

A라는 값을 보여줬을까요?

 

이 부분은 아스키코드에 대해서 알아야 하는데요!

다음 포스팅 때 %c와 아스키코드에 대해서 알아보면서

printf부분을 마무리하면 될 것 같습니다!

 

 

그럼 다음 포스팅 때 뵙겠습니다