함수 | 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 |
댓글