Home [C++ 공부] 기초 - 자료형과 연산자
Post
Cancel

[C++ 공부] 기초 - 자료형과 연산자

코딩 뉴비의 공부 정리 및 기록용 포스트입니다.
잘못된 내용을 바로잡아주시면 감사하겠습니다.


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 doubledouble 의 차이는 컴파일러 종류에 의해 결정된다. 위 표는 vc++ (visual studio) 기준이다.

정밀도는 long double 쪽이 훨씬 높다.

문자형 (char)


Type Description
char 문자 하나를 저장
string 여러 개의 문자를 이은 문자열을 저장
1
2
char c = 'A';
string str = "Hello";

string 형식을 사용하려면 <string> 헤더파일을 추가해주어야 한다.

1
#include <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
출력 :
1

/ 연산자는 나눗셈을 연산하나, 정수끼리 연산하면 몫만을 얻는다.
소수점을 포함해 정확한 결과를 얻고 싶다면 적어도 한 가지의 수를 실수형으로 주어야 한다.

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)


= 은 기본적인 형태의 할당 연산자이다.

1
2
int num;
num = 6;
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;
& 대상의 메모리 주소를 나타냄 &num;
. 구조체나 클래스에 접근하는데 사용 s1.x = 1;
-> 구조체나 클래스의 포인터 사용 ptr->x = 1;



Useful Links

C++ 자료형 bool
C++ Operators

This post is licensed under CC BY 4.0 by the author.