Printf 함수는 포맷형 출력 함수로, 출력 형태를 지정해 줄 수가 있습니다.
printf 함수는 겹따옴표("") 안에 있는 문자열을 출력해 준다는 사실은 전에 확인했지만 여기서는 %d를 그대로 출력하라는 의미가 아닙니다.
문자열 안에 포함되어있는 %d는 서식 문자 (conversion specifier)라고 하는데요.
이런 서식 문자는 출력하고자 하는 변수의 출력 형태를 지정하기 위해 사용합니다.
서식 문자의 종류
%d : 10진 정수형 출력
%f : 실수형 출력
%c : 문자 출력
%s : 문자열 출력
%o : 8진 정수형 출력
%x : 16진 정수형 출력
%e : 지수형 출력
%u : 부호 없는 10진 정수형 출력
%g : e와 f 중에서 출력할 자리를 덜 차지하는 형태로 출력 (자동)
%p : 포인터의 주소값 출력
사실 언제 무슨 서식 문자를 쓰는지 다 외울 필요는 없어요. 주로 쓰이는 서식 문자는 저절로 외워지지만 나머지는 사용할 일이 생기면 그 때 찾아보고 사용하면 됩니다!
예시 코드와 함께 어떻게 쓰는지, 어떤 값이 나오는지 알아봅시다.
%d : 10진 정수형으로 출력
%o : 8진 정수형 출력
%x : 16진 정수형 출력
<소스>
#include <stdio.h>
int main(void) {
int d = 12;
printf("%d 는 8진 정수형으로는 %o 이고, 16진 정수형으로는 %x 입니다.", d, d, d);
return 0;
}
<실행 결과>
12 는 8진 정수형으로는 14 이고, 16진 정수형으로는 c 입니다. |
%f : 실수형으로 출력
<소스>
#include <stdio.h>
int main(void) {
float a = 12.0;
double b = 12.0;
printf("12 를 실수형으로 출력하면 %f 입니다.\n", a); // 기본 소수점 6자리까지 나와요
printf("%f 를 소수점 2자리까지 출력하면 %.2f 입니다.\n", b, b);
return 0;
}
<실행 결과>
12 를 실수형으로 출력하면 12.000000 입니다. 12.000000 를 소수점 2자리까지 출력하면 12.00 입니다. |
%c : 문자 출력
%s : 문자열 출력
<소스>
#include <stdio.h>
int main(void) {
printf("%%c로 문자 a 출력하기 : %c",'a');
printf("\n");
printf("%%s로 문자열 머징 출력하기 : %s", "머징");
return 0;
}
<실행 결과>
%c로 문자 a 출력하기 : a %s로 문자열 머징 출력하기 : 머징 |
%e : 지수형 출력
%u : 부호 없는 10진 정수형 출력
%g : e와 f 중에서 출력할 자리를 덜 차지하는 형태로 출력 (자동)
%p : 포인터의 주소값 출력
<소스>
#include <stdio.h>
int main(void) {
double a = 10.234;
double b = 10.234000;
int* p = 2456453;
printf("%.2f를 %%e로 출력하기 : %e \n", a, a);
printf("%.2f를 %%u로 출력하기 : %u \n", a, a);
printf("%f를 %%g로 출력하기 : %g \n", b, b);
printf("포인터의 주소를 %%p로 출력하기 : %p", p);
return 0;
}
<실행 결과>
10.23를 %e로 출력하기 : 1.023400e+01 10.23를 %u로 출력하기 : 3642132267 10.234000를 %g로 출력하기 : 10.234 포인터의 주소를 %p로 출력하기 : 00257B85 |
'💻 Programming > C' 카테고리의 다른 글
[C 언어] 함수, 매개변수, 리턴값의 의미와 관계 (0) | 2020.08.02 |
---|---|
[C 언어] 출력함수 Printf (0) | 2020.08.01 |