저번에는 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는 정~말로 자주 쓰이니 꼭 기억하는 것이 좋습니다.
특히 서식 문자의 경우 모르면 자꾸 검색하게 되니 외워두시면 편하고요.
(아, 제 블로그로 오셔서 보실 거면 안 외우셔도 됩니다.)
다음에는 변수에 관하여 알아보도록 하겠습니다.
그럼, 다음 포스팅에서 뵙시다!
'IT > C and C++' 카테고리의 다른 글
[C] 함수란 무엇이고, 어떻게 사용하나요? (1/2) (0) | 2022.12.30 |
---|---|
[C] 변수란 무엇이고, 어떻게 사용하나요? (0) | 2022.12.29 |
[C] Hello, World 예제 분석 (0) | 2022.12.29 |
[C] visual studio 2022 설치 및 작동 (0) | 2022.12.29 |
[C]프로그래밍을 시작하는 방법 (0) | 2022.12.29 |
댓글