Arithmetic Operators
C defines the following arithmetic operators:
| Operator | Meaning |
| + | Addition |
| – | Subtraction (also unary minus) |
| * | Multiplication |
| / | Division |
| % | Modulus |
+ (Addition)
a+b
a=a+b
a=a+10
a=b+20
– (Subtraction (also unary minus))
a-b
a=a-b
a=a-7
a=b-5
* (Multiplication)
a*b
a=a*b
a=a*3
a=b*20
/ (Division)
a/b
a=a/b
a=a/5
a=b/20
% (Modulus Operator)
- It returns remainder
- It works with only int values
- if it is used with float values an error will get generated.
When / is applied to an integer, any remainder will be truncated.
For example, 10/3 will equal 3 in integer division.
When % is applied to an integer, it gives remainder.
For example, 10%3 will equal 1.
Note: For modulo operator, the sign of the result is always the sign of the first operand (the dividend).
-14 % 3 = -2
-14 % -3 = -2
14 % -3 = 2
14 % 3 = 2
Note:
Question: To find the remainder without using “%”.
Sol:
Modulo division is defined as:
a%b= a-(a/b)*b, where a/b is an integer division.
Question:1
C program to assume two numbers calculate and print their sum, product, difference, and average?
Sol:
#include<stdio.h>
int main()
{
int a=10,b=20,s,p,d;
float av;
s=a+b;
p=a*b;
d=a-b;
av=(float)(a+b)/2;
printf("Sum = %d\n",s);
printf("Product = %d\n",p);
printf("difference = %d\n",d);
printf("average = %f\n",av);
return 0;
}
Output:
Sum = 30 Product = 200 difference = -10 average = 15.000000




