Operators
|
||||||||||||||
Introduction
|
||||||||||||||
An operator specifies
an operation to be performed. C is rich in operator. Operators join
the various variables and constants to from
an expression.
|
||||||||||||||
Some operator requires
one operand and some require more than one operands.
|
||||||||||||||
An operator is a
symbol that tells the computer to perform certain mathematical or logical
manipulation in data stored in variables.
|
||||||||||||||
C is extremely rich in operators It
has as many as 45 different operators.
|
||||||||||||||
Types of Operators
|
||||||||||||||
Arithmetic operators
|
||||||||||||||
Arithmetic Operators are used to
Arithmetical calculation.
|
||||||||||||||
There are five Arithmetic operators
in C:
|
||||||||||||||
|
||||||||||||||
Relational operators
|
||||||||||||||
Relational operators are used to
compare two operands and to check whether they are equal, unequal, greater
than and lesser than other.
|
||||||||||||||
There are 6 relational operators:
|
||||||||||||||
|
||||||||||||||
The value of the relational operator
is either one or zero. If the relation is true, result is 1 otherwise it is 0
|
Logical operators
|
||||||||
Logical operators are used to combine
two or more relational expressions.
|
||||||||
There are three logical operators:
|
||||||||
|
||||||||
The expression which combines two or
more relational expressions is termed as logical expression or compound
relational expression.
|
||||||||
The result of a logical expression is
either one or zero.
|
||||||||
Example:
|
||||||||
a) if (age > 50 &&
weight < 80)
|
||||||||
b) if (a < 0 || ch = =
'a')
|
||||||||
c) if ( ! (a < 0))
|
Increment & Decrement operators
|
These types of operators operate
on only one operand, therefore these operators are also
calledUnary operators.
|
These two powerful operators in C
are + + (Increment), _ _ (Decrement).
Operands must be declared as variables not a constant.
|
These operators may
be used either after or before the operand.
|
When they are used before the
operand, it is termed as Prefix while when they are used
after the operand they are termed as Postfix.
|
In prefix operations
the value of operator is incremented or decremented first and then the
expression is evaluated. Prefix operators has the effect of
Change then use.
|
In postfix operation
the expression is evaluated first and then the value of operator is either
incremented or decremented. Postfix operators has the effect
of Use Then Change.
|
e.g.: b=a++; this
is postfix increment expression. In the expression
firstly b=1; then a=a+1; will be executed ,
|
while in prefix increment
expression
|
b=--a;
|
firstly a =a-1;then b=a;
will be executed.
|
Bitwise operators
|
||||||||||||||
The smallest element in memory on
which we are able to operate as yield is a byte; and we operate on it by use
of the data type char Bitwise operator is used for
manipulation of data at bit level.
|
||||||||||||||
These operators are used for testing
the bits, shifting them right to left. Bitwise operator may
not be applied to float or double data type.
|
||||||||||||||
This is a powerful feature of C to
manipulate a bit. The programmer can access and manipulate individual bits within
a piece of data.
|
||||||||||||||
Some of the bitwise operators in C
are:
|
||||||||||||||
|
Conditional & ternary operators
|
The conditional operator?
and: are sometimes called ternary operators.
|
A ternary operator
is one which contains three operands.
|
The general form of ternary operator
is:
|
exp 1 ? exp 2 : exp 3
|
The operator works as, if exp 1 is
evaluated first. If the result is true then exp 2 is executed, otherwise exp
3 is executed.
|
Conditional & ternary operators
|
The conditional operator?
and: are sometimes called ternary operators.
|
A ternary operator
is one which contains three operands.
|
The general form of ternary operator
is:
|
exp 1 ? exp 2 : exp 3
|
The operator works as, if exp 1 is
evaluated first. If the result is true then exp 2 is executed, otherwise exp
3 is executed.
|
The comma operators
|
This operator is used to link the
related expression together the expression is separated by the, operator.
|
Here firstly value 1 is assigned to
a, followed by this 2 is assigned to b, and then the result of a+b is
assigned to c.
|
The comma operator is often used in conjunction
with a control statement called For.
|
Size of operator
|
The size of operator returns a number
of bytes the operand occupies in memory. The operand may be a variable, a
constant or a data type qualifier. It is a compile time operator.
|
The size of operator is generally
used to determine the length of entities called arrays and structures when
their size is not known to the programmer.
|
Assignment operator
|
|||||||||||||||||||||||||||
Assignment operators are used to
assign the result of an expression to a variable. The most commonly used
assignment operator is (=).
|
|||||||||||||||||||||||||||
eg:
i=i+10;
|
|||||||||||||||||||||||||||
i=i+10 is an assignment expression which assigns
the value of i+10 to i.
|
|||||||||||||||||||||||||||
Expression like
i=i+10, i=i-5, i=i*2 etc. can be rewritten
using shorthand assignment operators.
|
|||||||||||||||||||||||||||
e.g.: i=i+5 is equivalent
to i+=5
|
|||||||||||||||||||||||||||
i=i*(y+1)
is equivalent to i*=(y+1)
|
|||||||||||||||||||||||||||
Operator Precedence:
|
|||||||||||||||||||||||||||
While executing an arithmetic
statement which has two or more operators, we may have some problems about
how exactly does it get executed.
|
|||||||||||||||||||||||||||
To answer these questions
satisfactorily we have to understand the precedence of operators.
|
|||||||||||||||||||||||||||
Precedence defines the sequence in
which operators are to be applied on the operands. Operators of same
precedence are evaluated from left to right or right to left, depending upon
the level.
|
|||||||||||||||||||||||||||
This is known as associativity property
of an operator.
|
|||||||||||||||||||||||||||
Summary of precedence of
associativity is given below:
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
|