C 언어 printf 사용법 완벽 가이드

printf 함수는 C 언어에서 표준 출력(일반적으로 콘솔)에 텍스트를 출력할 때 사용됩니다. 문자열, 숫자, 문자 등 다양한 데이터를 출력할 수 있으며, 프로그래밍 과정에서 디버깅이나 결과 확인에 필수적인 함수입니다.


1. printf 함수 기본 문법

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

설명 :

  • #include <stdio.h>printf 함수를 사용하기 위해 표준 입출력 헤더를 포함합니다.
  • \n: 줄바꿈(newline) 문자입니다.
  • 문자열은 큰따옴표(" ")로 감쌉니다.

2. 주요 서식 지정자(format specifier)

printf는 다양한 서식 지정자를 사용하여 값을 출력합니다.

서식 지정자 설명 예제 출력
%d 정수 (10진수) 42
%f 실수 (부동소수점) 3.141593
%.2f 소수점 이하 2자리 3.14
%c 단일 문자 A
%s 문자열 Hello
%x/%X 16진수 (소문자/대문자) ff / FF
%% % 문자 출력 %

예제 코드:

int age = 25;
float height = 175.5;
char grade = 'A';
char name[] = "Alice";

printf("이름: %s\n", name);
printf("나이: %d세\n", age);
printf("키: %.1fcm\n", height);
printf("등급: %c\n", grade);

출력 결과:

이름: Alice
나이: 25세
키: 175.5cm
등급: A

3. 고급 사용법

3.1. 너비(width)와 정렬

printf("%-10s | %5d\n", "이름", 30);  // 왼쪽 정렬
printf("%10s | %5d\n", "Bob", 27);    // 오른쪽 정렬

출력 결과:

이름       |    30
       Bob |    27

3.2. 0으로 채우기 (Zero Padding)

int num = 7;
printf("%05d\n", num);  // 00007 출력

3.3. 다양한 진법 출력

int number = 255;
printf("10진수: %d\n", number);
printf("16진수: %x\n", number);
printf("8진수: %o\n", number);

출력 결과

10진수: 255
16진수: ff
8진수: 377

4. printf 사용 시 주의할 점

    1. 서식 지정자와 데이터 타입 일치%d에는 정수형, %f에는 실수형이 전달되어야 합니다.
    2. 문자열 끝에 \n 추가: 출력 후 줄바꿈을 적절히 추가하여 가독성을 높입니다.
    3. 버퍼 오버플로우 주의: printf는 입력 크기를 제한하지 않으므로, 대용량 문자열 출력 시 주의합니다.

5. 실전 예제: 계산기 출력

#include <stdio.h>

int main() {
    int a = 10, b = 3;
    printf("덧셈: %d + %d = %d\n", a, b, a + b);
    printf("뺄셈: %d - %d = %d\n", a, b, a - b);
    printf("곱셈: %d * %d = %d\n", a, b, a * b);
    printf("나눗셈: %d / %d = %.2f\n", a, b, (float)a / b);
    return 0;
}

출력 결과:

덧셈: 10 + 3 = 13
뺄셈: 10 - 3 = 7
곱셈: 10 * 3 = 30
나눗셈: 10 / 3 = 3.33

6. 결론

printf 함수는 C 언어에서 데이터를 화면에 출력하는 가장 기본적이고 중요한 함수입니다. 다양한 서식 지정자와 옵션을 적절히 사용하면 출력 포맷을 자유롭게 제어할 수 있습니다. printf를 활용한 풍부한 연습은 C 프로그래밍 실력을 향상시키는 지름길입니다.