본문 바로가기
IT/C and C++

[C] printf 함수를 알아보자!

by 타이모리 2022. 12. 29.

저번에는 Hello, World 소스 코드를 분석해보았습니다.

이번에는 소스 코드에 있었던 printf 함수를 좀 더 분석해보도록 하겠습니다.

목차


    printf 함수

    문자열을 출력하는 아주 기본적인 함수입니다.

    참고로 저는 '프린트에프'로 읽습니다만, '프린트프'라고 읽으시는 분들도 계시더라고요. 그래도 '프린트에프'라고 읽는 사람이 많은 걸로 알고 있습니다.

     

    함수 printf(const char* Format, ...);
    포함 헤더 파일 stdio.h
    의미 console에 입력된 문자열을 출력한다.
    응용 서식자 등을 이용한 다양한 활용이 가능
    예시 printf("Hello, World!");
    printf("국어 : %d 점. 축하드려요!", 95);

    C를 배울 때 가장 처음으로 접하는 함수이니 대충대충 읽지 마시고 꼼꼼히 읽어주셨으면 합니다.

    (이거 모르면 아무것도 못 해요!)

     

     

     

    사용


    printf("출력하고자 하는 문자열");

    로 쓰이는데, 그 외에도 다양한 사용이 가능합니다.

    위의 표에서 나왔던 예시처럼

    printf("%d", 숫자);

    로 쓰이기도 하는데 이는 서식자를 이용한 출력 방법으로 중요한 기능 중 하나입니다.

     

    서식자


    서식자는 출력하고자 하는 문자열에 내가 원하는 값을 집어넣어서 출력하고 싶을 때 사용합니다.

    이러한 서식자를 이용하면 같은 형태의 함수를 작성해도 값을 바꿔서 출력하는 것도 가능하죠?

     

    서식자는 %(문자)로 이루어져 있습니다. 다음의 표를 보시면 종류와 의미를 아실 수 있습니다.

    서식자 의미 비고 출력 예시
    %d 정수 출력   12
    %f, %lf 실수 출력 출력에는 둘 다 같은 효과 12.34
    %c 문자 출력 문자 1개 출력 A
    %s 문자열 출력 문자 여러 개 출력 ABC
    %x 16진수 출력 16진수는 0~F로 이루어짐 FF (10진수로 255)
    %o 8진수 출력 8진수는 0~7로 이루어짐 77 (10진수로 63)
    %u unsigned int(부호 없는 정수) 출력 (+)부호로만 출력 12
    %e 진수 형태로 출력 e+__ 형태를 이용 12.00000e+03

    서식자를 활용하는 방식은 다음과 같습니다.

    printf("서식자 : %d %c", 10, 'A');	//""안에 서식자를 넣고, ',' 뒤에 서식자에 입력될 값들을 순차적으로 기재

    어떻게 출력되는지 예상이 가나요?

    만약

    서식자 : 10 A

    을 예상하셨다면 잘하셨습니다!

    다른 서식자도 활용해보면서 익히시면 될 거 같습니다!

     

    참고 : C에서는 ' '와 " "를 구분합니다. ' '는 문자(1개)를 " "는 문자열(여러 개)을 표시합니다.

     

    Escape Sequence


    printf의 " "안에서는 서식자 말고도 특수한 문자를 사용하는 것이 가능합니다.

    바로 Escape Sequence입니다. 이는 \(문자) 형식으로 이용합니다.

    요놈도 자주 쓰이니 제가 (중요) 라고 표시한 Escape Sequence는 외우는 것이 좋습니다.

    Escape Sequence 의미 활용 예시
    \0 NULL, 공백 문자 \0
    \a BELL, 경보 문자 \a
    \b BACK SPACE, 백스페이스 \b
    \f Form Feed, 새 페이지 \f
    \n (중요) New Line, 다음 줄로 \n
    \r Carriage Return, 현재 행의 처음으로 \r
    \t (중요) Horizontal Tab, 수평 탭 \t
    \v Vertical Tab, 수직 탭 \v
    \0(숫자) \x(숫자) 8진수와 16진수 출력 \xFF, \077
    \(특수문자) (중요) ", \ 등의 특수한 문자를 출력 \\, \", \'

    중요하다고 표시한 경우 정말 많이 쓰입니다.

    특히 \n의 경우 개행 문자라고 해서, 행을 새로 쓰는 문자입니다.

    Enter의 개념으로 생각해주시면 편합니다. Enter 누르면 다음 줄로 넘어가게 되는 것과 같습니다.

    그 외에도 \b, \r도 가끔 쓰이기도 하니 기억해주시면 됩니다.

     

    \(특수문자) 같은 경우 \, ', ", % 등의 특수한 이유로 인해 ""안에 쓰면 특이한 효과를 내는 문자들을 출력하는 곳에 쓰입니다.

     

    마무리

    오늘은 정말 기본 중의 기본! printf 함수에 대하여 알아보았습니다.

    이 printf는 정~말로 자주 쓰이니 꼭 기억하는 것이 좋습니다.

    특히 서식 문자의 경우 모르면 자꾸 검색하게 되니 외워두시면 편하고요.

    (아, 제 블로그로 오셔서 보실 거면 안 외우셔도 됩니다.)

     

    다음에는 변수에 관하여 알아보도록 하겠습니다.

    그럼, 다음 포스팅에서 뵙시다!

    댓글