코딩 뉴비의 공부 정리 및 기록용 포스트입니다.
잘못된 내용을 바로잡아주시면 감사하겠습니다.
C++ 자료형
정수형 (int)
C++
에서 사용할 수 있는 정수 자료형은 다음과 같다.
Type |
Range |
int |
-2,147,483,648 ~ 2,147,483,647 |
long long int |
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
unsigned int |
0 ~ 4,294,967,295 |
unsigned long long int |
0 ~ 18,446,744,073,709,551,615 |
실수형 (float/double)
Type |
Range |
float |
3.4E+/-38(7개의 자릿수) |
double |
1.7E+/-308(15개의 자릿수) |
long double |
1.7E+/-308(15개의 자릿수) |
long double
과 double
의 차이는 컴파일러 종류에 의해 결정된다. 위 표는 vc++ (visual studio)
기준이다.
정밀도는 long double
쪽이 훨씬 높다.
문자형 (char)
Type |
Description |
char |
문자 하나를 저장 |
string |
여러 개의 문자를 이은 문자열을 저장 |
1
2
|
char c = 'A';
string str = "Hello";
|
string
형식을 사용하려면 <string>
헤더파일을 추가해주어야 한다.
char
는 작은따옴표(‘’), string
은 큰따옴표(“”) 를 사용한다.
불리언 형 (bool)
bool
형은 참/거짓 중 하나의 값을 갖는 자료형이다.
1
2
|
bool b1 = true; // == 1
bool b2`= false; // == 0
|
C++ 연산자 (operators)
산술 연산자 (Arithmetic Operators)
Opertator |
Operation |
+ |
덧셈 |
- |
뺄셈 |
* |
곱셈 |
/ |
나눗셈 |
% |
나눗셈(나머지) |
%
연산자는 나눗셈의 나머지를 연산한다.
1
2
3
|
int a = 3;
int b = 2;
cout << a % b;
|
/
연산자는 나눗셈을 연산하나, 정수끼리 연산하면 몫만을 얻는다.
소수점을 포함해 정확한 결과를 얻고 싶다면 적어도 한 가지의 수를 실수형으로 주어야 한다.
1
2
3
4
5
6
|
C++에서,
7/2 는 3
7.0 / 2 는 3.5
7/ 2.0 은 3.5
7.0 / 2.0 은 3.5
|
증감 연산자 (Increment and Decrement Operators)
++
연산자는 해당 값을 1만큼 증가시킨다.
--
연산자는 해당 값을 1만큼 감소시킨다.
1
2
3
4
5
6
|
// for example,
int num = 5;
++num; // 6
--num; // 5
|
증감 연산자의 위치는 연산 순서에 영향을 미친다.
1
2
3
4
5
6
7
8
|
int num = 5;
cout << ++num; // 출력: 6
cout << --num; // 출력: 5
cout << num++; // 출력: 5
cout << num--; // 출력: 6
cout << num; // 출력: 5
|
할당 연산자 (Assignment Operators)
=
은 기본적인 형태의 할당 연산자이다.
Operator |
Example |
Equivalent to |
+= |
a += b; |
a = a + b; |
-= |
a -= b; |
a = a - b; |
*= |
a *= b; |
a = a * b; |
/= |
a /= b; |
a = a / b; |
%= |
a %= b; |
a = a % b; |
비교 연산자 (Relational Operators)
주어진 표현이 참이면 1, 거짓이면 0 (1과 0은 boolean형) 을 return한다.
Operator |
Meaning |
== |
같음 |
!= |
같지 않음 |
> |
초과 |
< |
미만 |
>= |
이상 |
<= |
이하 |
1
2
3
4
5
6
7
8
9
|
// for example,
int a = 5;
int b = 6;
bool result;
result = (a == b); // false
cout << result; // 0
|
논리 연산자 (Logical Operators)
주어진 표현이 참이면 1, 거짓이면 0 (1과 0은 boolean형) 을 return한다.
Operator |
Example |
Meaning |
&& |
expr.1 && expr.2 |
논리곱(AND). 두 표현이 모두 참일 경우에만 참 |
|| |
expr.1 || expr.2 |
논리합(OR). 두 표현 중 하나라도 참이면 참 |
! |
!expr |
부정(NOT). 표현이 거짓이면 참 |
비트 연산자 (Bitwise Operators)
Operator |
Description |
& |
binary AND |
| |
binary OR |
^ |
binary XOR (배타적 논리합) |
~ |
binary One’s Complement (1의 보수) |
<< |
binary Shift Left 비트 시프트 (왼쪽) |
>> |
binary Shift Left 비트 시프트 (오른쪽) |
그 외 (Others)
Operator |
Description |
Example |
sizeof |
자료형의 size를 return |
sizeof(int); // 4 |
?: |
삼항 연산자 |
(expr) ? expr.1 : expr.2; |
& |
대상의 메모리 주소를 나타냄 |
# |
. |
구조체나 클래스에 접근하는데 사용 |
s1.x = 1; |
-> |
구조체나 클래스의 포인터 사용 |
ptr->x = 1; |
Useful Links
C++ 자료형 bool
C++ Operators