
연산자 (Operator)는 연산을 수행하는 기호로 프로그램 내에서 데이터 조작에 쓰이는 기호이다.
피연산자 (Operand)는 연산에 참여하는 변수나 상수 값을 의미한다.
연산자는 연산에 참여하는 피연산자의 갯수에 따라 단항 연산자, 이항 연산자, 삼항 연산자로 분류 가능하고, 각각 피연산자의 갯수가 1개, 2개, 3개이다.
연산자는 피연산자를 이용해 연산의 결과값을 반환하므로 함수와 성격이 같지만 함수보다 간결하게 의미를 전달할 수 있고 사용이 간편하다.
연산자의 우선 순위는 수식 내에 여러 연산자가 함께 등장할 때, "어느 연산자가 먼저 처리될 것인가?"를 결정한다.
우선 순위가 높을수록 연산자가 먼저 처리된다.
아래에 나열된 연산자 외에도 프로그래밍 언어별로 다양한 연산자들이 존재한다.
사칙 연산을 다루는 기본적이고 가장 많이 사용되는 이항 연산자이다.
왼쪽 → 오른쪽으로 연산을 진행한다.
| 연산자 | 설명 |
|---|---|
+ | 왼쪽의 피연산자에 오른쪽의 피연산자를 더함 |
- | 왼쪽의 피연산자에 오른쪽의 피연산자를 뺌 |
* | 왼쪽의 피연산자에 오른쪽의 피연산자를 곱함 |
/ | 왼쪽의 피연산자를 오른쪽의 피연산자로 나눔 |
% | 왼쪾의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 반환함 |
변수에 값을 대입할 때 사용하는 이항 연산자이다.
왼쪽 → 오른쪽으로 연산을 진행한다.
산술 연산자와 결합한 복합 대입 연산자가 존재한다.
| 연산자 | 설명 |
|---|---|
= | 왼쪽의 피연산자에 오른쪽의 피연산자를 대입함 |
+= | 왼쪽의 피연산자에 오른쪽의 피연산자를 더한 후, 그 결괏값을 왼쪽의 피연산자에 대입하는 복합 대입 연산자 |
-= | 왼쪽의 피연산자에 오른쪽의 피연산자를 뺀 후, 그 결괏값을 왼쪽의 피연산자에 대입하는 복합 대입 연산자 |
*= | 왼쪽의 피연산자에 오른쪽의 피연산자를 곱한 후, 그 결괏값을 왼쪽의 피연산자에 대입하는 복합 대입 연산자 |
/= | 왼쪽의 피연산자에 오른쪽의 피연산자를 나눈 후, 그 결괏값을 왼쪽의 피연산자에 대입하는 복합 대입 연산자 |
%= | 왼쪽의 피연산자에 오른쪽의 피연산자를 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입하는 복합 대입 연산자 |
피연산자의 값을 1 증가 또는 1 감소하기 위해 사용하는 단항 연산자이다.
연산자가 피연산자의 어느 쪽에 위치하는지에 따라 연산의 순서와 결과가 달라진다.
피연산자의 앞 쪽에 위치하는 증감 연산자이다.
| 연산자 | 설명 |
|---|---|
++X | 피연산자의 값을 가장 먼저 1 증가시킨다. |
--X | 피연산자의 값을 가장 먼저 1 감소시킨다. |
피연산자의 뒤 쪽에 위치하는 증감 연산자이다.
| 연산자 | 설명 |
|---|---|
X++ | 피연산자의 값을 제일 마지막에 1 증가시킨다. |
X-- | 피연산자의 값을 제일 마지막에 1 감소시킨다. |
피연산자 사이의 상대적 크기를 판단하는 이항 연산자이다.
왼쪽 → 오른쪽으로 연산을 진행한다.
| 연산자 | 설명 |
|---|---|
== | 왼쪽의 피연산자와 오른쪽의 피연산자가 같으면 true를 반환 |
!= | 왼쪽의 피연산자와 오른쪽의 피연산자가 같지 않으면 true를 반환 |
> | 왼쪽의 피연산자와 오른쪽의 피연산자보다 크면 true를 반환 |
>= | 왼쪽의 피연산자와 오른쪽의 피연산자보다 크거나 같으면true를 반환 |
< | 왼쪽의 피연산자와 오른쪽의 피연산자보다 작으면 true를 반환 |
<= | 왼쪽의 피연산자와 오른쪽의 피연산자보다 작거나 같으면 true를 반환 |
주어진 논리식의 참 / 거짓을 판단하는 연산자이다.
AND / OR 연산은 이항 연산자로 연산 방향은 왼쪽 → 오른쪽이다.
NOT 연산은 단항 연산자로 연산 방향은 오른쪽 → 왼쪽이다.
| 연산자 | 설명 |
|---|---|
| && (논리 AND 연산) | 주어진 논리식이 모두 참이면 true 를 반환 |
| || (논리 OR 연산) | 주어진 논리식 중 하나라도 참이면 true 를 반환 |
| ! (논리 NOT 연산) | 논리식의 결과가 참이면 false를 반환함 |
비트 단위의 논리 연산을 하는 연산자이다.
| 연산자 | 설명 |
|---|---|
| & (비트 AND 연산) | 주어진 비트가 모두 1이면 true 를 반환 |
| | (비트 OR 연산) | 주어진 비트 중 하나라도 1이면 true 를 반환 |
| ^ (비트 XOR 연산) | 주어진 비트의 값이 다르면 true 를 반환 |
| ~ (비트 NOT 연산) | 비트의 활성화 상태를 반전시킴 |
| << (left shift 연산) | 지정한 수만큼 비트들을 전부 왼쪽으로 이동 |
| >> (right shift 연산) | 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동 |
조건식 ? 반환값 1 : 반환값 2
? 앞의 조건 식에 따라 참 (true) 이면 반환값 1을 반환하고 거짓 (flase) 이면 반환값 2를 반환한다.
연산자 [전산] - 정보통신기술용어해설
[C++] 연산자 총 정리 (Operator)
[C언어] :: 연산자(대입, 산술, 복합 대입, 증감, 관계, 논리, 조건, 비트 논리, 비트 이동)
C++ 연산자 우선 순위