C++

C++ 리터럴(Literals) 총정리

수달정보보호 2024. 2. 20. 21:33

1. 리터럴의 개념

C++ 프로그래밍 언어에서 우리는 고정된 값을 나타내기 위해 리터럴을 사용한다. 즉, 상수 값을 나타내는 데 사용되는 기본 요소인 것이다. 이러한 상수에는 숫자, 문자, 문자열 등이 포함될 수 있다. 리터럴을 이해하고 사용하는 것은 데이터 할당, 계산 및 데이터 표현에 C++에서 필수적이라 할 수 있다. 이들은 일반적으로 할당 작업에서 오른쪽 피연산자로 표시된다. C++에서의 리터럴 종류로는 위 그림에서 알 수 있듯, ① 정수 리터럴 ② 부동소수점 리터럴 ③ 문자 리터럴 ④ 문자열 리터럴 ⑤ 논리 자료형 리터럴이 존재한다.

2. 정수 리터럴(Interger Literal)

C++의 정수 리터럴은 분수나 소수 부분이 없는 정수를 나타내는 상수다. 그것들은 양수일 수도 있고 음수일 수도 있고 십진법, 팔진법, 16진법과 같은 다른 기수를 가질 수도 있다.

 

예시:

int integerLiteral = 42;

 

예시2:

// C++ Proram to illustrate the use of integer literals
#include <iostream>
using namespace std;

int main()
{

     int age = 35; // An integer literal
     cout << "Age: " << age << endl;
     return 0;
}

 

출력:

Age: 35

 

그런데 C++에서 정수 리터럴은 위에서도 한 번 논했듯, 그 안에서 또 다양한 유형으로 분류할 수 있다.

 

① 10진수 리터럴(접두사 없음)

십진 리터럴은 접두사가 없는 10진법의 정수를 나타낸다.

예시:

int decimal = 42;

 

② 8진수 리터럴(접두사 0)

8진수 리터럴은 베이스 8의 정수를 나타내며, 0 접두사 앞에 붙는다.

예시:

int octal = 052; // 42 in decimal

 

③ 16진수 리터럴(접두사 0x or 0X)

16진수 리터럴은 베이스 16의 정수를 나타내며, 그 앞에 0x 또는 0X 접두사가 붙는다.

예시:

int hexadecimal = 0x2A; // 42 in decimal

 

④ 2진 리터럴(접미사 b or B)

이진 리터럴은 기본 2의 정수를 나타내며, 접미사가 b 또는 B일 수 있다.

예시:

int binary = 0b101010; // 42 in decimal

 

⑤ long 정수 리터럴(접미사 l or L)

긴 정수 리터럴은 l 또는 L과 접두사를 붙여 long int 유형임을 나타낼 수 있다.

예시:

long int longInteger = 42L;

 

long long 정수 리터럴(접미사 ll or LL)

long long 정수 리터럴은 l 또는 LL과 접두사를 붙여 long long int 유형임을 나타낼 수 있다.

예시:

long long int longLongInteger = 42LL;

 

⑦ 부호가 없는 정수 리터럴(접미사 u or U)

부호가 없는 정수 리터럴은 u 또는 U와 접두사를 붙여 부호가 없는 int 형식임을 나타낼 수 있다.

예시:

unsigned int unsignedInt = 42U;

3. 부동소수점 리터럴(Float Literal)

C++의 부동소수점 리터럴은 분수 또는 소수점 부분이 있는 숫자를 나타내는 상수다. 이것들은 단정밀도 또는 배정밀도 값일 수 있다.

정수 리터럴과 마찬가지로, 부동소수점 리터럴도 접미사와 f를 각각 사용하여 double 또는 float으로 정의할 수 있다. C++ 컴파일러는 기본적으로 모든 분수 수를 double 유형으로 간주한다.

 

예시:

double floatLiteral = 3.14;

 

예시2:

// C++ program to illustrate the floating point literals
#include <iostream>
using namespace std;

int main()
{
     // float literal
     float e = 2.7f;

     // double literal
     double pi = 3.14;

     // long double literal
    long double g = 9.8L;

     cout << "The Value of pi: " << pi << endl;
     cout << "The value of e: " << e << endl;
     cout << "The value of g: " << g << endl;
     return 0;
}

 

출력:

The Value of pi: 3.14
The value of e: 2.7
The value of g: 9.8

4. 문자 리터럴(Character Literal)

C++의 문자 리터럴은 개별 문자 또는 이스케이프 시퀀스를 나타내는 상수다. 이들은 단일 따옴표로 둘러싸여 있으며 이를 사용하여 단일 문자를 나타낼 수 있다.

* 이스케이프 시퀀스: 백슬래시(\) 뒤에 한 문자나 숫자 조합이 오는 문자 조합

 

예시:

char charLiteral = 'A';

 

예시2:

// C++ program to illustrate the use of charater literal
#include <iostream>
using namespace std;

int main()
{
     char grade = 'A';

     cout << "Grade: " << grade << endl;
     return 0;
}

 

출력:

Grade: A

5. 문자열 리터럴(String Literal)

C++의 문자열 리터럴은 문자의 시퀀스를 나타내는 상수다. 문자는 큰 따옴표로 둘러싸여 있으며, 텍스트 또는 문자 시퀀스를 나타내는 데 사용할 수 있다.

 

예시:

const char* stringLiteral = "Hello, World!";

 

예시2:

// C++ program to illustrate the string literals
#include <iostream>
using namespace std;

int main()
{
     const char* message = "Hello, Gutilog!";
     cout << "Message: " << message << endl;
     return 0;
}

 

출력:

Message: Hello, Gutilog!

6. 논리 자료형 리터럴(Boolean Literal)

논리 자료형 리터럴은 진리 값을 나타내며, 가능한 값은 True와 False 두 가지뿐이다. 이 값들은 논리 자료식과 논리 연산에 사용된다.

 

예시:

// C++ program to illustrate the use of boolean literal
#include <iostream>
using namespace std;

int main()
{
     // using boolean literals
     bool isTrue = true;
     bool isFalse = false;

     if (isTrue) {
          cout << "is True is true" << endl;
     }
     else {
          cout << "isTrue is false" << endl;
     }

     if (isFalse) {
          cout << "isFalse is true" << endl;
     }
     else {
          cout << "isFalse is false" << endl;
     }
     return 0;
}

 

출력:

isTrue is true
isFalse is false

728x90

'C++' 카테고리의 다른 글

C++ if문 총정리  (0) 2024.03.08
C++ 데이터 타입 총정리  (0) 2024.02.21
C++ 정적 키워드 총정리  (0) 2024.02.20
C++ 변수(Variables)의 범위- 지역, 전역 총정리  (0) 2024.02.17
C++ 변수(Variables) 총정리  (1) 2024.02.17