관리자 글쓰기
C++ 프로그래밍의 기본2
2022. 2. 15. 21:21 - pingu-s

예제) 다양한 자료형의 출력

문자, 수치, 문자열과 같은 다양한 문자열을 출력하는 코드를 작성해 보도록 한다.

#include <iostream>
using namespace std;

int main()
{
	cout << 'A' << '\n';
	cout << "환영합니다 C++!\n";
	cout << 123 << '\n';

	return 0;
}

 

코드 내의 'A'와 "환영합니다 C++!", 123이란 특정의 문자와 수치의 표기를 C++에서는 리터럴(literal)이라고 한다. 다음과 같이 4개로 분류된다.

  • 문자 리터럴
  • 문자열 리터럴
  • 수치 리터럴
  • 논리 리터럴

 

문자 리터럴

 

1개의 문자 / 문자열의 2종류의 리터럴을 구별해서 취급한다. 1개의 문자는 문자 리터럴(character literal)이라 부른다.

'H'
'e'

이것은 위와 같이 ' '로 싸서 코드 내에 기술한다.

 

키보드로부터 입력할 수 없는 특수한 문자도 있는데 이와 같은 문자에 관해서는 \를 최초에 붙인 2개의 문자 쌍으로 [1문자분]을 나타낼 수 있다. 이것을 이스케이프 시퀀스(escape sequence)라고 한다.

 

에스케이프 시퀀스 의미
\a 경고음
\b 백스페이스
\f 페이지 바꾸기
\n 개행
\r 복귀
\t 수평 탭
\v 수직 탭
\\ \
\' '
\" "
\? ?
\ooo 8진수 ooo의 문자 코드를 가지는 문자(o는 0~7의 숫자)
\xhh 16진수 hh의 문자 코드를 가지는 문자(h는 0~9의 숫자와 A~F의 영문자)

 

문자에 관해 사실은 컴퓨터의 내부에서는 문자도 수치로 처리된다. 이와 같이 각 문자의 모양에 대응하는 수치를 문자(character code)라고 한다. 문자 코드의 종류에는 ASCII, Unicode 등이 있다.

 

문자열 리터럴

 

문자 1문자에 대해 여러 개의 문자의 정렬을 문자열 리터럴(string literal)이라고 한다. C++에서는 문자열은 문자와 달리 ' '가 아니고 " "로 묶어서 기술한다. (배열에서 다시 배움)

 

수치 리터럴

 

수치에는 다음과 같은 종류가 있다.

 

  • 정수 리터럴(integer literal) 1, 30, 199 등
  • 부동 소수점수 리터럴(floating literal) 3.5, 3.14, 1,1414 등

 

수치의 리터럴은 ' '와 " "로 묶지 않고 기술하는 것에 주의 하도록 한다. 정수 리터럴은 8진수, 16진수로 수치를 표기할 수도 있다.

 

  • 8진수 → 수치의 첫번째에 0을 붙인다.
  • 16진수 → 수치의 첫번째에 0x를 붙인다.

 

예제) 10진수 이외의 표기

수치 리터럴을 10진수, 8진수, 16진수로 출력하는 코드를 작성해 보도록 한다.

#include <iostream>
using namespace std;

int main()
{
	//10진수 이외의 표기를 사용한다.
	cout << "10진수의 10은 " << 10 << "이다.\n";
	cout << "8진수의 10은 " << 010 << "이다.\n";
	cout << "16진수의 10은 " << 0x10 << "이다.\n";
	cout << "16진수의 F는 " << 0xF << "이다.\n";

	return 0;
}

 

 

출처: 박흥복서정희. 2015. C++ 프로그래밍 (초보자를 위한). 문운당

'개발 > C++' 카테고리의 다른 글

C++ 변수  (0) 2022.02.17
C++ 프로그래밍의 기본3  (0) 2022.02.17
C++ 프로그래밍의 시작  (0) 2022.02.15
C++ 프로그래밍의 기본  (0) 2022.02.15
C++ 참조자  (0) 2022.02.09