Слайд 2Definition
“An operator is a symbol (+,-,*,/) that directs the computer to perform
certain mathematical or logical manipulations and is usually used to manipulate data and variables”
Ex: a+b
Слайд 3Operators in C++
Arithmetic operators
Relational operators
Logical operators
Assignment operators
Increment and decrement operators
Conditional operators
Bitwise operators
Special
operators
Слайд 4Arithmetic Operators
a=9, b=3
Слайд 6Logical Operators
Logical expression or a compound relational expression-
An expression that combines two
or more relational expressions
Ex: if (a==b && b==c)
Слайд 8Assignment Operator
Syntax:
v op = exp;
Where v = variable,
op =
shorthand assignment operator
exp = expression
Ex: x=x+3
x+=3
Слайд 9Shorthand Assignment Operators
Слайд 10Increment & Decrement Operators
C++ supports 2 useful operators namely
Increment ++
Decrement- -operators
The ++
operator adds a value 1 to the operand
The -- operator subtracts 1 from the operand
++a or a++
--a or a--
Слайд 11Rules for ++ & -- Operators
These require variables as their operands.
When postfix
either ++ or -- is used with the variable in a given expression, the expression is evaluated first and then it is incremented or decremented by one.
When prefix either ++ or – is used with the variable in a given expression, it is incremented or decremented by .one first and then the expression is evaluated with the new value
Слайд 12Examples for ++ and -- Operators
Let the value of a =5 and
b=++a then
a = b =6
Let the value of a = 5 and b=a++ then
a =6 but b=5
i.e.:
1. a prefix operator first adds 1 to the operand and then the result is assigned to the variable on the left
2. a postfix operator first assigns the value to the variable on left and then increments the operand.
Слайд 13Conditional Operators
Syntax:
exp1 ? exp2 : exp3
Where exp1,exp2 and exp3 are expressions
Working of
the ? Operator:
Exp1 is evaluated first, if it is nonzero(1/true) then the expression2 is evaluated and this becomes the value of the expression,
If exp1 is false(0/zero) exp3 is evaluated and its value becomes the value of the expression
Ex: m=2;
n=3
r=(m>n) ? m : n;
Слайд 14Bitwise Operators
These operators allow manipulation of data at the bit level
Слайд 15Special Operators
Comma operator ( ,)
sizeof operator – sizeof( )
Pointer operators – (
& and *)
Member selection operators – ( . and ->)
Слайд 18Precedence of operators
BODMAS RULE-
Brackets of Division Multiplication Addition Subtraction
Brackets will have the
highest precedence and have to be
evaluated first, then comes of , then comes
division, multiplication, addition and finally subtraction.
C language uses some rules in evaluating the expressions
and they r called as precedence rules or sometimes also
referred to as hierarchy of operations, with some operators
with highest precedence and some with least.
The 2 distinct priority levels of arithmetic operators in c are-
Highest priority : * / %
Lowest priority : + -
Слайд 19Rules for Evaluation of Expression
First parenthesized sub expression from left to right
are evaluated.
If parentheses are nested, the evaluation begins with the innermost sub expression
The precedence rule is applied in determining the order of application of operators in evaluating sub expressions
The associatively rule is applied when 2 or more operators of the same precedence level appear in a sub expression.
Arithmetic expressions are evaluated from left to right using the rules of precedence
When parentheses are used, the expressions within parentheses assume highest priority
Слайд 21Example 1
Evaluate x1=(-b+ sqrt (b*b-4*a*c))/(2*a) @ a=1, b=-5, c=6
=(-(-5)+sqrt((-5)(-5)-4*1*6))/(2*1)
=(5 + sqrt((-5)(-5)-4*1*6))/(2*1)
=(5 +
sqrt(25 -4*1*6))/(2*1)
=(5 + sqrt(25 -4*6))/(2*1)
=(5 + sqrt(25 -24))/(2*1)
=(5 + sqrt(1))/(2*1)
=(5 + 1.0)/(2*1)
=(6.0)/(2*1)
=6.0/2 = 3.0