Study/C

7. 연산자, 우선순위

JmcH 2020. 3. 5. 17:45

연산자는 말그대로 데이터들의 연산을 돕는 도구라고 생각하시면 됩니다.

목적에 따라 나누어진 연산자들을 계산기라고 생각하시면 쉽습니다.

문제와 해결방법에 따라 쓰는 연산자들이 각각 다르기 때문에

적절한 연산자를 활용하는 것이 좋은 코딩능력이라고 할 수 있습니다.

 

 

연산자의 종류에는 크게 산술, 비교, 논리, 증가/증감, 비트, 대입 연산자등이 있습니다.

 

#산술 연산자

일반적인 사칙연산을 하는 연산자라고 보시면 됩니다.

+ 더하기

- 빼기 

* 곱하기

/ 나누기

% 나머지구하기

-(a) 부호바꾸기

 

#비교 연산자

주로 조건문에서 사용하는 연산자입니다. 참과 거짓으로 판명내립니다.

앞조건을 주체로 뒤조건을 비교합니다.

ex) a<b 조건a가 조건b 보다 작으면 참(나머지는 거짓)  

>

<=

>=

==

!=

 

#논리 연산자

&& AND기능 조건 a와 b가 전부 참이면 참(나머지 거짓)

|| OR기능 조건 a와 b중 하나라도 참이면 참이거나 모두 참이면 참

! NOT기능 조건이 참이면 거짓, 거짓이면 참

 

위의 비교 연산자와 논리연산자는 앞으로 조건문에서 주로 사용하게 됩니다.

참과 거짓을 표현하는데 유용한 연산자들입니다.

 

#증가/감소 연산자

변수의 값을 1씩 증가, 감소 시킬때 사용하는 연산자입니다.

++ 증가

-- 감소

 

#비트 연산자

비트를 조작할때 사용하는 연산자입니다. 논리 연산자와 기능은 같지만 비트를 조작한다고 생각하시면 쉽습니다.

& AND기능 

|  OR기능 

^ XOR기능(OR의 역기능)

~ NOT기능 

>> 비트를 오른쪽으로 옮김 ex) a>>1 a의 비트를 오른쪽으로 1씩 옮김

<< 비트를 왼쪽으로 옮김

 

#대입 연산자

여러번 써야하는 연산자들을 한 문장으로 만들때 사용합니다.

수학에서 분배법칙과 비슷하다고 생각하면 쉽습니다.

=

+=

-=

*=

/=

%=

<<=

>>=

&=

^=

|=

ex) a=a*b = a*=b

 

#우선순위

연산자들 사이에서는 수학처럼 당연하게 우선순위가 있습니다.

곱셈,나눗셈 연산자 > 덧셈,뺄셈 연산자 > 시프트 연산자 > 비교 연산자 > 비트 연산자 > 논리 연산자 > 대입 연산자

하지만 '수학처럼' 이기 때문에 ( )를 사용해서 우선순위를 높힐 수 있습니다.

 

읽어주셔서 감사합니다.