본문 바로가기

C++ 일기

6 - 1. 산술연산자 (+, -, *, /, %)

C언어에는 연산을 담당하는 연산자가 많이 존재하는데 6장에서는 이 연산자들을 다룰 것이다.

많은 연산자 중 산술을 수행하는 연산자가 존재하는데,

이번에는 산술연산자중 사칙연산과 모듈러 연산자에 대해 다룰 것이다.

#include<iostream>

int main()
{
   int num1 = 9;
   int num2 = 3;
   
   std::cout<< num1 + num2 << endl;
   std::cout<< num1 - num2 << endl;
   std::cout<< num1 * num2 << endl;
   std::cout<< num1 / num2 << endl;
   
   // 출력값
   // 12
   // 6
   // 27
   // 3
}

산술연산자 중 사칙연산을 담당하는 연산자 +, -, *, / 는 우리가 일상생활에서 사용할 때와 동일하게 사용이 가능하며,

산술연산자에 걸려있는 피연산자들은 모두 하나의 변수처럼 묶여, 산술연산자가 연산을 마친 값으로 여겨지게된다.

즉, num1 + num2 는 9 + 3의 값인 12라는 값을 가진 변수처럼 여겨진다는 것이다.

산술연산자는 실제와 마찬가지로 앞에서부터 순서대로 연산을 시작하며, *, / 연산자는 +, - 연산자보다 우선순위가 높다

 

#include<iostream>

int main()
{
   int num1 = 3;
   int num2 = 6;
   
   std::cout << num1 + num2 / num1;
   // 출력값 : 5
   
   std::cout << (num1 + num2) / num1;
   // 출력값 : 3
}

따라서 위와 같이 합연산자와 곱연산자가 같이 있는 연산식에서, 합연산을 먼저 연산하려면 괄호를 이용해 합연산의 우선순위를 올려주어야 원하는 값을 출력하는 것이 가능하다.

 

 

 

 

 

사칙연산에 사용되는 산술연산자의 형태는 익숙하지만, 우리가 처음보는 연산자 %가 있다.

%는 나머지연산자, 모듈러연산자라고도 불리며

좌항의 변수에서 우항의 변수를 나눈 뒤, 몫은 버리고 나머지만 반환하는 연산자이다

#include<iostream>

int main()
{
   int num1 = 5;
   int num2 = 2;
   
   std::cout << num1 % num2;
   // 5에서 2를 나눈 몫은 2, 나머지는 1
   // 출력값 : 1
}

위 처럼 num1에서 num2를 나눈 몫 2를 버리고 남은 나머지 1만을 반환하게 된다.

 

 

 

 

 

또한, 산술연산자를 사용할 때 위처럼 연산자를 바로 대입하는 것이 아니라,

아래와 같이 결과를 나타내는 변수를 선언하여 대입하는 것이 효율적이다.

#include<iostream>

int main()
{
   int num1 = 5;
   int num2 = 2;
   int res = num1 % num2;
   
   std::cout << res;
   // 출력값 1
}

 

'C++ 일기' 카테고리의 다른 글

6 - 3. 복합대입연산자(+=, -=, *=, /=, %=)  (0) 2024.02.20
6 - 2. 증감연산자 (++, --)  (0) 2024.02.20
5. std::cout과 std::cin (C++의 입출력)  (0) 2024.02.20
4. 자료형 (Data Type)  (2) 2024.02.20
3. 변수 (Variable)  (0) 2024.02.20