형식 지정자는 C에서 입력 및 출력 목적으로 사용됩니다. 이 개념을 사용하면 컴파일러는 scanf() 함수를 사용하여 입력을 받고 printf() 함수를 사용하여 인쇄하는 동안 변수에 어떤 유형의 데이터가 있는지 이해할 수 있습니다. 다음은 형식 지정자 목록입니다.
형식 지정자 | 유형 |
---|---|
%c | 캐릭터 |
%d | 부호 있는 정수 |
%e 또는 %E | 수레의 과학적 표기법 |
%f | 플로트 값 |
%g 또는 %G | %e 또는 %E와 유사 |
%hi | 부호 있는 정수(짧음) |
%hu | 부호 없는 정수(짧음) |
%i | 부호 없는 정수 |
%l 또는 %ld 또는 %li | 긴 |
%lf | 더블 |
%Lf | 롱 더블 |
%lu | unsigned int 또는 unsigned long |
%lli 또는 %lld | 긴 롱 |
%llu | 부호 없는 long long |
%o | 8진수 표현 |
%p | 포인터 |
%s | 문자열 |
%u | 부호 없는 정수 |
%x 또는 %X | 16진수 표현 |
%n | 아무것도 인쇄하지 않음 |
%% | % 문자 인쇄 |
다음은 기본 형식 지정자입니다. 형식 지정자를 사용하여 다른 부분을 추가할 수 있습니다. 다음과 같습니다 -
-
빼기 기호(-) 기호는 왼쪽 정렬을 나타냅니다.
-
% 뒤의 숫자는 최소 필드 너비를 지정합니다. 문자열이 너비보다 작으면 공백으로 채워집니다.
-
마침표(.)는 필드 너비와 정밀도를 구분하는 데 사용됩니다.
예시
#include <stdio.h> main() { char ch = 'B'; printf("%c\n", ch); //printing character data //print decimal or integer data with d and i int x = 45, y = 90; printf("%d\n", x); printf("%i\n", y); float f = 12.67; printf("%f\n", f); //print float value printf("%e\n", f); //print in scientific notation int a = 67; printf("%o\n", a); //print in octal format printf("%x\n", a); //print in hex format char str[] = "Hello World"; printf("%s\n", str); printf("%20s\n", str); //shift to the right 20 characters including the string printf("%-20s\n", str); //left align printf("%20.5s\n", str); //shift to the right 20 characters including the string, and print string up to 5 character printf("%-20.5s\n", str); //left align and print string up to 5 character }
출력
B 45 90 12.670000 1.267000e+001 103 43 Hello World Hello World Hello World Hello Hello
같은 방식으로 scanf() 함수에 이러한 형식 지정자를 사용할 수도 있습니다. 따라서 위와 같이 scanf()에서 입력을 받을 수 있습니다.