프로그래밍언어/C++

[c++] 3. 기초정리(3) - 연산자 - 단항연산자, 이항연산자, 삼항연산자

dan2el 2022. 6. 10. 22:59

연산자

  • 변수의 값을 변경/이용하기 위해 연산자를 사용한다.
  • 연산이 복잡하면 괄호를 이용하여 실행 순서를 명확하게 드러내는 것이 좋다.
// 순서를 파악하기 어려운 코드
int i = a + b * c + d / e % f;

// 괄호로 순서를 명확하게 드러낸 코드
int i = a + ( b * c ) + (( d / e ) % f );

연산자 종류

  1. 단항(unary) 연산자
  2. 이항(binary) 연산자
  3. 삼항(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

삼항 연산자는가독성이 좋지 않으므로 다음 시간에 포스팅 할 조건문을 활용하는 것이 좋습니다.