본문 바로가기
프로그래밍언어/C언어

연산자 종류 - 산술 연산자

by J코딩 2021. 9. 3.
반응형

C언어에서는 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%) 연산과 같은 산술 연산자를 제공합니다.

산술 연산자 설명
+(덧셈 연산자) a = 6 + 2 피연산자 6과 피연산자 2의 덧셈 연산
-(뺄셈 연산자) a = 6 - 2 피연산자 6과 피연산자 2의 뺄셈 연산
*(곱하기 연산자) a = 6 * 2 피연산자 6과 피연산자 2의 곱셈 연산
/(나누기 연산자) a = 6 / 2 피연산자 6과 피연산자 2의 나눗셈 연산
%(나머지 연산자) a = 6 % 2 피연산자 6과 피연산자 2를 나눈 나머지 연산

다음 예제를 통해서 알아보겠습니다.

4행에서 변수 a와 변수 b를 선언하면, 메모리에 위 그림과 같이 생성이 됩니다.(변수가 생성되어지면, 변수 주소도 같이 생성됩니다.)

6행에서 변수 a에 6을 저장합니다.

8행에서 변수 b에 2를 저장합니다.

변수 a와 b를 생성했으므로 a의 시작 주소는 &a이며, b의 시작 주소는 &b가 됩니다.

 

10행에서 변수 a와 변수 b의 덧셈 연산의 수행 결과를 출력하고 있습니다.

12행에서 변수 a와 변수 b의 뺄셈 연산의 수행 결과를 출력하고 있습니다.

14행에서 변수 a와 변수 b의 곱셈 연산의 수행 결과를 출력하고 있습니다.

16행에서 변수 a와 변수 b의 나눗셈 연산의 수행 결과를 출력하고 있습니다.

18행에서 변수 a와 변수 b의 나머지 연산의 수행 결과를 출력하고 있습니다.

여기에서 사칙연산은 굉장히 익숙할 것이나, 아마도 %(나머지) 연산자는 우리가 아는 산수에는 없는 연산이다 보니 생소할 것이라고 생각이 듭니다.

나머지 연산자는 왼쪽의 피연산자를 오른쪽의 피연산자로 나누는 경우 계산 결과의 몫이 아닌 나머지를 구하는 연산자입니다. 나머지 연산자를 젱되한 사칙 연산자(덧셈, 뺄셈, 곱셈, 나눗셈)의 경우 정수나 실수가 연산 결과로 나올 수 있지만, 나머지 연산자는 항상 양의 정수가 나와야 합니다.

 

다음 예제를 통해서 /(나누기) 연산자와 %(나머지) 연산자의 차이를 알아보겠습니다.

4행에서 변수 num1와 변수 num2를 선언하면, 메모리에 위 그림과 같이 생성이 됩니다.(변수가 생성되어지면, 변수 주소도 같이 생성됩니다.)

7행에서 변수 num1에 10/3을 저장합니다. 즉, 10/3을 연산해서 몫 3을 변수 num1에 저장합니다.

10행에서 변수 num2에 10%3을 저장합니다. 즉, 10%3을 연산해서 나머지 1을 변수 num2에 저장합니다.

 

우리가 확인할 수 있는 변수에 저장된 최종 값은 3과 1입니다. 앞으로 소스 코드를 분석할 때는 위 그림처럼 메모리를 그려가면서 분석하면 더 쉽게 코드를 이해할 수 있습니다.

 

반응형

댓글