Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C의 형식 지정자

<시간/>

형식 지정자는 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()에서 입력을 받을 수 있습니다.