Wednesday, 27 February 2013

Discuss the different types of operators used in C with an example for each

C supports a rich set of operators. They are classified into following categories:
1.            Arithmetic operators
2.            Relational operators
3.            Logical operators
4.            Assignment operators
5.            Increment and decrement operators
6.            Conditional operators
7.            Bitwise operators
8.            Special operators(Comma ‘,’ and sizeof() operator)


Ø    Arithmetic operators:  C provides all the basic arithmetic operators which are following:
           
Operator
Description
Example
+
Addition or unary plus
5+4 Result 9
-
Subtraction or unary minus
5-4 Result 1
*
Multiplication
5*4  Result 20
/
Division
5/4 Result 1
%
Modulo division
5/4 Result 1


Ø    Relational operators:

C provides all the basic relation operators to compare two or more quantities and depending on their relation taking decision. These operators and their meanings are as below.

Operator
Description
Example
> 
greater than
5 > 4
>=
greater than or equal to
mark >= score
< 
less than
height < 75
<=
less than or equal to
height <= input
==
equal to
score == mark
!=
not equal to
5 != 4


Ø    Logical operators:

In addition to the relational operators, C has the following three logical operators. The logical operators && and || are used when we want to test more than one condition and make decision.

Operator
Description
Example
&&
Logical AND
If(1< i &&  I <10)  ...
||
Logical OR
If (i <5 || I =5) ...
!
Logical NOT
If ( i !=5) ...

Ø    Assignment operators:

Assignment operators are used to assign the result of an expression to a variable.

Operator
Description
Example
=
Assignment Operator
a= 5


Ø    Increment and decrement operators(Or Binary Operator):

C provides shortcuts to add or subtract constant 1 to a variable.

Operator
Description
Example
++
Increment
a=a++
--
Decrement
a=a--


Ø    Conditional operators:

The conditional operator (ternary operator) pair “?:” is available in C to construct conditional expressions of the form
            Expr1?expr2:expr3
For example
a=100;
b=200;
c=(a>b)?a:b;
Result: c=200
This is same as if..else statement as follows:
if (a>b)
            c=a;
else
            c=b;


Ø    Bitwise operators:

The bitwise operators operate on integers thought of as binary numbers or strings of bits. These operators let us work with the individual bits of a variable; one common use is to treat an integer as a set of single-bit flags.

Operator
Description
Example
&
Bitwise AND

|
Bitwise OR

^
Bitwise exclusive OR

<< 
Shift left

>> 
Shift right



Ø    Special operators:

C supports some special operators like ‘,’ and sizeof() operators.
The ‘,’ (comma) operator can be used to link the related expression together.
The sizeof() is a compile time operator and, when used with an operand it returns the numbers of bytes the operand occupies. The operand may be variable, a constant or a data type qualifier.

Operator
Description
Example
,
Comma Operator
Value=(x=10, y=5, x+y) Results: value=15
sizeof()
Sizeof() Operator
k= sizeof(235L)