본문 바로가기
IT/C

[C] printf 함수

by 검은바람땅 2022. 12. 26.
함수 printf(const char* Format, ...);
헤더 파일 stdio.h
의미 console 화면에 문자열을 출력한다.
응용 서식자 등의 다양한 활용이 가능
활용 printf("Hello, World!"); -> Hello, World
printf("국어 : %d점, 수학 : %d점", 90, 65); -> 국어 : 90점, 수학 : 65점

문자열을 출력해주는 기본적인 함수이다.

C 배울 때 가장 처음으로 배우는 함수이다.

 

서식자

서식자를 지정하고, 추가 인수를 전달함으로서 다양한 활용이 가능하다.

 

서식자에는 다음과 종류를 자주 사용한다.

서식자 출력 출력예시
%d 정수 출력 12
%f, %lf 실수 출력 - (%f는 float 자료형, %lf는 double 자료형이나, 출력에는 상관없음) 12.34
%c 문자 출력 A
%s 문자열 출력 AbC
%x 16진수 출력 FF (10진수로 255)
%o 8진수 출력 14 (10진수로 12)
%u unsigned int(부호없는 정수) 출력 12
%e 진수 형태의 출력 1.00000e+05

활용 - 소스코드

#include <stdio.h>

int main() {
	printf("Hello World");
}



/*
output
----------------------------
Hello World
----------------------------
*/

printf를 사용했으므로, output에서 Hello World가 출력된다.

위의 #include와 int main() 구문에 대한 것은 다른 포스팅으로 다루겠다.

지금은 '그냥 이러한 형식이구나' 정도로 넘어가자

#include <stdio.h>

int main() {
	printf("%s : %f, %s : %d%c, %s : %c", "국어", 98.5, "등수", 3, '등', "성취", 'A');
}

/*
---------------------
output
국어 : 98.5, 등수 : 3등, 성취 : A
---------------------
*/

의미는 없다. 특히, "국어"와 같은 상수 부분은 그냥

printf("국어 : ...");

로 바꾸어 주는 것이 좋다

 

어쨌든 이 프로그램을 보고서 결과를 예측할 수 있으면 서식자에 관련해서는 거의 배운 것이다.

 

Escape Sequence

printf에는 서식자 말고도 많다.

종류는 다음과 같다

Escape Sequence 의미
\0 NULL, 공백 문자
\a BELL, 경보 문자
\b BACK SPACE, 백스페이스
\f Form Feed, 새 페이지로
\n New Line, 다음 줄로
\r Carriage Return, 현재 행의 처음으로
\t horizontal tab, 수평탭
\v vertical tab, 수직탭
\0(숫자) \x(숫자) 8진수, 16진수
\(특수문자) ", \ 등의 특수한 문자의 출력

대충 \t, \n만 알아도 충분하다.

그 외에도 \(특수문자)의 경우 대충 개념을 알고가자

"는 문자열을 구분하는 기호이므로,

[" is double quote]라는 문장을 문자열로 나타내면

"" is double quote" 가 아니라

"\" is double quote" 가 되는 것이다.

 

활용 - 소스코드

#include<stdio.h>

int main() {
	printf("\nHAPPY\n");
    printf("\' is single quote");
    printf("\" is double quote");
}


/*
------------------
output

HAPPY
' is single quote" is double quote
------------------
*/

이렇게 된다.

 

오늘은 가장 기본적인 입출력 함수 - printf에 대하여 알아보았다.

'IT > C' 카테고리의 다른 글

[C] 변수  (0) 2022.12.28
[C] Main 함수  (0) 2022.12.27
[c][알고리즘] n-Queen  (0) 2022.12.26
[C] include  (0) 2022.12.26

댓글