Explain different operators of C language with example.
Answer:
Operator: It is a symbol which is
used to tell the compiler which mathematical or logical operations are to be
applied on operands (data).
C language
has following 8 different types of operators.
1)
Arithmetic
operators
2)
Relational
operators
3)
Logical
operators
4)
Assignment
operators
5)
Increment
or decrement operators
6)
Bit
wise operators
7)
Ternary
(Conditional) operators
8)
Other
operators
Arithmetic operators:
It is used to perform
arithmetic operation like addition, subtraction, division, multiplication and
modules.
Operator
Name
|
Meaning
|
+
|
Addition
|
-
|
Subtraction
|
/
|
Division
|
*
|
Multiplication
|
%
|
Modulus
|
Example:
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c;
a=10,b=20;
clrscr();
c=a+b;
printf(“%d”,c);
getch();
}
Relational Operator:
These operators are used to find the
relationship between two operands.
The answers of these operators are
always either true or false.
Consider a = 10 and b = 5 for
following table.
Operator
|
Meaning
|
Answer
|
a==b
|
Check the value of a and b are same
or not
|
False
|
a>b
|
Check the value of a is greater
than the value of b
|
True
|
a<b
|
Check the value of a is less
than the value of b
|
False
|
a>=b
|
Check the value of a is greater
than or equals to the value of b
|
True
|
a<=b
|
Check the value of a is less
than or equals to the value of b
|
False
|
a!=b
|
Check the value of a is not
equal to the value of b
|
True
|
Logical Operators:
Logical operators are
used to combine the more than one condition.
C language has 3
different types of logical operators.
The output of logical
operators is always either true or false.
Consider a = 10, b = 5
and c = 3 for following table.
Operator
|
Example
|
Output
|
&& - Logical and
|
(a > b) && (a>c)
|
True
|
|| - Logical or
|
(b > a) || (a>b)
|
True
|
! – Logical not
|
!(a>b)
|
False
|
Assignment Operators:
Assignment operator is used to assign
the value to variable.
To assign the value to variable
following syntax is used.
Syntax:
<Variable
name> = <expression>;
Expression can be any constant,
variable name or any valid expression.
Example: a = 10;
C language also support shorthand
operator.
Shorthand operator can be used with
statement having following form:
<Variable
name> = <variable name> <operator> <expression>;
Here both variable names must be
same.
This form is converted into following
form using shorthand operator.
<Variable
name> <operator> = <expression>;
Assignment
operator
|
Shorthand
|
a = a + 5;
|
a+=5;
|
a = a – 5;
|
a-=5;
|
a = a *
10;
|
a*=10;
|
a = a /
20;
|
a/=20;
|
Increment or Decrement operator:
It is unary operator that means it
requires only one operator.
Operator can be written either after
or before the operand.
Operator
|
Meaning
|
++
|
Increment operator
|
--
|
Decrement operator
|
Increment operator is
used to increase the value of variable by one and decrement operators is used
to decrease the value of variable bye one only.
If increment operator
is placed after variable then it is known as post increment and if increment
operator is placed before variable then it is known as pre increment.
Example:
#include<stdio.h>
#include<conio.h>
void
main()
{
int
a1,b1;
a1=10;
b1=a1++;
// post increment
printf(“%d”,b1);
printf(“%d”,a1);
getch();
}
Bitwise operator:
C language also supports some
operators which can perform operation on bit level. So using this operator we
can perform operation on 0’s and 1’s bit.
Consider a = 10 (1010) and b = 5
(0101).
Operator
|
Example
|
Output
|
& -
Bitwise AND
|
c = a
& b
|
0
|
| -
Bitwise OR
|
c = a | b
|
15
|
^ -
Bitwise Exclusive OR (XOR)
|
c = a ^ b
|
15
|
<< -
Left Shift
|
c = a
<< 1
|
20
|
>> -
Right Shift
|
c = a
>> 1
|
5
|
~ -
Bitwise 1’s complement
|
c = ~a
|
-11
|
For Bitwise and (&) operator if
both bits are 1 then only answer is 1.
For Bitwise or(|) operator if one the
bit is 1 then answer is 1 and if both bits are 0 then only answer is 0.
For Bitwise exclusive or (XOR)
operator if both bits are different then only answer is 1 other wise answer is
0.
In left shift operator if we shift
one bit to left then result will be in multiplication of 2, if we shift 2 bits
in left side then result will be in multiplication of 4 and so on.
For Example:
a=10; if we write a<<1 then
answer is 20 as below.
Example:
#include<stdio.h>
#include<conio.h>
void
main()
{
int
a1,b1;
a1=10;
b1=a1<<1;
printf(“%d”,b1);
b1=a1>>1;
printf(“%d”,b1);
getch();
}
Conditional operator:
It is also known as ternary operator.
It works like if else statement.
|
|
Syntax:
<Condition>
? <Statement 1> : <statement 2>;
|
|
If
condition becomes true then statement 1 will be executed.
If condition becomes false then statement 2 will be
executed
Example:
#include<stdio.h>
#include<conio.h>
void main()
{
int max,a,b;
clrscr();
a=10, b=20;
max = (a>b)? a : b;
printf(“maximum value is
%d”,max);
getch();
}
Other operators:
In that some special
operators like comma operator, dot (.) operator, arrow (->)
operator and sizeof operator are used.
Comma
operator is used to declare multiple variable, expression and also used in
printf() or scanf() function.
Dot
(.) operator is used to access the member of structure using structure
variable.
Arrow
(->) operator is used to access the member of structure using pointer
variable.
Sizeof() operator is used to find the no of bytes occupied by specified data type or
variable.
Example:
#include<stdio.h>
#include<conio.h>
void main()
{
int a;
clrscr();
printf(“%d”,sizeof(a)); //
size of integer is 2 bytes so output is 2
getch();
}