ITDeveloper : C Programming
C Programming
Step by Step Tutorials
![]() Share with a Friend |
Arithmetic Operators In C
When programming in the C language, the arithmetic operators help in performing mathematical functions. Arithmetic Operators in C allows a user to construct various formulas and mathematical equations.
There are a total of 9 arithmetic operators in C to provide the basic arithmetic operations such as addition, subtraction, multiplication, etc.
Types of Arithmetic Operators in C
The C Arithmetic Operators are of two types based on the number of operands they work. These are as follows:
- Binary Arithmetic Operators
- Unary Arithmetic Operators
1. Binary Arithmetic Operators in C
The C binary arithmetic operators operate or work on two operands. C provides 5 Binary Arithmetic Operators for performing arithmetic functions which are as follows:
|
Operator |
Name of the Operator |
Arithmetic Operation |
Syntax |
|---|---|---|---|
|
+ |
Addition |
Add two operands. |
x + y |
|
– |
Subtraction |
Subtract the second operand from the first operand. |
x – y |
|
* |
Multiplication |
Multiply two operands. |
x * y |
|
/ |
Division |
Divide the first operand by the second operand. |
x / y |
|
% |
Modulus |
Calculate the remainder when the first operand is divided by the second operand. |
x % y |
Example of Binary Arithmetic Operator in C
// C program to demonstrate syntax of binary arithmetic// operators#include <stdio.h>int main(){ int a = 10, b = 4, res; // printing a and b printf("a is %d and b is %d\n", a, b); res = a + b; // addition printf("a + b is %d\n", res); res = a - b; // subtraction printf("a - b is %d\n", res); res = a * b; // multiplication printf("a * b is %d\n", res); res = a / b; // division printf("a / b is %d\n", res); res = a % b; // modulus printf("a %% b is %d\n", res); return 0;}a is 10 and b is 4 a + b is 14 a - b is 6 a * b is 40 a / b is 2 a % b is 2
2. Unary Arithmetic Operators in C
The unary arithmetic operators operate or work with a single operand. In C, we have two unary arithmetic operators which are as follows:
| Operator | Symbol | Operation | Implementation |
|---|---|---|---|
| Decrement Operator |
— |
Decreases the integer value of the variable by one. | –h or h– |
| Increment Operator |
++ |
Increases the integer value of the variable by one. | ++h or h++ |
| Unary Plus Operator |
+ |
Returns the value of its operand. | +h |
| Unary Minus Operator |
– |
Returns the negative of the value of its operand. | -h |
Increment Operator in C
The ‘++’ operator is used to increment the value of an integer. It can be used in two ways:
1. Pre-Increment
When placed before the variable name (also called the pre-increment operator), its value is incremented instantly. Consider the example:
a = ++x;
This example can be expanded to
a = (x = x + 1);
2. Post Increment
When it is placed after the variable name (also called the post-increment operator), its value is preserved temporarily until the execution of this statement and it gets updated before the execution of the next statement. For example:
a = x++;
It can be expanded to
a = x; x = x + 1;
Decrement Operator in C
The ‘–‘ operator is used to decrement the value of an integer. Just like the increment operator, the decrement operator can also be used in two ways:
1. Pre-Decrement
When placed before the variable name (also called the pre-decrement operator), its value is decremented instantly. For example, – – x.
2. Post Decrement
When it is placed after the variable name (also called post-decrement operator), its value is preserved temporarily until the execution of this statement and it gets updated before the execution of the next statement. For example, x – –.
Example of Unary Operators in C
// C program to demonstrate working// of Unary arithmetic// operators#include <stdio.h>int main(){ int a = 10, b = 4, res; printf("Post Increment and Decrement\n"); // post-increment example: // res is assigned 10 only, a is not updated yet res = a++; printf("a is %d and result is %d\n", a, res); // a becomes 11 now // post-decrement example: // res is assigned 11 only, a is not updated yet res = a--; printf("a is %d and result is %d\n", a, res); // a becomes 10 now printf("\nPre Increment and Decrement\n"); // pre-increment example: // res is assigned 11 now since // a is updated here itself res = ++a; // a and res have same values = 11 printf("a is %d and result is %d\n", a, res); // pre-decrement example: // res is assigned 10 only since a is updated here // itself res = --a; // a and res have same values = 10 printf("a is %d and result is %d\n", a, res); return 0;}Post Increment and Decrement a is 11 and result is 10 a is 10 and result is 11 Pre Increment and Decrement a is 11 and result is 11 a is 10 and result is 10
Multiple Operators in a Single Expression
Till now, we have only seen expressions in which we have used a single operator in a single expression. What happens when we use multiple operators in a single expression? Let’s try to understand this with the help of the below example.
Example
// C program to demonstrate the use#include <stdio.h>int main(){ int var; // expression with multiple operators var = 10 * 20 + 15 / 5; printf("Result = %d", var); return 0;}Result = 203
Explanation: The order of evaluation of the given expression is : ( ( 10 * 20 ) + (15 / 5 ) ).
This is due to the Operator Precedence and Associativity concept in C language where the operators with higher precedence will be evaluated first. The operator precedence system helps to provide unambiguously expressions.
Examples of C Arithmetic Operators
Example 1: C Program to find the area of a rectangle and triangle.
We will use the arithmetic operators for calculating the area and perimeter of the rectangle using the standard formula of each.
// C Program to calculate the area and perimeter of the// rectangle#include <stdio.h>int main(){ // declaring dimensions of the rectangle int length = 10; int breadth = 5; // declaring variables to store the results int area, perimeter; // calculating area area = length * breadth; // calculating perimeter perimeter = 2 * (length + breadth); // printing results printf("Area = %d\nPerimeter = %d", area, perimeter); return 0;}Area = 50 Perimeter = 30
