"연산자"의 두 판 사이의 차이
1번째 줄: | 1번째 줄: | ||
− | '''연산자'''(Operator)는 어떤 연산을 할지 지정하는 것을 연산자라하고, 연산의 대상이 되는 것을 피연산자라고 한다.<ref>, <[https://terms.naver.com/entry.nhn?docId=4383177&cid=59941&categoryId=59941 연산자 | + | '''연산자'''(Operator)는 어떤 연산을 할지 지정하는 것을 연산자라하고, 연산의 대상이 되는 것을 피연산자라고 한다. |
+ | 작업의 종류에 따라서 대입연산자, 산술연산자, 비교연산자, 논리연산자 등이 있다. | ||
+ | |||
+ | <ref name="연산자 개념 및 예시">, <[https://terms.naver.com/entry.nhn?docId=4383177&cid=59941&categoryId=59941 연산자]>, 《네이버 지식백과》</ref> | ||
== 개요 == | == 개요 == | ||
− | 어떤 연산을 | + | 어떤 연산을 할지 지정하는 것을 연산자 연산의 대상이 되는 것을 피연산자라고 한다. 예를 들어, x + y가 있을 때, +는 연산자에 x, y는 피연산자에 해당된다. |
− | + | <ref name="연산자 개념 및 예시"></ref> | |
+ | 논리 부정처럼 피연산자가 한 개만 필요하면 단항 연산자, +처럼 피연산자가 두 개 있으면 이항연산자, 세 개 있으면 삼항 연산자라고 한다. | ||
+ | <ref name="연산자">, <[https://book.naver.com/bookdb/book_detail.nhn?bid=15766742 연산자]>, 《2020 시나공 정보처리기사 필기》, 2019-11-13</ref> | ||
*'''결합방식''' | *'''결합방식''' | ||
− | 결합방식(처리순서)는 연산자에 따라 2가지로 나뉜다.<ref | + | 결합방식(처리순서)는 연산자에 따라 2가지로 나뉜다. |
+ | <ref name="연산자"></ref> | ||
# 예) 1+2+3 → 왼쪽에서 오른쪽으로 결합(1+2→+3) | # 예) 1+2+3 → 왼쪽에서 오른쪽으로 결합(1+2→+3) | ||
13번째 줄: | 19번째 줄: | ||
== 특징 == | == 특징 == | ||
*'''우선순위''' | *'''우선순위''' | ||
− | 하나의 연산식에 | + | 하나의 연산식에 여러 개의 연산이 사용되었을 경우 어떤 것을 먼저 처리할지 정하는 것이다. |
− | + | 순서는 단항 연산자→산술 연산자→시프트연산자→관계 연산자→비트 연산자→논리 연산자→조건 연산자→대입 연산자→순서 연산자 순으로 낮아진다. | |
− | + | 단, (),[]연산자는 최우선 연산자로 ()는 우선순위 변경을 위해 사용되며, []는 배열의 크기나 첨자를 나타낼 때 사용한다. | |
− | + | <ref name="연산자"></ref> | |
− | + | :{|class=wikitable width=700 style="background-color:#ffffee" | |
+ | |+연산자 우선순위 | ||
+ | !align=center style="background-color:#ffeecc"|대분류 | ||
+ | !align=center style="background-color:#ffeecc"|중분류 | ||
+ | !align=center style="background-color:#ffeecc"|연산자 | ||
+ | !align=center style="background-color:#ffeecc"|결합규칙 | ||
+ | |- | ||
+ | |align=center|단항 연산자 | ||
+ | |align=center|단항 연산자 | ||
+ | |align=center|!(논리 not), ~(비트 not), ++, --, sizeof(기타) | ||
+ | |align=center|← | ||
+ | |- | ||
+ | |align=center|이항 연산자 | ||
+ | |align=center|산술 연산자 | ||
+ | |align=center|*, /, %(나머지) | ||
+ | |align=center|→ | ||
+ | |- | ||
+ | |align=center|이항 연산자 | ||
+ | |align=center|시프트 연산자 | ||
+ | |align=center|<<, >>, >>> | ||
+ | |align=center|→ | ||
+ | |- | ||
+ | |align=center|이항 연산자 | ||
+ | |align=center|관계 연산자 | ||
+ | |align=center|<, <=, >, >=, ==, != | ||
+ | |align=center|→ | ||
+ | |- | ||
+ | |align=center|이항 연산자 | ||
+ | |align=center|비트 연산자 | ||
+ | |align=center|&(비트 and), ^(비트 xor), |(비트 or) | ||
+ | |align=center|→ | ||
+ | |- | ||
+ | |align=center|이항 연산자 | ||
+ | |align=center|논리 연산자 | ||
+ | |align=center|&&(논리 and), |두 개(논리 or) | ||
+ | |align=center|→ | ||
+ | |- | ||
+ | |align=center|삼항 연산자 | ||
+ | |align=center|조건 연산자 | ||
+ | |align=center|?, : | ||
+ | |align=center|→ | ||
+ | |- | ||
+ | |align=center|대입 연산자 | ||
+ | |align=center|대입 연산자 | ||
+ | |align=center|=, +=, -=, *=, %=, /=, >>=, <<= | ||
+ | |align=center|← | ||
+ | |- | ||
+ | |align=center|순서 연산자 | ||
+ | |align=center|순서 연산자 | ||
+ | |align=center|, | ||
+ | |align=center|→ | ||
+ | |} | ||
− | == 종류 == | + | === 종류 === |
− | 연산자의 종류는 [[산술연산자]], [[관계연산자]], [[비트연산자]], [[논리연산자]], [[대입연산자]], [[조건연산자]], 기타 연산자로 나뉜다.<ref | + | 연산자의 종류는 [[산술연산자]], [[관계연산자]], [[비트연산자]], [[논리연산자]], [[대입연산자]], [[조건연산자]], 기타 연산자로 나뉜다. |
+ | <ref name="연산자"></ref> | ||
*'''산술 연산자''' | *'''산술 연산자''' | ||
가, 감, 승, 제 등의 산술 계산에 사용되는 연산자로 '+, -, *, /, %, ++, --'가 있다. 산술 연산자는 안에서도 우선 순위가 나뉘는데 증감 연산자→산술 연산자(* / %)→산술 연산자(+ -)순으로 높아진다. | 가, 감, 승, 제 등의 산술 계산에 사용되는 연산자로 '+, -, *, /, %, ++, --'가 있다. 산술 연산자는 안에서도 우선 순위가 나뉘는데 증감 연산자→산술 연산자(* / %)→산술 연산자(+ -)순으로 높아진다. | ||
34번째 줄: | 92번째 줄: | ||
*'''관계 연산자''' | *'''관계 연산자''' | ||
− | 두 수의 관계를 비교하여 참 또는 거짓을 결과로 얻는 연산자로 '== != > >= < <='가 있다. | + | 두 수의 관계를 비교하여 참 또는 거짓을 결과로 얻는 연산자로 '== != > >= < <='가 있다. 왼쪽을 기준으로 크다 또는 크거나 같다로 해석한다. |
− | 왼쪽을 기준으로 크다 또는 크거나 같다로 해석한다. | ||
*'''비트 연산자''' | *'''비트 연산자''' |
2020년 8월 6일 (목) 11:39 판
연산자(Operator)는 어떤 연산을 할지 지정하는 것을 연산자라하고, 연산의 대상이 되는 것을 피연산자라고 한다. 작업의 종류에 따라서 대입연산자, 산술연산자, 비교연산자, 논리연산자 등이 있다.
개요
어떤 연산을 할지 지정하는 것을 연산자 연산의 대상이 되는 것을 피연산자라고 한다. 예를 들어, x + y가 있을 때, +는 연산자에 x, y는 피연산자에 해당된다. [1] 논리 부정처럼 피연산자가 한 개만 필요하면 단항 연산자, +처럼 피연산자가 두 개 있으면 이항연산자, 세 개 있으면 삼항 연산자라고 한다. [2]
- 결합방식
결합방식(처리순서)는 연산자에 따라 2가지로 나뉜다. [2]
- 예) 1+2+3 → 왼쪽에서 오른쪽으로 결합(1+2→+3)
- 예) a=b=c=1 → 오른쪽에서 왼쪽으로 결합(c=1→b=c→a=b)
특징
- 우선순위
하나의 연산식에 여러 개의 연산이 사용되었을 경우 어떤 것을 먼저 처리할지 정하는 것이다. 순서는 단항 연산자→산술 연산자→시프트연산자→관계 연산자→비트 연산자→논리 연산자→조건 연산자→대입 연산자→순서 연산자 순으로 낮아진다. 단, (),[]연산자는 최우선 연산자로 ()는 우선순위 변경을 위해 사용되며, []는 배열의 크기나 첨자를 나타낼 때 사용한다. [2]
연산자 우선순위 대분류 중분류 연산자 결합규칙 단항 연산자 단항 연산자 !(논리 not), ~(비트 not), ++, --, sizeof(기타) ← 이항 연산자 산술 연산자 *, /, %(나머지) → 이항 연산자 시프트 연산자 <<, >>, >>> → 이항 연산자 관계 연산자 <, <=, >, >=, ==, != → 이항 연산자 비트 연산자 &(비트 and), ^(비트 xor), |(비트 or) → 이항 연산자 논리 연산자 &&(논리 and), |두 개(논리 or) → 삼항 연산자 조건 연산자 ?, : → 대입 연산자 대입 연산자 =, +=, -=, *=, %=, /=, >>=, <<= ← 순서 연산자 순서 연산자 , →
종류
연산자의 종류는 산술연산자, 관계연산자, 비트연산자, 논리연산자, 대입연산자, 조건연산자, 기타 연산자로 나뉜다. [2]
- 산술 연산자
가, 감, 승, 제 등의 산술 계산에 사용되는 연산자로 '+, -, *, /, %, ++, --'가 있다. 산술 연산자는 안에서도 우선 순위가 나뉘는데 증감 연산자→산술 연산자(* / %)→산술 연산자(+ -)순으로 높아진다. 산술 연산자 중 '* / %'는 우선순위가 같아 왼쪽에서 오른쪽 방향으로 순서대로 계산한다.
예) 3 - 7 % 8 + 5
연산자 우선 순위에 따라 '7 % 8'→'3 -'→'+ 5'를 하여 답은 1이 된다.
전치: 변수 앞에 증감 연산자가 오는 형태로 먼저 변수의 값을 증감시킨 후 변수를 연산에 사용한다.(++a, --a) 후치: 변수 뒤에 증감 연산자가 오는 형태로 먼저 변소를 연산에 사용한 후 변수의 값을 증감시킨다.(a++, a--)
- 관계 연산자
두 수의 관계를 비교하여 참 또는 거짓을 결과로 얻는 연산자로 '== != > >= < <='가 있다. 왼쪽을 기준으로 크다 또는 크거나 같다로 해석한다.
- 비트 연산자
비트별(0,1)로 연산하여 결과를 얻는 연산자로 '&(and) ^( xor) |(or) ~(not) <<(비트 왼쪽 이동) >>(비트 오른쪽 이동)'이 있다.
- 논리 연산자
두 개의 논리 값을 연산하여 참 또는 거짓을 결과로 얻는 연산자로 '!(not) &&(and) ||(or)'이 있다.
- 대입 연산자
연산 후 결과를 대입하는 연산식을 간략하게 입력할 수 있도록 대입 연산자를 제공하는 것으로 '+= -= *= /= %= <<= >>='가 있다.
- 조건 연산자
조건에 따라 서로 다른 수식을 수행하는 것이다.
예) 조건 ? 수식1 : 수식2; -> '조건'의 수식이 참이면 '수식1'을 거짓이면 '수식2'를 실행
- 기타 연산자
sizeof ,(콤마) (자료형)등이 있다.
각주
참고 자료
- 소프트웨어 어휘다지기 - 중등, 〈연산자 개념〉, 《네이버 지식백과》
- 2020 정보처리기사 필기, <연산자 종류> , <길벗>
같이 보기