본문 바로가기
프로그래밍/C++

[C++] 연산자 우선순위에 대한 정리

by Nessie! 2022. 6. 29.
C++ 연산자 우선순위에 대한 정리

연산자 우선순위에 대해 알아보기 전 먼저 연산자에 대해 알아보자


연산자(operator)란?

 

컴퓨터가 수행해야할 기본적인 작업 명령을 설정하는 식을 구성하는 기본단위.

즉, 말 그대로 주어진 식을 연산하는 작업을 수행하는 역할을 한다.

 

연산자에는 여러 종류가 있는데, 본문에 정리를 하기엔 매우 종류가 다양하여 관련 자료를 확인할 수 있는 게시글 링크를 달아두겠다.

매우 자세히 서술되어있어 도움이 많이 된다.

 


 

수학에서도 어떠한 식을 풀이할 때 우선순위가 있듯이, 프로그래밍 언어에서도 마찬가지로 연산자끼리의 우선순위가 존재한다. 우선순위에 맞지 않게 코드를 작성할 경우 에러가 발생할 수 있으니 꼭 주의하여 코드작성이 필요하다.

아래의 표를 참고하여 우선순위와 해당 연산자의 결합 법칙을 확인하자

 

 

연산자 우선순위 표

우선순위 연산자 설명 결합 법칙(방향)
1순위

x++ 증가 연산자(뒤, 후위)
x-- 감소 연산자(뒤, 후위)
( ) 함수 호출
[ ] 배열 첨자
. 구조체/공용체 멤버 접근
-> 포인터로 구조체/공용체 멤버 접근
(자료형){값} 복합 리터럴
2순위

++x 증가 연산자(앞, 전위)
--x 감소 연산자(앞, 전위)
+x 단항 덧셈
-x 단항 뺼셈
! 논리 NOT
~ 비트 NOT
(자료형) 자료형 캐스팅(자료형 변환)
*x 포인터 x역참조
&x x의 주소
sizeof 자료형의 크기
3순위 * 곱셈
. 나눗셈
% 나머지
4순위 + 덧셈
- 뺄셈
5순위 << 왼쪽으로 비트를 시프트
>> 오른쪽으로 비트를 시프트
6순위 < 작음(논리)
<= 작거나 같음(논리)
> 큼(논리)
>= 크거나 같음(논리)
7순위 == 같음
!= 다름
8순위 & AND(비트)
9순위 ^ XOR(비트)
10순위 | OR(비트)
11순위 && AND(논리)
12순위 || OR(논리)
13순위 ? : 삼항 연산자
14순위 = 할당
+= 덧셈 후 할당
-= 뺼셈 후 할당
*= 곱셈 후 할당
/= 나눗셈 후 할당
%= 나머지 연산 후 할당
<<= 비트를 왼쪽으로 시프트 한 후 할당
>>= 비트를 오른쪽으로 시프트한 후 할당
&= 비트 AND 연산 후 할당
^= 비트 XOR 연산 후 할당
|= 비트 OR연산 후 할당
15순위 , 쉼표 연산자

 

 

 

'프로그래밍 > C++' 카테고리의 다른 글

C++ vector  (0) 2022.07.27
STL  (0) 2022.07.27
C++ 자료형에 대한 정리  (0) 2022.06.29
2022-06-21 / C++ 입문 야구게임 / exe  (0) 2022.06.28
2022-06-20 / c++ 입문 / 구구단 세로 / exe  (0) 2022.06.28

댓글