C++의 자료형
위와 같이 수많은 자료형이 존재한다. C의 자료형과 유사해서 배웠던 사람이라면 크게 어렵지 않을 것 같다.
signed / unsigned
먼저 같은 이름의 자료형이지만, 앞에 unsigned가 붙어있는 것을 볼 수가 있다.
여기서 signed는 부호가 있는 자료형 즉, 음수와 양수 모두를 말하며, unsigned는 부호가 없는 자료형 즉, 양수만을 말한다.
부호는 음수 앞에 붙는 -를 말한다.
하지만 자료형 앞에 signed는 대부분 생략하여 그냥 자료형만 사용하고 있다.
정수형
대표적으로 int가 있다. 보통은 4byte이지만, int 자료형은 해당 PC 시스템의 기본 연산 단위를 사용한다.
16bit = int = 2byte
32bit = int = 4byte
64bit = int = 8byte
이런 식으로 PC마다 자료형의 크기가 다를 수 있다고 한다.
int : 양수, 음수, 0을 포함한 수를 나타낼 수 있다.
unsigned int : 양수, 0을 포함한 수를 나타낼 수 있다.
short : 양수, 음수, 0을 포함한 수를 나타낼 수 있지만 int보다 적은 크기
unsigned short : 양수, 0을 포함한 수를 나타낼 수 있지만 int보다 적은 크기
long : 양수, 음수, 0을 포함한 수를 나타낼 수 있다.
unsigned long : 양수, 0을 포함한 수를 나타낼 수 있다.
bool : 1 아니면 0의 값을 통해 true와 false를 나타낼 수 있다.
실수형
float : 소숫점 단위 표현이 가능하며 소수점 7자리까지 표현이 가능하다.
double : 소숫점 단위 표현이 가능하며 소수점 15자리까지 표현이 가능하다.
long double : 소숫점 단위 표현이 가능하며 소수점 19자리까지 표현이 가능하다.
문자형
char : 간단한 문자들을 나타낼 수 있다.
C++ 연산자
산술 연산자
가장 기본적으로 많이 쓰이는 연산자이다. 하지만 / 연산자는 일반적인 수학과는 다르다.
실수형끼리 / 연산 시에는 결과값도 실수형으로 나오지만,
정수형끼리 / 연산 시에 결괏값도 정수형으로 나오므로 주의해야 한다.
대입 연산자
변수에 어떤 값을 집어넣는 동작으로, 변수의 값을 변경할 때 사용한다.
복합 대입 연산자도 있는데, a = a + 3; 과 a += 3; 은 같은 문장이라는 것을 알면 된다. 이처럼 복합 대입 연산자 사용 시,
변수를 두번 활용할 필요 없이 편하게 사용할 수 있다. 하지만 복잡한 연산에는 사용하지 않는 것이 좋다.
증감 연산자
피연산자를 1씩 증가시키거나 감소시키는 연산자를 말한다.
루프의 제어 변수처럼 순서대로 어떤 작업을 할 때 사용하는 변수이다.
예를 들어 a = a + 1; 또는 a += 1; 또는 a++; 모두 값이 동일하다.
그런데 전위형과 후위형이 있는데, 전위형은 증감 연산자가 피연산자 앞에 위치한다. ( ++a; )
따라서 일단 값을 먼저 증가시킨 뒤 결과를 리턴해준다.
반대로 후위형은 증감연산자가 피연산자 뒤에 위치하여, 먼저 리턴 후에 증가시켜준다.
비교 연산자
피연산자가 두개 있는 이항 연산자로, 좌변과 우변을 비교하여 같은지, 다른지, 다르다면 어느 쪽이 큰지 조사한다.
== 과 !=는 같다, 다르다의 의미로 상등 연산자라고 불린다.
여기서 비교 연산자는 수식을 비교하고 결괏값이 참이면 1(true), 거짓이면 0(false)을 나타낸다.
논리 연산자
두 개 이상의 조건식을 결합하여 하나의 값을 만들어낸다.
&&은 두 논리식이 모두 참이어야 한다는 뜻이고, || 은 두 논리식 중 하나만 참이면 참이 된다는 뜻이다.
비트 연산자
논리 연산자와 비슷하지만 대상이 비트를 대상으로 연산을 한다.
비트 연산은 메모리 공간에 직접 접근할 수 있어서 섬세한 처리가 필요로 할때 사용한다.
~ 는 비트를 반전 시킨다.( 0을 1로, 1을 0으로)
& 는 대응하는 비트가 모두 1일 때 1이다.
| 는 대응하는 비트가 모두 0일때 0이다.
^ 는 두 개의 비트가 달라야 1이다.
<< 는 지정한 수만큼 왼쪽으로 비트를 이동시킨다.
>> 는 지정한 수만큼 오른쪽으로 비트를 이동시킨다.
쉬프트 연산자
비트를 지정한 수만큼 좌우로 이동시키는 연산자이다.
>>연산자는 오른쪽, <<연산자는 왼쪽으로 이동시킨다.
따라서 a<<3은 3비트 왼쪽으로 이동하라는 의미이다.
그리고 밀려나서 비는 공간은 0으로 채워진다.
조건 연산자
(조건식) ? 값 1 : 값 2 형식으로 사용하며,? 앞의 조건식이 참이라면 값 1을, 거짓이라면 값 2를 출력한다.
C++ 연산자 우선순위
위의 사진과 같이 각각의 연산자의 연산 방향을 보여주고 있다.
그리고 우선순위가 높을 수록 제일 먼저 연산해주어야 하고, 낮을수록 나중으로 연산이 밀려나므로,
잘 확인하고 주의해서 연산하도록 한다.
'코딩' 카테고리의 다른 글
로또번호 자동 생성기 (2) | 2022.10.15 |
---|---|
가위바위보 게임 (2) | 2022.10.13 |
숫자 유추해서 맞춰보기 (0) | 2022.10.12 |
계산기 만들기 (0) | 2022.10.12 |
컴파일 과정 / C++로 자기소개 만들기 (0) | 2022.10.09 |