0% found this document useful (0 votes)
51 views

Operators and Expressions

operators can be use in any program or you can say without operators a program is useless. it tells us how, where, and why these operators are to be used in a program.

Uploaded by

SwatiSuman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views

Operators and Expressions

operators can be use in any program or you can say without operators a program is useless. it tells us how, where, and why these operators are to be used in a program.

Uploaded by

SwatiSuman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 20

Operators and Expressions

Expressions
Combination of Operators and Operands

Operators
Example

2*y+5
Operands

Operators
4 Types

Arithmetic

Logical

Relational

Bitwise

Arithmetic Expressions
Mathematical expressions can be expressed in C using
arithmetic operators
Examples
++i % 7
5 + (c = 3 + 8)
a * (b + c/d)22

Relational Operators
Used to
Test the relationship between two variables, or between a variable and a
constant

Relational Operators

Logical Operators
Logical operators are symbols that are used to combine or
negate expressions containing relational operators

Example: if (a>10) && (a<20)


Expressions that use logical operators return zero for false, and 1 for true

True table
Variable

Expression

A && B

A || B

!A

Bitwise Logical Operators


Processes data after converting number to its
binary equivalent. (Bit wise representation)
AND
( NUM1 & NUM2)

Return 1 if both the operands are 1

OR
( NUM1 | NUM2 )

Returns 1 if bits of either of the


operand are 1

NOT
( ~ NUM1)

Reverses the bits of its operand


( from 0 to 1 and 1 to 0)

XOR
Returns 1 if either of the bits in an
( NUM1 ^ NUM2) operand is 1 but not both

True table
bit

Expression

A&B

A|B

~A

A^B

Examples
Example
10 & 15 1010 & 11111010 10
10 | 15 1010 | 11111111 15
10 ^ 15 1010 ^ 11110101 5
~ 10 ~1010 1011 -11

Precedence Of Operators

Precedence establishes the hierarchy of one set of operators


over another when an arithmetic expression is to be evaluated

It refers to the order in which C evaluates operators


The precedence of the operators can be altered by enclosing
the expressions in parentheses

Operator Class

Operators

Associativity

Unary

- ++ --

Right to Left

Binary

Left to Right

Binary

*/%

Left to Right

Binary

+-

Left to Right

Binary

Right to Left

Precedence Of Operators-2

Precedence between comparison


Operators
Always evaluated from left to right

Precedence for Logical


Operators
Precedence

Operator

NOT

AND

OR

When multiple instances of a logical operator are used


in a condition, they are evaluated from right to left

Precedence for Logical


Operators-2
Consider the following expression
False OR True AND NOT False AND True
This condition gets evaluated as shown below:
False OR True AND [NOT False] AND True
NOT has the highest precedence.
False OR True AND [True AND True]
AND is the operator of the highest precedence and operators of the same
precedence are evaluated from right to left
False OR [True AND True]
[False OR True]
True

Precedence among
Operators-1
When an equation uses more than one type of operator then
the order of precedence has to be established with the
different types of operators

Precedence
1
2
3

Type of Operator
Arithmetic
Comparison
Logical

Precedence among
Operators-2
Consider the following example:
2*3+4/2 > 3 AND 3<5 OR 10<9
[2*3+4/2] > 3 AND 3<5 OR 10<9
[[2*3]+[4/2]] > 3 AND 3<5 OR 10<9
[6+2] >3 AND 3<5 OR 10<9
[8 >3] AND [3<5] OR [10<9]
True AND True OR False
[True AND True] OR False
True OR False
True

Changing Precedence-1
Parenthesis ( ) has the highest level of precedence
The precedence of operators can be modified using
parenthesis ( )
Operator of lower precedence with parenthesis
assume highest precedence and gets executed first
In case of nested Parenthesis ( ( ( ) ) ) the inner
most parenthesis gets evaluated first
An expression consisting of many set of parenthesis
gets processed from left to right

Changing Precedence-2
Consider the following example:

5+9*3^2-4 > 10 AND (2+2^4-8/4 > 6 OR (2<6 AND 10>11))

5+9*3^2-4
5+9*3^2-4
5+9*3^2-4
5+9*3^2-4
5+9*3^2-4
5+9*3^2-4
5+9*3^2-4
5+9*3^2-4

> 10 AND (2+2^4-8/4 > 6 OR (True AND False))


> 10 AND (2+2^4-8/4 > 6 OR False)
>10 AND (2+16-8/4 > 6 OR False)
> 10 AND (2+16-2 > 6 OR False)
> 10 AND (18-2 > 6 OR False)
> 10 AND (16 > 6 OR False)
> 10 AND (True OR False)
> 10 AND True

Changing Precedence-4
5+9*9-4>10 AND True
5+81-4>10 AND True
86-4>10 AND True
82>10 AND True
True AND True
True

You might also like