Arithmetic operators in C

Arithmetic operators are used to perform basic arithmetic operations. Operations like addition, subtraction, multiplication, division and modulo division.

C supports five arithmetic operators.

OperatorDescription
+Unary plus or binary addition
-Unary minus or binary subtraction
*Multiplication
/Division
%Modulo division (Evaluates remainder)

Important Note: There is no exponential operator in C programming language. Many beginners considers ^ (hat symbol) as an exponential operator. However, ^ is a bitwise XOR operator.

Unary plus and unary minus

The + and - arithmetic operators exhibits in two variants unary plus/minus and binary addition/subtraction. Unary plus and minus takes single operand and used to alter the sign of a real or integer type.

For example:

a = -5;         // a contains -5
b = +10.65;     // b contains +10.65
c = -a;	        // c contains -(-5) => +5
d = -b;	        // d contains –(+10.65) => -10.65

By default, every real or integer type is positive. Therefore, use of unary plus operator is optional. Means b = +10.65; is equivalent to b = 10.65;.

Binary arithmetic operators

Binary arithmetic operator are used to perform basic arithmetic operations. It accepts two operand.

Suppose two integer variables x and y with initial values
int x=10, y=6;

After performing following binary arithmetic operations.

x + y = 16
x - y = 4
x * y = 60	
x / y = 1 	(Integer division evaluates to integer trimming fractional part)
x % y = 4	(Remainder of the integer division)

Integer division

In computer programming divisions are performed differently. Apparently there are two types of division.

  1. Integer division
  2. Real division

C performs integer division if both operands are integer type. Integer division always evaluates to an integer discarding the fractional part.

C performs real division if any of the two operands are real type (either float or double). Real division evaluates to a real value containing integer as well as fractional part.

Consider the below division table for a clear view of division in C.

OperationResultDivision type
5 / 22Integer division
5.0 / 22.5Real division
5 / 2.02.5Real division
5.0 / 2.02.5Real division

Modulo division

Modulo division evaluates remainder after performing division of two numbers. In C programming, we perform modulo division using % operator. Many texts refers modulo operator as modulus operator.

Consider the below modulo division table for a clear view of modulo division operations in C.

OperationResult
8 % 20
5 % 32
3 % 73
-3 % 7-3
5 % -21
-8 % -3-2
2.5 % 2Error
8 % 2.5Error
5.0 % 2.5Error

Important note:

  • Modulo division is only possible with integer operands. It causes compilation error with float types.
  • Modulo operator returns sign of the first operand.

About Pankaj

Pankaj Prakash is the founder, editor and blogger at Codeforwin. He loves to learn new techs and write programming articles especially for beginners. He works at Vasudhaika Software Sols as a Software Design Engineer and manages Codeforwin. In short Pankaj is Web developer, Blogger, Learner, Tech and Music lover.

Follow on: Facebook | Twitter | Google | or

Comments and discussion
Have a doubt, write here. I will help my best.
Before commenting you must escape your source code before commenting. Paste your source code inside
<pre><code> ----Your Source Code---- </code></pre>