본문 바로가기
IT 기술/C언어 심화

연산자 우선순위 및 연산 방향

by 썬's 2023. 2. 19.

안녕하세요 보글리아입니다.

이번 시간에는 C언어에서 사용하는 연산자에 대한 우선순위와 연산이 진행되는 방향을 알아보겠습니다.

※본 C언어 심화 카테고리는 C언어 수업 일정에 맞춰 진행되지 않습니다※

 


연산자 우선순위와 방향

C언어에서 연산자 우선순위란 하나의 수식이 있으면, 이 수식에서 여러 연산자를 사용했을 때, 어떤 연산자를 먼저 연산할지 정해 놓은 것입니다. 보통 연산자 우선순위는 대수학의 원칙을 따릅니다.

 

예를 들어 하단에 수학 문제를 보시면 여러분들은 어떤 연산자를 먼저 계산하시나요??

대수학의 원칙에 따르면 괄호를 먼저 계산하고 그다음에 곱셈과 나눗셈, 마지막으로 덧셈과 뺄셈을 계산합니다.

이를 연산자 우선순위라고 합니다.

2 + 5 x 7 / (3 x 7 + 6) - 20 

다음은 C언어의 연산자들의 우선순위와 방향을 정리한 표입니다.

연산 방향은 대수학의 원칙을 따르지 않습니다. 예를 들어 2 x 4 / 2 수식이 있을 때, 곱셈을 먼저 한 결괏값은 4이고 나눗셈을 먼저 한 결괏값 역시 4입니다. 이처럼 연산 순위를 달리 해도 값을 동일합니다.

 

하지만 컴퓨터는 수학처럼 결괏값이 같게 나오지 않습니다. 다시 예를 들어 2 * 3 / 4라는 수식이 있을 때, 곱셈을 먼저 하면 결괏값이 0이 나옵니다. 반대로 나눗셈을 먼저 하면 결괏값이 1이 나옵니다. 

따라서 연산 수식을 구성할 때 연산자의 개별적인 우선순위와 연산 방향 역시 고려해야 합니다.

순위 연산자 연산 방향
1순위 괄호 (), [] ->
2순위 승제 연산자(*, /, %) ->
3순위 가감 연산자(+ -) ->
4순위 등가 연산자(==, !=) ->
5순위  비트 연산자(&, |) ->
6순위 논리 연산자(&&, ||) ->
7순위 대입 연산자(=, +=, -=, *=, /=...) <-

 


오늘은 C언어의 연산자 우선순위와 연산 방향을 알아봤습니다.

그럼 다음 시간에는 다른 개념으로 찾아뵙겠습니다.

긴 글 읽으시느라 너무너무 고생 많으셨습니다~~

'IT 기술 > C언어 심화' 카테고리의 다른 글

컴퓨터의 자료 저장 방식  (0) 2023.02.19
함수의 지역 변수와 전역 변수  (0) 2023.02.14

댓글