Lecture 9 PF
Lecture 9 PF
FUNDAMENTALS LECTURE #
9
C O N T R O L STRUCTURES
• In sequence
2
C O N T R O L STRUCTURES
3
C O N T R O L STRUCTURES
4
O N E - WAY S E L E C T I O N
• if is a reserved word
5
O N E - WAY S E L E C T I O N
6
O N E - WAY S E L E C T I O N
7
O N E - WAY S E L E C T I O N
8
O N E - WAY S E L E C T I O N
9
T W O - WAY S E L E C T I O N
10
T W O - WAY S E L E C T I O N
11
T W O - WAY S E L E C T I O N
12
T W O - WAY S E L E C T I O N
13
C O M P O U N D ( B L O C K OF S TAT
EMENTS)
14
C O M P O U N D ( B L O C K OF S TAT
EMENTS)
15
D E C I S I O N M A K I N G : E Q U A L I T Y A N D REL AT I O N A L OPER
ATOR S
if structure
• Decision based on truth or false of
condition
• If condition met, body executed
• Else, body not executed
16
D E C I S I O N M A K I N G : E Q U A L I T Y A N D REL AT I O N A L OPER
ATOR S
C++
Standard C++
relation Meaning
algebraic condition
al
equality
operato
operator
r
Relational operators
Equality operators
= == x == y x is equal to y
!= x != y x is not equal to y
17
REL AT I O N A L OPER
ATOR S
• Relational
operators:
• Allow
comparisons
• Require two
operands
(binary)
• Evaluate to true
or false
18
REL AT I O N A L OPER ATOR S A N D S AMPLE DATA
TYPES
19
C O M PA R I N G C H A RA C T E R S
20
C O M PA R I S O N OF
C H A RA C T E R S
• For characters
21
REL AT I O N A L A N D E Q U A L I T Y OPER ATOR S
( CONT.)
22
PRECEDENCE
Operato Precedence
rs highest (applied
() first)
*/%
+-
< <= >
>=
== !=
lowest (applied
= last)
23
LO G I C A L OPER ATOR S A N D LO G I C A L
EXPRESSIONS
Operator Description
! NOT
&& AND
| OR
24
LO G I C A L OPER ATOR S A N D LO G I C A L
EXPRESSIONS
25
O R D E R OF P R E C E D E N C E
26
O R D E R OF P R E C E D E N C E
29
LO G I C A L OPER ATOR S A N D LO G I C A L
EXPRESSIONS
30
C O N D I T I O N A L OPER ATOR
(? :)
• Ternary operator
31
C O N D I T I O N A L OPER ATOR
(? :)
if(x >= y)
large = x;
else
large = y;
32
M U LT IPLE SE LE C TIONS: N E S T E D IF ( C O N T ’
D.)
33
M U LT IPLE SE LE C TIONS: N E S T E D IF ( C O N T ’
D.)
34
M U LT IPLE SE LE C TIONS: N E S T E D IF ( C O N T ’
D.)
35
IF- ELSE PAIRING
Assume that all the variables are properly declared and consider the
following
statements:
if (gender == 'M') //Line 1
if(age < //Line 2
21) policyRate = //Line 3
0.05;
els //Line 4
e policyRate = //Line 5
0.035;
else if (gender == //Line 6
'F’)
//Line 7
if(age < policyRate = //Line 8
21) 0.04;
els //Line 9
e policyRate = //Line
0.03; 10
In this code, the else in Line 4 is paired with the if in Line 2. Note that for the else in Line
4, the most recent incomplete if is the if in Line 2. The else in Line 6 is paired with the if in
Line 1. The else in Line 9 is paired with the if in Line 7. Once again the indentation
does not determine the pairing, but it communicates the pairing
36
C O M PA R I N G IF- ELSE S TAT
E ME NTS
37
SHORT- C I RC U I T EVALUAT I O N
• Example:
7)
38
SHORT- C I RC U I T ANALYSIS
int a=10;
int b = 5;
39
A S S O C I AT IVITY OF REL AT I O N A L OPER
ATOR S
#include<iostream>
using namespace std;
int main()
{
int x;
cout << "Enter and integer =
40
A S S O C I AT IVITY OF REL AT I O N A L OPER
ATOR S
• x=
7
0 <= x <= = 0 <= 7 <=
10 10
= (0 <=7) <= Because relationship operators are
10 evaluated from left to right
= 1 <= 10 Because 0<=7 is true, 0<=7 evaluates to 1
= 1 (true)
• x=
030
<= x <= = 0 <= 30 <=
10 10
= (0 <=30) Because relationship operators are
<= 10 evaluated
from left to right
= 1 <= 10 Because 0<=30 is true, 0<=30 evaluates
to 1
= 1 (true)
Solution:
0 <= x && x
<= 10
41
E Q U A L I T Y ( ==) OPER ATOR VS A S S I G N M E N T ( =)
OPER ATOR
if (x = 5)
• It is a logical error
42
EN
D