연산자
- 변수의 값을 변경/이용하기 위해 연산자를 사용한다.
- 연산이 복잡하면 괄호를 이용하여 실행 순서를 명확하게 드러내는 것이 좋다.
// 순서를 파악하기 어려운 코드
int i = a + b * c + d / e % f;
// 괄호로 순서를 명확하게 드러낸 코드
int i = a + ( b * c ) + (( d / e ) % f );
연산자 종류
- 단항(unary) 연산자
- 이항(binary) 연산자
- 삼항(ternary) 연산자
| 종류 | 연산자 | 설명 | 사용 예 |
| 단항연산자 | ! | 참 -> 거짓, 거짓 -> 참 으로 반전시킨다. | bool a = !true; false를 대입한 것과 같다. |
| ++ | 값을 1 증가시킨다. | i++; | |
| -- | 값을 1 감소시킨다. | i--; | |
| 이항연산자 | = | 오른쪽의 값을 왼쪽에 대입한다. | i = j; |
| + | 더하기 | i = j + k; | |
| - | 빼기 | i = j - k; | |
| * | 곱하기 | i = j * k; | |
| / | 나눗셈의 몫 | i = j / k; | |
| % | 나눗셈의 나머지 | i = j % k; | |
| += | 왼쪽의 값만큼 자기 자신의 값에 더한다. | 두 식은 같다. i += j; i = i + j; |
|
| -= | 왼쪽의 값만큼 자기 자신의 값에서 뺀다. | 두 식은 같다. i -= j; i = i - j; |
|
| *= | 왼쪽의 값만큼 자기 자신의 값에 곱한다 | 두 식은 같다. i *= j; i = i * j; |
|
| /= | 왼쪽의 값만큼 자기 자신의 값에 나눈 몫을 대입한다. | 두 식은 같다. i /= j; i = i / j; |
|
| %= | 왼쪽의 값만큼 자기 자신의 값에 나눈 나머지를 대입한다. | 두 식은 같다. i %= j; i = i % j; |
|
| & | 비트 단위 AND 연산을 수행한다. | i = j & k; | |
| &= | i &=j; | ||
| | | 비트 단위 OR 연산을 수행한다. | i = j | k; | |
| |= | i |=j; | ||
| ^ | 비트 단위 XOR 연산을 수행한다. | i = j ^ k; | |
| ^= | i ^=j; | ||
| << | 비트 값을 왼쪽으로 시프트(이동) 시킨다. | i = j << k; | |
| <<= | i <<=j; | ||
| >> | 비트 값을 오른쪽으로 시프트(이동) 시킨다. | i = j >> k; | |
| >>= | i >>=j; | ||
| 삼항연산자 | a ? b : c | a 가 참이면 b, 거짓이면 c | 아래의 코드 참고 |
삼항연산자 사용법
아래의 코드에서 result 값은
int temp = 100;
int result = 0;
result = temp == 1 ? -100 : 100;
더보기
temp의 값 100과 1 은 다르므로 result 는 -100
삼항 연산자는가독성이 좋지 않으므로 다음 시간에 포스팅 할 조건문을 활용하는 것이 좋습니다.
'프로그래밍언어 > C++' 카테고리의 다른 글
| [c++] 4. 기초정리(4)- 열거 타입 enum 사용법 (0) | 2022.06.11 |
|---|---|
| [C++] 2. 기초 정리(2) - 리터럴, 변수, 자료형 (0) | 2022.06.10 |
| [C++] 1. 기초 정리(1) - 주석, 전처리 지시자, 헤더 파일, main()함수, iostream, namespace (0) | 2021.12.25 |