Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 프로그램으로 다양한 형식의 문자와 문자열 출력하기

C 프로그래밍 언어에서는 printf 함수와 형식 지정자(format specifier)를 조합하면 문자와 문자열을 다양한 형식으로 출력할 수 있습니다. 아래 알고리즘은 이 과정을 단계별로 설명합니다.

알고리즘

1단계: 출력할 문자 하나를 입력받습니다.

2단계: 컴파일 시점에 이름(문자열)을 지정합니다.

3단계: 형식 지정자를 사용하여 문자를 여러 형식으로 출력합니다.

  • printf("%c\n%3c\n%5c\n", x, x, x);
  • printf("%3c\n%c\n", x, x);
  • printf("\n");

4단계: 형식 지정자를 사용하여 문자열을 여러 형식으로 출력합니다.

  • printf("%s\n", name);
  • printf("%20s\n", name);
  • printf("%20.10s\n", name);
  • printf("%.5s\n", name);
  • printf("%-20.10s\n", name);
  • printf("%5s\n", name);

형식 지정자의 의미

  • %c — 문자 하나를 그대로 출력합니다.
  • %3c, %5c — 폭 3칸 또는 5칸 안에서 오른쪽 정렬하여 문자를 출력합니다.
  • %s — 문자열 전체를 출력합니다.
  • %20s — 폭 20칸 안에서 오른쪽 정렬하여 문자열을 출력합니다.
  • %20.10s — 폭 20칸 안에서 오른쪽 정렬하되, 앞에서 최대 10글자만 출력합니다.
  • %.5s — 문자열의 앞 5글자만 출력합니다.
  • %-20.10s — 폭 20칸 안에서 왼쪽 정렬하되, 앞에서 최대 10글자만 출력합니다.

예제 1

다음은 문자와 문자열을 다양한 형식으로 출력하는 C 프로그램입니다.

#include<stdio.h>
main(){
   char x = 'T';
   static char name[20] = "Tutorials Point";
   printf("OUTPUT OF CHARACTERS\n\n");
   printf("%c\n%3c\n%5c\n", x,x,x);
   printf("%3c\n%c\n", x,x);
   printf("\n");
   printf("OUTPUT OF STRINGS\n\n");
   printf("%s\n", name);
   printf("%20s\n", name);
   printf("%20.10s\n", name);
   printf("%.5s\n", name);
   printf("%-20.10s\n", name);
   printf("%5s\n", name);
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

OUTPUT OF CHARACTERS
T
  T
   T
  T
T
OUTPUT OF STRINGS
Tutorials Point
Tutorials Point
Tutorials
Tutor
Tutorials
Tutorials Point

예제 2

이번에는 다른 형식 지정자 조합을 확인하는 프로그램을 살펴보겠습니다.

#include<stdio.h>
main() {
   char x = 'T';
   static char name[20] = "Tutorials Point";
   printf("OUTPUT OF CHARACTERS\n\n");
   printf("%c\n", x);
   printf("%c\n%3c\n%5c\n", x,x,x);
   printf("%3c\n%c\n", x,x);
   printf("%c\n%3c\n%5c\n", x,x,x);
   printf("%3c\n%c\n", x,x);
   printf("\n");
   printf("OUTPUT OF STRINGS\n\n");
   printf("%.5s\n", name);
   printf("%-10.10s\n", name);
   printf("%.20s\n", name);
   printf("%20.10s\n", name);
   printf("%20s\n", name);
   printf("%10s\n", name);
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

OUTPUT OF CHARACTERS
T
T
  T
    T
  T
T
T
   T
     T
   T
T
OUTPUT OF STRINGS
Tutor
Tutorials
Tutorials Point
Tutorials
Tutorials Point
Tutorials Point

이처럼 폭(width)과 정밀도(precision) 지정자를 적절히 활용하면 출력 결과의 정렬 방향과 글자 수를 자유롭게 제어할 수 있습니다. 특히 표 형태의 데이터를 깔끔하게 출력할 때 매우 유용합니다.