본문 바로가기
Programming/C

[C언어] 이스케이프 시퀀스, 서식 지정자

by 고간디 2022. 3. 31.

이스케이프 시퀀스

이스케이프 시퀀스(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
반응형

댓글