[C언어] printf() 변환지정자(%) 사용하기
ET의 공부/C언어2019. 10. 14. 21:48
printf() 함수로 변수를 출력할 때 변수의 데이터형에 따라 변환 지정자(conversion specification)가 다릅니다.
예를 들어 정수를 출력할때는 %d, 문자를 출력할 때는 %c를 사용합니다.
이러한 printf()의 변환 지정자에는 무엇이 있는지 알아보겠습니다.
printf("%d{변환지정자}",i{변수});
변환 지정자 | 데이터 형 |
%a , %A | 16진수 부동소수점수 |
%c | 단일 문자 |
%d | 부호있는(signed) 10진 정수 |
%e , %E | 부동소수점 수(e-) |
%f | 10진 부동소수점수 |
%i | %d와 같음 |
%o | 부호 없는 8진 정수 |
%p | 포인터 |
%s | 문자열 |
%u | 부호 없는(unsigned) 10진 정수 |
%x ,%X | 부호없는 16진수 정수(x: 0f , X:0F ) |
printf()로 16진수 부동소수점 출력: %a , %A
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
float pi = 3.14;
printf("3.14의 16진수 부동소수점 출력: %a \n",pi);
printf("3.14의 16진수 부동소수점 출력: %A \n",pi);
return 0;
}
printf()로 문자 출력: %c
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
char c = 'c';
printf("%c\n",c);
return 0;
}
printf()로 부호 있는 정수 출력: %d
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
int i = 10;
int j = -10;
printf("%d\n",i);
printf("%d\n",j);
return 0;
}
printf()로 부동소수점 출력(e표기): %e , %E
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
float pi = 3.141592;
printf("%e\n",pi);
printf("%E\n",pi);
return 0;
}
% e와 % E의 차이점은 지수 e의 표기가 소문자/대문자인가의 차이입니다. ex) 3.141592 e+00 / 3.141592 E+00
printf()로 10진 부동소수점 출력: %f
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
float pi = 3.141592;
printf("%f\n",pi);
return 0;
}
printf()로 부호 없는 8진 정수 출력: %o
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
int i = 9;
printf("%o\n",i);
return 0;
}
printf()로 포인터 주소 출력: %p
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
int i = 9;
printf("%p\n",&i);
return 0;
}
printf()로 문자열 출력: %s
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
char *c = "hello i am ET";
printf("%s\n",c);
return 0;
}
printf()로 부호 없는 16진 정수 출력: %x , %X
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
int i = 95;
printf("%x\n",i);
printf("%X\n",i);
return 0;
}
%x 와 %X 의 차이점은 16진수 표기 알파벳의 소문자/대문자 표기에 따릅니다. ex) %x : 5f, %X : 5F
감사합니다.
'ET의 공부 > C언어' 카테고리의 다른 글
[C언어] 증가연산자 ++ 와 감소 연산자 -- , 증감연산자 사용방법 (0) | 2019.12.03 |
---|---|
[C언어] 산술연산자(+,-,*,/,%) 우선순위와 결합 방향 (0) | 2019.11.27 |
C언어 수식함수 라이브러리 math.h (0) | 2019.11.27 |
[C언어] 퍼센트 % 출력하기 (0) | 2019.10.16 |
Xcode로 C언어 시작하기 - C언어 개발환경 셋팅 (0) | 2019.10.12 |
댓글()