제어 문자 — 줄바꿈·탭·따옴표 출력과 백슬래시 조합 | 기초 C언어 3.2.2
기초 C언어Chapter 03 상수 › Section 02 printf() 함수의 서식 지정
3.2.2 제어 문자
역슬래시 한 글자를 앞에 붙이면 출력의 모양이 잡힘. 2장에서 쓴 \n도 그 무리 가운데 하나. 보이지 않는 문자가 화면의 모양을 만듦.
01제어 문자란교재 47p
- printf가 하는 또 한 가지 일 — 글자를 보여 주는 것 외에, 줄을 바꾸거나 탭 간격만큼 커서를 옮기는 등 출력 장치를 제어하는 동작.
- 제어 문자(Control Character) — 이런 기능을 수행하는 보이지 않는 문자.
- ‘보이지 않는다’ = 화면에 자기 모습을 남기는 대신 커서를 움직인다는 뜻
- 이미 써 봤음 — 2장의 줄바꿈 \n이 대표적인 제어 문자.
02역슬래시와의 조합교재 47p
- 적는 방식 — 역슬래시 \ + 특정 문자 = 하나의 제어 문자. 뒤에 오는 글자가 무슨 동작을 할지 정함.
- 이름이 둘 — 교재의 백슬래시와 이 글의 역슬래시는 같은 기호. 2장 주석에 쓴 슬래시 //와는 다른 기호.
- 기억해 둘 것 — 소스 코드에는 두 글자로 적지만 컴퓨터가 다루는 것은 둘을 합친 문자 하나. 그래서 이름이 ‘제어 문자’.
03주요 제어 문자 일곱 가지교재 47p
| 제어 문자 | 이름 | 설명 |
|---|---|---|
| \n | New Line | 커서를 다음 줄의 처음으로 이동(개행) |
| \t | Tab | 커서를 다음 탭(일반적으로 4~8칸) 위치로 이동 |
| \r | Carriage Return | 줄은 그대로 두고 커서만 그 줄의 맨 처음으로. 뒤에 찍는 글자가 기존 글자 위에 덮임 |
| \b | Backspace | 커서를 왼쪽으로 한 칸 이동. 이름과 달리 글자를 지우지는 않음 |
| \\ | Backslash | 역슬래시 문자 자체를 출력 |
| \" | Double Quote | 큰따옴표 문자 자체를 출력 |
| \' | Single Quote | 작은따옴표 문자 자체를 출력 |
04일곱 가지는 두 갈래교재 47p
한꺼번에 외우지 말 것. 하는 일로 나누면 넷과 셋.
1커서를 옮기는 넷
- \n \t — 다음 줄, 다음 탭 자리로 나아감.
- \r \b — 지금 있는 줄 안에서 뒤로 돌아감.
- 화면에 자기 모습을 남기지 않음.
2문자를 그대로 찍는 셋
- \\ \" \' — 기호 노릇을 하던 글자를 평범한 글자로 되돌림.
- 앞의 넷과 달리 화면에 실제로 찍힘.
- 일곱을 묶는 것 — ‘보이지 않는다’는 성질이 아니라 역슬래시로 시작해 적는다는 방식.
- 두 번째 갈래가 필요한 이유
- 큰따옴표는 문자열의 끝을 알리는 기호. 그냥 적으면 컴파일러가 거기서 문자열이 끝난 줄 알고 오류
- 역슬래시 자신도 뒷글자와 묶이는 표시이니, 글자로 찍으려면 두 번 적음
- 작은따옴표는 조금 다름 — 큰따옴표 안에서는 그냥 적어도 되고, \' 표기는 4장에서 쓰게 됨
05다섯 줄에 모두 담기교재 48p
CODE 3.2 | 제어 문자의 활용
#include <stdio.h>int main(void) {printf("안녕하세요.\n만나서 반갑다.\n\n");printf("이름\t나이\t지역\n");printf("홍길동\t25\t서울\n");printf("그는 \"안녕!\"이라고 말했다.\n");printf("파일 경로는 C:\\Program Files 이다.\n");return 0;}
RESULT
안녕하세요. 만나서 반갑다. 이름 나이 지역 홍길동 25 서울 그는 "안녕!"이라고 말했다. 파일 경로는 C:\Program Files 이다.
- 빈 줄이 생긴 이유 — 03줄 끝에 \n을 두 번 적었기 때문. 둘 다 줄만 바꾸는데 그 사이에 찍을 글자가 없어 한 줄이 빔.
- 열이 맞은 이유 — \t는 앞 글자가 몇 개든 다음 탭 위치까지 커서를 밀어 줌. ‘이름’과 ‘홍길동’은 길이가 다른데도 그다음 칸이 같은 자리에서 시작.
- 역슬래시가 사라짐 — 코드의 \"는 큰따옴표만 남고, 두 개였던 \\는 하나로 찍힘.
06줄별로 무엇을 했는가교재 48p
| 줄 | 쓰인 제어 문자 | 한 일 |
|---|---|---|
| 03줄 | \n | 인사말 두 문장을 줄바꿈해 출력. 줄 끝의 두 번이 빈 줄을 만듦 |
| 04줄 | \t | 이름·나이·지역을 탭으로 구분해 제목 줄을 만듦 |
| 05줄 | \t | 홍길동의 정보를 탭으로 정렬해 내용 줄을 만듦 |
| 06줄 | \" | 큰따옴표가 들어간 문장을 그대로 출력 |
| 07줄 | \\ | 실제 역슬래시가 들어간 파일 경로를 출력 |
- 04·05줄은 한 쌍 — 하나는 제목 줄, 하나는 내용 줄. 같은 \t가 두 줄의 칸을 맞춰 줌.
이 절의 핵심 정리
- 역슬래시 + 문자 — 두 글자가 모여 하나의 기능이 된다
- 커서를 옮기는 넷 — \n \t는 앞으로, \r \b는 그 줄 안에서 뒤로
- 문자를 그대로 찍는 셋 — \\ \" \'
- 큰따옴표 안에서 적은 대로 찍히지 않는 표기는 둘 — 역슬래시로 시작하는 제어 문자, %로 시작하는 변환 지정자
- 제어 문자와 변환 지정자가 함께 printf의 출력을 읽기 좋게 만든다
강의 자료3.2.2 제어 문자
1 / 9
번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다
더 자세한 내용은 교재에서
이 글은 『기초 C언어』 47p~48p의 내용을 강의 영상에 맞춰 핵심만 간추린 요약입니다. 각 개념의 상세한 설명과 예제, 실습 코드, 임용시험 기출문제 풀이는 교재에서 다루고 있습니다.
댓글
댓글 쓰기