연산자
연산자(Operator)는 어떤 연산을 할지 지정하는 것을 연산자, 연산의 대상이 되는 것을 피연산자라고 한다. 예를 들어, x + y가 있을 때 x는 연산자에 x, y는 피연산자에 해당된다. 연산자는 두 가지로 나뉘는데 논리 부정처럼 피연산자가 한 개만 필요하면 단항 연산자, +처럼 피연산자가 두 개 있으면 이항 연산자라고 한다.
개요
어떤 연산을 할 지 지정하는 것을 연산자 연산의 대상이 되는 것을 피연산자라고 한다. 예를 들어, x + y가 있을 때, +는 연산자에 x,y는 피연산자에 해당된다. 논리부정 처럼 피연산자가 한 개만 필요하면 단항 연산자, + 처럼 피연산자가 두 개 있으면 이항연산자라 한다.
- 결합방식
결합방식(처리순서)는 연산자에 따라 2가지로 나뉜다.
1. ex)1+2+3 → 왼쪽에서 오른쪽으로 결합(1+2→+3)
2. ex)a=b=c=1 → 오른쪽에서 왼쪽으로 결합(c=1→b=c→a=b)
특징
- 우선순위
하나의 연산식에 여러개의 연산이 사용되었을 경우 어떤 것을 먼저 처리할 지 정하는 것으로 순서 연산자→대입 연산자→조건 연산자→논리 연산자→비트 연산자→관계 연산자→시프트 연산자→산술 연산자→단항 연산자 순으로 우선순위가 높아진다. 조금 더 자세하게 기술 하자면 증감→산술→(* / %)→산술(+ -)→시프트→관계(< <= >)→관계(== !=)→비트(& ^ |)→논리(&& ||)→조건→대입→순서로 우선순위가 높다.
종류
연산자의 종류는 산술 연산자, 관계 연산자, 비트 연산자, 논리 연산자, 할당 연산자, 기타 연산자로 나뉜다.
- 산술 연산자
가, 감, 승, 제 등의 산술 계산에 사용되는 연산자로 '+, -, *, /, %, ++, --'가 있다.
산술 연산자는 안에서도 우선 순위가 나뉘는데 증감 연산자→산술 연산자(* / %)→산술 연산자(+ -)순으로 높아진다.
산술 연산자 중 '* / %'는 우선순위가 같아 왼쪽에서 오른쪽 방향으로 순서대로 계산한다.
ex) 3 - 7 % 8 + 5
연산자 우선 순위에 따라 '7 % 8'→'3 -'→'+ 5'를 하여 답은 1이 된다.