반응형
#include <stdio.h> int printf(const char *format[, argument, ...]); |
printf 함수는 연속적인 인수를 받아서 format으로 지정된 서식에 따라 데이터를 서식화해서 표준 출력(stdout)에 출력합니다.
... 포맷 지정자는 다음과 같은 형식을 가지고 있습니다.
%[ flags ] [ width ] [ .prec ] [h | l | L] type |
각 서식 지정자는 % 기호가 앞에 오고, 이 기호 뒤에 다음과 같은 값이 나열될 수 있습니다.
- 연속적인 [ flags ] 문자들을 선택적으로 사용할 수 있습니다.
- 넓이를 나타내는 [ width ]를 선택적으로 사용할 수 있습니다.
- 정밀도를 나타내는 [ .prec ]을 선택적으로 사용할 수 있습니다.
- 입력 크기를 나타내는 [ h | l | L ]을 선택적으로 사용할 수 있습니다.
- h: shot int
- l : long
- L : long double
- 변환 형식 문자 [ type ]을 선택적으로 사용할 수 있습니다.
...의 변환 문자 형식(conversion type)
숫자 형식
d | 정수 | Signed 10진수 |
i | 정수 | Signed 10진수 |
o | 정수 | 8진수 |
u | 정수 | unsigned 10진수 |
x X |
정수 | 16진수 x: a,b,c,d,e,f의 소문자로 출력 X: A, B, C, D, E, F의 대문자로 출력 |
f | 실수(부동 소수점) | |
g G |
실수(부동 소수점) | f 또는 e 형식 중 간략한 형식으로 출력 |
e E |
실수(부동 소수점) | 지수 형식 d.dddddd 형식 |
문자 형식
c | 문자 | 한 문자 |
s | 문자열 포인터 | NULL로 종료된 문자 또는 지정된 길이 만큼 출력 |
% | %%로 ‘%’ 한 문자 출력 |
포인터
p | 포인터 | 주소를 16진수 형식으로 출력 |
예제 1: 서식을 사용하지 않고 문자열만 출력
#include <stdio.h>
int main()
{
printf("Hi, C Language.\n");
printf("안녕, C 언어.\n");
return 0;
}
예제 2: 정수 형식의 숫자 출력하기
#include <stdio.h>
int main()
{
short a = 100;
int b = 5000;
long c = 1234567;
printf("%hd\n", a);
printf("%d\n", b);
printf("%ld\n", c);
return 0;
}
예제 3: 정수를 10, 8, 16진수로 출력하기
#include <stdio.h>
int main()
{
int a = 127;
printf("%d\n", a);
printf("%o\n", a);
printf("%x\n", a);
printf("%X\n", a);
return 0;
}
예제 4: 정수를 자리수 맞추어서 출력하기
#include <stdio.h>
int main()
{
int a = 1;
int b = 123;
int c = 1234567;
printf("%7d\n", a); // 7자리. 앞 부분에 공백으로 채움
printf("%7d\n", b);
printf("%7d\n", c);
printf("%07d\n", a); // 앞 부분은 0으로 채움
return 0;
}
예제 5: 실수 출력하기
#include <stdio.h>
int main()
{
float a = 123.45;
double b = 1234.56789;
printf("%f\n", a); // 기본으로 소수는 6자라로 출력됨. 정밀도 문제로 출력에 문제 있음
printf("%f\n", b);
printf("%6.2f\n", a); // 전체자리수 6. 소수 자리수 2
printf("%.2f\n", a); // 소수 자리수 2
printf("%.2f\n", b);
printf("%e\n", b); // 지수
printf("%E\n", b);
return 0;
}
예제 5: 포인터 출력
#include <stdio.h>
int main()
{
int a = 100;
printf("%p\n", &a); // &a: 변수 a의 주소
printf("%x\n", &a);
printf("%X\n", &a);
return 0;
}
예제 6: %e, %f, %g 출력 비교
#include <stdio.h>
int main()
{
double a = 123.5;
printf("%f\n", a);
printf("%e\n", a);
printf("%g\n", a);
return 0;
}
반응형
'C_C++ > C_라이브러리_함수' 카테고리의 다른 글
(C언어) putchar: 문자를 표준 출력(stdout)에 출력한다 (0) | 2023.02.24 |
---|---|
(C언어) putc: 스트림에 한 문자를 출력한다 (0) | 2023.02.24 |
(C언어) perror: 시스템 오류 메시지를 출력한다 (0) | 2023.02.23 |
(C언어) memset: 버퍼를 지정된 문자로 초기화한다 (0) | 2023.02.22 |
(C언어) memmove: 버퍼의 내용을 이동한다 (0) | 2023.02.22 |