C++ Arithmetic Operators

In this tutorial:

The Addition operator ( + )
The Subtraction operator ( - )
The Multiplication operator ( * )
The Division operator ( / )
The Modulus operator ( % )
The Unary Negation operator ( - )
The Increment operator ( ++ )
The Decrement operator ( -- )

The arithmetic operators perform mathematical operations. Following table lists arithmetic operators in C++.

Operator Description Example
+ Addition (add two operands) 4 + 6 result is 10
- Subtraction (subtract right operand from the left operand) 5 - 2 result is 3
* Multiplication (multiply two operands) 2 * 4 result is 8
/ Division (divide left operand by right operand)  9 / 3 result is 3
% Modulus (divide left operand by right operand and get remainder) 22 % 7 result is 1 
Unary negation - Unary operator. Returns the negation of its operand. If x =3 then -x results as -3
++ Pre- or post-increment If x is 5 then x++ will first return 5 and then increment in x to make it 6. If x is 5 then ++x will first increment x and set its value to 6 and then return its value i.e., 6.
-- Pre- or post-decrement If x is 5 then x-- will first return 5 and then decrement in x to make it 4. If x is 5 then --x will first decrement x and set its value to 4 and then return its value i.e., 4.

The Addition Operator ( + )

The addition operator ( + ) is used to add two operands.

You are already familiar with:

int x = 10;

You can also write,

int x = 5 + 5; 

You can use variables as operands.

int x = 2;
int y = 3;
int z= x + y;

You can mix variables and numbers as operands.

int x = 2;
int y = x + 2;

You can also add float values. 

float x = 2.5;
float y = 3.2;
float z= x + y;  // 5.7

The Subtraction Operator ( - )

The subtraction operator subtract right operand from the left operand.

Example:

int x = 3;
int y = 2;
int z = x - y;  // 1

The Multiplication Operator ( * )

The multiplication operator multiply two operands.

Example:

int x = 2;
int y = 3;
int z = x * y;  // 6

The Division Operator ( / )

The division operator divides left operand by right operand. When / is used with int or char the decimal part of the remainder value is truncated.

Example:

int x = 3;
int y = 2;
cout << x/y;  // 1 instead of 1.5

If the right operand is zero, then the result is un-defined or floating point exception.

int x = 3;
int y = 0;
cout << x/y;  // Floating point exception

The Modulus Operator ( % )

The modulus operator divides left operand by right operand and get remainder. The modulus operator does not support float and double.

int x = 11;
int y = 3;
cout << x%y;  // 2

If the right operand is zero, then the result is un-defined or floating point exception.

The Unary Negation Oprator ( - )

The unary negation operator simply return negation of its operand.

Example:

int x = 2;
int y;
y = -x;
cout << y;  // -2

The Pre or Post-Increment Operator ( ++ )

The increment operator adds 1 to its operand. It could be pre increment or post increment.

  • The pre-increment means. First increment then return the value.
  • The post increment means. First return the value then increment.

Example: Pre-Increment

int x = 3;
int y;
//First value of x will be incremented by 1. 
//The x will become 4, then value of x, 4 will be assigned to variable y 
y = ++x;
cout << x << y;  // 4 4

Example: Post-Increment

int x = 3;
int y;

// First value of x, 3 will be assigned to y. Then x will be incremented by 1.
y = x++;
cout << x << y;  // 4 3

The Pre or Post-Decrement Operator ( -- )

The decrement operator subtract 1 from its operand. It could be pre decrement or post decrement.

  • The pre-decrement means. First decrement then return the value.
  • The post decrement means. First return the value then decrement.

Example: Pre-Decrement

int x = 5;
int y;

//First value of x will be decremented by 1. 
//The x will become 4, then value of x, 4 will be assigned to variable y.
y = --x;
cout << x << y; // 4 4

Example: Post-Decrement

int x = 5;
int y;

//First value of x, 5 will be assigned to y. Then x will be decremented by 1.
y = x--;
cout << x << y;  // 4 5