본문 바로가기
정보처리기사

[정처기/C언어] printf 함수 완벽 가이드 | 출력 서식과 이스케이프 시퀀스 정리

by 새벽의 아키비스트 2026. 1. 13.

지난번 scanf에 이어 이번에는 데이터를 화면에 보여주는 printf() 함수를 가져왔습니다. 단순히 글자를 찍는 것 같지만, 시험에서는 출력되는 칸수정렬 방향을 묻는 까다로운 문제들이 나오곤 하죠. 제가 직접 공부하며 헷갈렸던 서식 지정 방법들을 깔끔하게 정리해 봤습니다!

 

 

 

 

1. printf() 함수의 기본 구조

printf는 "print formatted"의 약자로, 서식에 맞춰 데이터를 출력하는 함수입니다.

printf("출력 서식", 변수 또는 값);

scanf와 달리 변수명 앞에 &를 붙이지 않습니다. 단순히 값을 읽어서 출력하기 때문이죠!

 

2. 자주 쓰이는 출력 서식

어떤 형태로 보여줄지 결정하는 약속입니다.

  • %d: 10진수 정수 출력
  • %f: 실수 출력 (기본 소수점 6자리)
  • %c: 문자 1개 출력
  • %s: 문자열 출력
  • %x / %o: 16진수 / 8진수 출력

 

3. 시험 단골! 출력 폭 지정과 정렬

실기 시험에서 가장 많이 나오는 함정입니다. 숫자를 어떻게 배치하는지 꼭 확인하세요.

int a = 123;
printf("[%5d]", a); // [ 123] : 5칸 확보 후 우측 정렬
printf("[%-5d]", a); // [123 ] : 5칸 확보 후 좌측 정렬
printf("[%05d]", a); // [00123] : 5칸 확보 후 빈칸은 0으로 채움

실수 출력 제어: %.2f처럼 마침표 뒤에 숫자를 쓰면 소수점 자릿수를 지정할 수 있습니다.

 

4. 이스케이프 시퀀스

제어 문자로, 화면에 직접 나타나지 않지만 출력을 조절합니다.

기호 의미
\n 줄 바꿈 (New Line)
\t 탭 간격 띄우기 (Tab)
\\ 역슬래시(\) 자체를 출력
%% % 기호 자체를 출력

🎯 이것만 기억하면 끝!

  • %5d처럼 숫자가 붙으면 그만큼 칸을 차지한다!
  • 마이너스(-)가 붙으면 왼쪽부터 채운다!
  • 실수 %.nf는 소수점 n번째 자리까지 보여준다!
  • %%\\는 기호 자체를 찍고 싶을 때 두 번 쓴다!

단순히 화면에 글자를 찍는 용도로만 생각했던 printf였는데, 정교하게 출력 형식을 맞추는 법을 배우니 코딩이 더 세밀해진 기분입니다. 특히 시험에서는 눈으로 풀 때 공백 한 칸 차이로 오답이 갈릴 수 있으니, 출력 폭에 대한 규칙은 꼭 손으로 그려보며 연습해야될 것 같습니다 :)

댓글