지난번 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으로 채움
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였는데, 정교하게 출력 형식을 맞추는 법을 배우니 코딩이 더 세밀해진 기분입니다. 특히 시험에서는 눈으로 풀 때 공백 한 칸 차이로 오답이 갈릴 수 있으니, 출력 폭에 대한 규칙은 꼭 손으로 그려보며 연습해야될 것 같습니다 :)
'정보처리기사' 카테고리의 다른 글
| [정처기/C언어] 아스키코드(ASCII) 암기 필수 리스트 (0) | 2026.01.14 |
|---|---|
| [정처기/C언어] scanf 함수 사용법 및 주의사항 | C언어 프로그래밍 언어 활용 (0) | 2026.01.12 |
| [정처기 필기] DAS vs NAS vs SAN 스토리지 특징 차이점 비교 정리 (0) | 2026.01.11 |
| [정보처리기사 필기] 화이트박스 vs 블랙박스 테스트 정리: 애플리케이션 테스트 기법 (0) | 2026.01.10 |
| [정보처리기사 필기] 프로시저, 트리거, 사용자 정의 함수 정리: 절차형 SQL 핵심 비교 (0) | 2026.01.09 |
댓글