이스케이프 시퀀스
이스케이프 시퀀스(Escape Sequence)는 컴퓨터와 주변 기기의 상태를 바꾸는 데에 쓰이는 일련의 문자열입니다
이스케이프 시퀀스는 이스케이프 문자를 이용하여 이를 따르는 문자들의 뜻을 바꿀 수 있는데 여기서 문자들은 데이터가 아닌 실행 명령어로 해석할 수 있습니다
제어 시퀀스(Control Sequence), 확장 비트열이라고도 부릅니다
이스케이프 시퀀스 | 의미 | 기타 |
\' | 작은 따옴표 (Single Quotes) | \를 문자 상수로 사용 |
\" | 큰 따옴표 (Double Quotes) | \를 문자 상수로 사용 |
\? | 물음표 | |
\\ | 백슬래시(\) | \를 문자 상수로 사용 |
\a | 경고음 발생 (Alert) | 일부 시스템에서는 효과X |
\b | 백스페이스 (Backspace) | 현재 활성 위치의 라인에서 활성 위치를 한 스페이스 뒤로 옮김 |
\n | 줄바꿈 (New Line) | 현재 활성 위치를 다음 줄의 시작 위치로 옮김 |
\r | 캐리지 리턴 (Carriage Return) | 현재 활성 위치를 현재 라인의 시작 위치로 옮김 |
\t | 수평 탭 (Horizontal Tab) | 현재 활성 위치를 수평 탭의 다음 위치로 옮김 |
\v | 수직 탭 (Vertical Tab) | 현재 활성 위치를 수직 탬의 다음 위치로 옮김 |
\f | 폼 피드 (Form Feed) | 현재 활성 위치를 다음 페이지의 시작 위치로 옮김 |
\ooo | 8진수 숫자를 사용하여 ASCII 코드의 문자 표현 | |
\xhh | 16진수 숫자를 사용하여 ASCII 코드의 문자 표현 | |
\xhhh | 16진수 숫자를 사용하여 유니코드 문자 표현 |
print("Hello\nWorld");
print("\"Hello, World\"");
Hello
World
"Hello, World"
이스케이프 시퀀스에서 \f와 \v는 프린터로 출력할 때에만 의미를 가집니다
(간혹 글꼴 떄문에 \가 \로 보일 수 있는데 의미는 동일합니다)
서식 지정자
서식 지정자 (Format Specifiers)는 컴퓨터가 어떤 정보를 어떻게 해석할 지를 결정해 주는 것입니다
printf() 함수에서는 이러한 서식 지정자를 통해 데이터의 서식을 사용자가 직접 지정할 수 있습니다
서식 지정자 | 출력 데이터 형태 |
%c | 하나의 문자 |
%s | 문자열 |
%d | 부호 있는 10진 정수 |
%i | %d와 동일 |
%f | 고정 소수점으로 표현한 실수 (소수점 이하 6자리까지 표현) |
%o | 부호 없는 8진 정수 |
%u | 부호 없는 10진 정수 |
%x | 부호 없는 16진 정수 (소문자 사용) |
%X | 부호 없는 16진 정수 (대문자 사용) |
%e | 부동 소수점으로 표현한 실수 (e-표기법) |
%E | 부동 소수점으로 표현한 실수 (E-표기법) |
%g | 값에 따라 %f나 %e를 사용 |
%G | 값에 따라 %f나 %E를 사용 |
%% | 퍼센트(%) 기호 출력 |
printf("정수는 %d, \n 문자열은 %s", 123, "가나다");
정수는 123,
문자열은 가나다
이렇게 여러 개의 서식 지정자를 사용할 수 있습니다
(순서와 타입은 출력할 데이터의 순서와 타입과 일치해야 합니다)
더보기
참고 및 출처
TCP School
Github.io (atomic0x90)
위키백과 (이스케이프 시퀀스)
728x90
반응형
'Programming > C' 카테고리의 다른 글
[C언어] 연산자 - 산술 연산자와 대입 연산자 (0) | 2022.04.01 |
---|---|
[C언어] 연산자 - 연산자의 우선 순위와 결합 방향 (0) | 2022.04.01 |
[C언어] 데이터 타입 (자료형) (0) | 2022.03.31 |
[C언어] 변수와 상수 (0) | 2022.03.31 |
[C언어] 표준 입출력 함수 printf(), scanf() (0) | 2022.03.28 |
댓글