[C++ 스터디] 리터럴, 변수, 그리고 연산자
2022. 7. 3. 20:00ㆍ03. Resources/C, C++
728x90
반응형
리터럴
- 코드에 표시한 숫자나 스트링 같은 값
- 다양한 표준 리터럴을 제공
- 십진수 리터럴: 123
- 8진수 리터럴: 0173
- 16진수 리터럴: 0x7B
- 이진수 리터럴: 0b1111011
- 부동소수점 값: 3.14f
- 배정도 부동소수점 값: 3.14
- 단일 문자: ‘a’
- ‘0’으로 끝나는 문자 배열: “character array”
변수
선언 방식
int uninitializedIntl; -> 초기화하지 않은 변수 선언; 쓰레기값이 들어있다. int initializedInt = 7; -> 변수 초기화하면서 선언
타입 종류
(signed) int
- 부호가 있는 정수(양수와 음수)를 표현하며, 값의 범위는 컴파일러마다 다름 (대부분 4바이트다.)
(signed) short (int)
- 작은 범위의 정수 (대부분 2바이트로 표현)
(signed) long (int)
- 큰 범위의 정수 (대부분 4바이트로 표현)
(signed) long long (int)
- 아주 큰 범위의 정수를 표현. 구체적인 범위는 컴파일러마다 다르나 최소한 long 타입보다는 큼 (주로 8바이트를 사용)
unsigned (int) ; unsigned short (int) ; unsigned long (int) ; unsigned long long (int)
- 앞에 나온 정수 타입의 범위를 ≥0 으로 제한
float
- 단정도 (single) 부동소수점수(floating-point number)
double
- 배정도 (double) 부동소수점수, 정밀도가 최소한 float보다 큼
long double
- 롱배정도 (long double) 부동소수점수, 정밀도가 최소한 double보다 큼
char
- 단일 문자
char16_t
- 16비트 단일 문자
char32_t
- 32비트 단일 문자
wchar_t
- 단일 확장 (single wide) 문자, 구체적인 크기는 컴파일러마다 다름
bool
- 부울 타입. true나 false 중 하나를 값으로 가진다.
std::byte
(C++17에서 추가)- 한 바이트를 표현. C++17 이전에는 한 바이트를 char나 unsigned char로 표현. 이러한 표현은 문자를 다루는 느낌.
- std::byte로 표현하면 메모리의 한 바이트라는 의미를 명확히 드러낼 수 있음
#include <cstddef>
를 추가해야함
변수 타입 변경
캐스팅 (동적 형변환, 타입 캐스팅)
float myFloat = 3.14f; int i1 = (int)myFloat; -> C++에서는 피해야하는 방식 int i2 = int(myfloat); -> 거의 사용하지 않는 방식 int i3 = static_cast<int>(myFloat); -> 이렇게 표현하는 것이 가장 바람직
연산자
=
- 오른쪽의 값을 왼쪽의 표현식에 대입하는 이항 연산자
!
- 표현식의 참/거짓 (또는 0이 아닌 값과 0)을 반전시키는(보수를 구하는) 단항 연산자
+, -, *, /
- 덧셈, 뺄셈, 곱셈, 나눗셈을 나타내는 이항 연산자
%
- 나눗셈의 나머지를 계산하는 이항 연산자, 모드(mod), 모듈로(modulo) 또는 나머지 연산자라 부름
++
,--
- 표현식의 값에 1을 더하는 단항 연산자.
- 이 연산자가 표현식 뒤에 나오면(
x++, x-—
) 그 표현식의 결과 자체는 바뀌지 않고 다음 문장부터 1이 더해진/빼진 값이 적용(사후 증가/감소, 후행 증가/감소, post-increment/decrement) - 이 연산자가 표현식 앞에 나오면(
++x, --x
) 표현식의 결과에 곧바로 1을 더한/뺀 값이 반영(사전 증가/감소, 선행 증가/감소, pre-increment/decrement)
+=, -=, *=, /=, %=
- i = i +, -, *, /, % j;의 축약 표현
&, &=
- 양쪽에 나온 표현식끼리 비트 단위 AND 연산 수행
|, |=
- 양쪽에 나온 표현식끼리 비트 단위 OR 연산 수행
<<, >>, <<=, >>=
- 왼쪽에 나온 표현식의 비트값을 오른쪽에 나온 수만큼 왼쪽(<<) 또는 오른쪽(>>)으로 시프트한다.
^, ^=
- 양쪽 표현식에 대해 비트 단위 XOR(exclusive or, 배타적 논리합) 연산 수행
반응형
'03. Resources > C, C++' 카테고리의 다른 글
[C++/CMake] CMakeLists로 C++ 편하게(?) 컴파일 하기 (0) | 2022.07.28 |
---|---|
[C++ 스터디] 열거 타입 (enum), 구조체 (struct) (0) | 2022.07.05 |
[C++ 스터디] 네임스페이스란 (0) | 2022.07.01 |
[C++ 스터디] 소스 코드를 프로그램으로 만드는 과정 (0) | 2022.06.30 |
[C++ 스터디] 전문가를 위한 C++ 공부 시작 (0) | 2022.06.29 |