본문 바로가기
Study/C

7. 연산자, 우선순위

by JmcH 2020. 3. 5.

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

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

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

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

 

 

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

 

#산술 연산자

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

+ 더하기

- 빼기 

* 곱하기

/ 나누기

% 나머지구하기

-(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

 

#우선순위

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

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

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

 

읽어주셔서 감사합니다.

 

'Study > C' 카테고리의 다른 글

9. 반복문 (for, while, do-while)  (0) 2020.04.01
8. 조건문 (if, swtich)  (0) 2020.03.23
6. 자료형, sizeof()  (0) 2020.02.28
5. 변수, 상수  (0) 2020.02.27
4. 입력문(scanf), return, 주석  (0) 2020.02.27