C - Arithmetic Operators

C Programming

Share

In this tutorial we will learn about arithmetic operators in C programming language.

C programming language provides us with all the basic arithmetic operators.

Operator Description
+ Addition or unary plus
- Subtraction or unary minus
* Multiplication
/ Division
% Modulo division

Addition Operator

In the following example we will add two numbers using the addition operator.

#include <stdio.h>
int main(void)
{
  int
    a = 10,
    b = 20;
    
  int sum = a + b;
  
  printf("Sum: %d\n", sum);
  return 0;
}

Output

Sum: 30

Subtraction Operator

In the following example we will subtract two numbers using the subtraction operator.

#include <stdio.h>
int main(void)
{
  int
    a = 10,
    b = 20;
    
  int diff = a - b;
  
  printf("Difference: %d\n", diff);
  return 0;
}

Output

Difference: -10

Multiplication Operator

In the following example we will multiply two numbers using the multiplication operator.

#include <stdio.h>
int main(void)
{
  int
    a = 10,
    b = 20;
    
  int prod = a * b;
  
  printf("Product: %d\n", prod);
  return 0;
}

Output

Product: 200

Division Operator

In the following example we will divide two numbers using the division operator.

#include <stdio.h>
int main(void)
{
  int
    a = 100,
    b = 10;
    
  int quot = a / b;
  
  printf("Quotient: %d\n", quot);
  return 0;
}

Output

Quotient: 10

During integer division, if both the operators are of the same sign, the result is truncated towards zero. If one of them is negative, the direction of truncation is implementation dependent.

Example:

6 / 7 = 0 and -6 / -7 = 0

But -6 / 7 may be 0 or -1 (machine dependent)

Mixed-mode Arithmetic

When one of the operand is real and the other is integer, the expression is called mixed-mode arithmetic. If either of the operand is of the real type, then only the real operation is performed. If both operand is integer then fractional part is truncated.

Example:

5 / 10.0 = 0.5

Whereas, 15 / 10 = 1 (fractional part 0.5 is truncated)

Modulo Operator

Modulo operator gives us the remainder.

In the following example we will divide two numbers and get the remainder using the modulo operator.

#include <stdio.h>
int main(void)
{
  int
    a = 9,
    b = 4;
    
  int rem = a % b;
  
  printf("Remainder: %d\n", rem);
  return 0;
}

Output

Remainder: 1

Modulo operator % can't be used on floating point value.

Share