IT프로그래밍

[C언어]printf / printf 출력형식 / %d /

Manniz 2020. 3. 28.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

목표

 - prinft로 숫자를 출력하는 방법과 차이점을 이해

 

 

1. prinft의 출력 형식을 이해한다.

 - printf의 출력 형식

%d int값을 부호있는 10진수로 출력
%i d와 같음
%u int값을 부호없는 10진수로 출력
%X int값을 부호없는 16진수로 출력  10~15은  'A'~'F'로 표시
%x int값을 부호없는 16진수로 출력  10~15은  'a'~'f'로 표시
%o int값을 부호없는 8진수로 출력
%p 포인터값을 16진수로 출력
%s 문자열 출력
%c int값을 문자로 출력
%C c와 같음
%f double값을 소수로 출력 (예:12.566371)
%e double값을 지수로 출력 (예:1.256637e+001)
%E e와 같음 'e'가 'E'로 표시 (예:1.256637E+001)
%g 숫자값의 크기에 따라 f나 e로 출력  (예:12.5664、2.99792e+008)
숫자값의 절대치가 너무 커서 precision의 자리수를 넘는 경우와 숫자값의 절대값이 0.0001보다 작은 경우 e형식이 사용되어짐
그 외의 경우는 f형식으로 사용됨
%G g와 같음 'e'가 'E'로 표시

 

이번 포스팅에서 사용할 형식은 %d입니다.

다른 형식들의 설명은 차치하고, %d에 대해 쉽게 설명하자면 우리가 일상생활에서 사용하는 숫자입니다.

d는 decimal이라는 뜻이며 한글로 풀이하면 십진법의 라는 뜻입니다.

 

 - 사용방법

우리는 앞의 포스팅에서 printf를 사용하여 console화면에 글자를 출력했었습니다.

 

2017/05/23 - [★ 프로그래밍/☆ C언어 기초] - [C언어]C언어 독학 002 / C언어 강좌 002/ C언어 기초002[글자 출력 / Hello World]

 

"Hello World"라는 글을 출력하기 위해서 

printf("Hello World");

라는 코드를 작성했었습니다

 

만약 "150"이라는 숫자를 출력하기 위해서는 어떻게 해야할까요!?

위 처럼 문자형식으로 출력해도 출력결과는 같습니다.

 

 

#include <stdio.h>
 
int main(void)
{
    printf("150");
}
 

 

실행 결과

 

 

 

 

 

 

%d를 사용하게 되면 다음과 같은 소스가 됩니다.

#include <stdio.h>
 
int main(void)
{
    printf("%d"150);
}
 

%d에 , 150이 들어가게 됩니다.

실행 결과

 

실행결과는 같습니다. 

 

이렇게 결과가 같으면 왜 %d를 사용할까요 ?

 

다음 예제를 보시면 그 해답이 나옵니다.

 

5곱하기 4를 printf를 사용하여 출력하고자 한다면 어떻게 될까요 ?

 

#include <stdio.h>
 
int main(void)
{
    printf("5*4");
}
 

입력한 대로 5*4가 출력됩니다.

 

 

%d를 사용하여 출력 하면

#include <stdio.h>
 
int main(void)
{
    printf("%d"5*4);
}
 

 

%d를 사용하여 출력

 

 

 

다음과 같이 4*5를 연산한 결과가 출력됩니다.

 

printf의 출력형식은 해당 자리에 내가 지정한 형식으로 이 자리에 출력시키겠다 라는 의미입니다.

 

다음 포스팅에서 구구단을 만들어 보면 더 쉽게 이해가 되실거예요!

댓글