본문 바로가기

Lang/C

[C] C 문법 공부 #1 출력 printf()

728x90

# printf

- 기본형

printf("서식문자열", 인수, 인수, ...);

서식문자열을 출력하되, 서식문자열에 %로 시작되는 서식이 있다면

뒤에 인수를 문자열에 추가하여 같이 출력한다.

int num = 20;
char c = 'a';

int sum = 100;
float average = 33.3;

printf("문자열 출력");
printf("숫자는 %d이고, 문자는 %c입니다\n", num, c);
printf("합계: %d, 평균: %f", sum, average);
문자열 출력
숫자는 20이고, 문자는 a입니다
합계: 100, 평균: 33.3

 

# 서식 종류

서식 의미 설명
%d or %i Decimal, Integer 10진 정수로 출력한다.
%ld Long Decimal long 범위까지 출력한다.
%lld Long Long Decimal long long 범위까지 출력한다.
%o Octal 8진 정수로 출력한다.
%x or %X heXadecimal 16진 정수로 출력한다.
대문자 X를 사용하면 16진수 A~F도 대문자로 출력된다.
%u Unsigned 부호없는 10진 정수로 출력한다.
%c Character 1개의 문자를 출력한다.
%s String 문자열을 출력한다.
%f Float 고정 소수점 형식의 실수로 출력한다.
%e or %E   부동 소수점 형식의 실수로 출력한다.
%g or %G   %e, %f 중 더 짧은 형식으로 출력한다.
%p Pointer 포인터의 번지값을 출력한다.
%n   출력된 무자 개수를 포인터 변수에 대입한다.
%%   % <- 문자 자체를 출력한다.

 

# 정수형 자릿수 서식

int num = 123;

printf("[%d]\n", num);		// 모두 출력
printf("[%5d]\n", num);		// 5자리 우측 정렬
printf("[%05d]\n", num);	// 5자리 우측 정렬 빈자리 0 채움
printf("[%-5d]\n", num);	// 5자리 좌측 정렬
[123]
[    123]
[00123]
[123    ]
서식의 형태 : %[-][0][전체 자릿수]d
* [ ] 생략가능 

 

# 실수형 자릿수 서식

double pi = 3.14;

printf("[%f]\n", pi);		// 기본 소수점 이하 6자리
printf("[%10f]\n", pi);		// 전체 10자리 / 우측정렬
printf("[%.2f]\n", pi);		// 소수점 이하 2자리까지
printf("[%10.2f]\n", pi);	// 전체 10자리 / 우측정렬 / 소수점 2자리까지
printf("[%010.2f]\n", pi);	// 전체 10자리 / 우측정렬 / 소수점 2자리까지 / 빈칸 0채움
printf("[%-10.2f]\n", pi);	// 전체 10자리 / 좌측정렬 / 소수점 2자리까지
[3.140000]
[    3.140000]
[3.14]
[            3.14]
[0000003.14]
[3.14            ]
서식의 형태 : %[-][0][전체 자리수][.소숫점 이하 자리수]f
* [ ] 생략 가능
728x90