SlideShare a Scribd company logo
1 of 27
1
Abraham H.
Fundamentals of Programming I
Control Statements
2
Outline
 Introduction
 Conditional structure
 If and else
 The Selective Structure: Switch
 Iteration structures (loops)
 The while loop
 The do-while loop
 The for loop
 Jump statements
 The break statement
 The continue statement
3
Introduction
 C++ provides different forms of statements for different
purposes
 Declaration statements
 Assignment-like statements. etc
 The order in which statements are executed is called flow
control
 Branching statements
 specify alternate paths of execution, depending on the
outcome of a logical condition
 Loop statements
 specify computations, which need to be repeated until a
certain logical condition is satisfied.
4
Branching Mechanisms
 if-else statements
 Choice of two alternate statements based on condition
expression
 Example:
if (hrs > 40)
grossPay = rate*40 + 1.5*rate*(hrs-40);
else
grossPay = rate*hrs;
 if-else Statement syntax:
if (<boolean_expression>)
<yes_statement>
else
<no_statement>
 Note each alternative is only ONE statement!
 To have multiple statements execute in either branch  use
compound statement {}
5
Compound/Block Statement
 Only "get" one statement per branch
 Must use compound statement{}for multiples
 Also called a "block" statement
 Each block should have block statement
 Even if just one statement
 Enhances readability
if (myScore > yourScore)
{
cout << "I win!n";
Sum= Sum + 100;
}
else
{
cout << "I wish these were golf scores.n";
Sum= 0;
}
6
The Optional else
 else clause is optional
 If, in the false branch (else), you want "nothing" to
happen, leave it out
 Example:
if (sales >= minimum)
salary = salary + bonus;
cout << "Salary = %" << salary;
 Note: nothing to do for false condition, so there is no else
clause!
 Execution continues with cout statement
7
Nested Statements
 if-else statements contain smaller statements
 Compound or simple statements (we’ve seen)
 Can also contain any statement at all, including another if-
else stmt!
 Example:
if (speed > 55)
if (speed > 80)
cout << "You’re really speeding!";
else
cout << "You’re speeding.";
 Note proper indenting!
8
Multiway if-else: Display
 Not new, just different indenting
 Avoids "excessive" indenting
 Syntax:
9
Multiway if-else Example: Display
10
The switch Statement
 A new statement for controlling multiple branches
 Uses controlling expression which returns bool data type (T or
F)
 Syntax:
11
The switch Statement : Example
12
The switch: multiple case labels
 Execution "falls thru" until break
 switch provides a "point of entry"
 Example:
case "A":
case "a":
cout << "Excellent: you got an "A"!n";
break;
case "B":
case "b":
cout << "Good: you got a "B"!n";
break;
 Note: multiple labels provide same "entry"
13
switch Pitfalls/Tip
 Forgetting the break;
 No compiler error
 Execution simply "falls thru" other cases until break;
 Biggest use: MENUs
 Provides clearer "big-picture" view
 Shows menu structure effectively
 Each branch is one menu choice
14
switch and If-Else
switch example if-else equivalent
switch(x)
{
case 1:
cout<<"x is 1";
break;
case 2:
cout<<"x is 2";
break;
default:
cout<<"value of x unknown";
}
if(x == 1)
{
cout<<"x is 1";
}
else if(x == 2)
{
cout<<"x is 2";
}
else
{
cout<<"value of x unknown";
}
15
Iteration Structures (Loops)
 3 Types of loops in C++
 while
 Most flexible
 No "restrictions"
 do -while
 Least flexible
 Always executes loop body at least once
 for
 Natural "counting" loop
16
while Loops Syntax
// custom countdown using while
#include<iostream.h>
void main()
{
int n;
cout<<"Enter the starting number:";
cin>>n;
while(n>0)
{
cout<<n<<", ";
--n;
}
cout<<"FIRE!n";
}
Output:
Enter the starting number: 8
8, 7, 6, 5, 4, 3, 2, 1, FIRE!
17
do-while Loop Syntax
//number echoer
#include <iostream.h>
void main()
{
long n;
do{
cout<<"Enter number (0 to end): ";
cin>>n;
cout<<"You entered: " << n << "n";
}while(n != 0);
}
Output:
Enter number (0 to end): 12345
You entered: 12345
Enter number (0 to end): 160277
You entered: 160277
Enter number (0 to end): 0
You entered: 0
18
While vs. do-while
 Very similar, but…
 One important difference
 Issue is "WHEN" boolean expression is checked
 while: checks BEFORE body is executed
 do-while: checked AFTER body is executed
 After this difference, they’re essentially identical!
 while is more common, due to it’s ultimate "flexibility"
19
for Loop Syntax
for (Init_Action; Bool_Exp; Update_Action)
Body_Statement
 Like if-else, Body_Statement can be a block statement
 Much more typical
// countdown using a for loop
#include <iostream.h>
void main ()
{
for(int n=10; n>0; n--)
{
cout<< n << ", ";
}
cout<< "FIRE!n";
}
Output:
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, FIRE!
20
Converting Between For and While Loops
for (int i = 1; i < 1024; i *= 2){
cout << i << endl;
}
int i = 1;
while (i < 1024) {
cout << i << endl;
i *= 2;
}
21
Loop Pitfalls: Misplaced ;
 Watch the misplaced ; (semicolon)
 Example:
while (response != 0) ;
{
cout << "Enter val: ";
cin >> response;
}
 Notice the ";" after the while condition!
 Result here: INFINITE LOOP!
22
Loop Pitfalls: Infinite Loops
 Loop condition must evaluate to false at some iteration through
loop
 If not  infinite loop.
 Example:
while (1)
{
cout << "Hello ";
}
 A perfectly legal C++ loop  always infinite!
 Infinite loops can be desirable
 e.g., "Embedded Systems"
23
JUMP Statements -The break and continue Statements
 Flow of Control
 Recall how loops provide "graceful" and clear flow of
control in and out
 In RARE instances, can alter natural flow
 break;
 Forces loop to exit immediately.
 continue;
 Skips rest of loop body
 These statements violate natural flow
 Only used when absolutely necessary!
24
JUMP Statements -The break and continue Statements
 Break loop Example
// break loop example
#include<iostream.h>
void main()
{
int n;
for(n=10; n>0; n--)
{
cout<<n<<", ";
if(n==3)
{
cout<<"countdown aborted!";
break;
}
}
}
Output:
10, 9, 8, 7, 6, 5, 4, 3, countdown aborted!
25
JUMP Statements -The break and continue Statements
 Continue loop Example
// continue loop example
#include<iostream.h>
void main ()
{
for(int n=10; n>0; n--)
{
if(n==5)
continue;
cout<<n<<", ";
}
cout<<"FIRE!n";
}
Output:
10, 9, 8, 7, 6, 4, 3, 2, 1, FIRE!
26
Nested Loops
 Recall: ANY valid C++ statements can be
inside body of loop
 This includes additional loop statements!
 Called "nested loops"
 Requires careful indenting:
for (outer=0; outer<5; outer++)
for (inner=7; inner>2; inner--)
cout << outer << inner;
 Notice no { } since each body is one statement
 Good style dictates we use { } anyway
27
Thank You

More Related Content

Similar to 5.pptx fundamental programing one branch

Switch case and looping
Switch case and loopingSwitch case and looping
Switch case and looping
aprilyyy
 
12-Lec - Repetition For Loop.pptx
12-Lec - Repetition For Loop.pptx12-Lec - Repetition For Loop.pptx
12-Lec - Repetition For Loop.pptx
AqeelAbbas94
 

Similar to 5.pptx fundamental programing one branch (20)

Control structures
Control structuresControl structures
Control structures
 
Loops c++
Loops c++Loops c++
Loops c++
 
Switch case and looping
Switch case and loopingSwitch case and looping
Switch case and looping
 
Loops_and_FunctionsWeek4_0.ppt
Loops_and_FunctionsWeek4_0.pptLoops_and_FunctionsWeek4_0.ppt
Loops_and_FunctionsWeek4_0.ppt
 
Condition Stmt n Looping stmt.pptx
Condition Stmt n Looping stmt.pptxCondition Stmt n Looping stmt.pptx
Condition Stmt n Looping stmt.pptx
 
Programming Fundamentals lecture 8
Programming Fundamentals lecture 8Programming Fundamentals lecture 8
Programming Fundamentals lecture 8
 
Oop object oriented programing topics
Oop object oriented programing topicsOop object oriented programing topics
Oop object oriented programing topics
 
Janakiram web
Janakiram webJanakiram web
Janakiram web
 
Iterative control structures, looping, types of loops, loop working
Iterative control structures, looping, types of loops, loop workingIterative control structures, looping, types of loops, loop working
Iterative control structures, looping, types of loops, loop working
 
Loops and conditional statements
Loops and conditional statementsLoops and conditional statements
Loops and conditional statements
 
12-Lec - Repetition For Loop.pptx
12-Lec - Repetition For Loop.pptx12-Lec - Repetition For Loop.pptx
12-Lec - Repetition For Loop.pptx
 
Chapter 3 - Flow of Control Part II.pdf
Chapter 3  - Flow of Control Part II.pdfChapter 3  - Flow of Control Part II.pdf
Chapter 3 - Flow of Control Part II.pdf
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Loops IN COMPUTER SCIENCE STANDARD 11 BY KR
Loops IN COMPUTER SCIENCE STANDARD 11 BY KRLoops IN COMPUTER SCIENCE STANDARD 11 BY KR
Loops IN COMPUTER SCIENCE STANDARD 11 BY KR
 
Chp4_C++_Control Structures-Part2_Iteration.pptx
Chp4_C++_Control Structures-Part2_Iteration.pptxChp4_C++_Control Structures-Part2_Iteration.pptx
Chp4_C++_Control Structures-Part2_Iteration.pptx
 
Control Statement.ppt
Control Statement.pptControl Statement.ppt
Control Statement.ppt
 
Loops
LoopsLoops
Loops
 
Iteration
IterationIteration
Iteration
 
Repetition loop
Repetition loopRepetition loop
Repetition loop
 
Object oriented programming system with C++
Object oriented programming system with C++Object oriented programming system with C++
Object oriented programming system with C++
 

Recently uploaded

FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 

Recently uploaded (20)

Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spain
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 

5.pptx fundamental programing one branch

  • 1. 1 Abraham H. Fundamentals of Programming I Control Statements
  • 2. 2 Outline  Introduction  Conditional structure  If and else  The Selective Structure: Switch  Iteration structures (loops)  The while loop  The do-while loop  The for loop  Jump statements  The break statement  The continue statement
  • 3. 3 Introduction  C++ provides different forms of statements for different purposes  Declaration statements  Assignment-like statements. etc  The order in which statements are executed is called flow control  Branching statements  specify alternate paths of execution, depending on the outcome of a logical condition  Loop statements  specify computations, which need to be repeated until a certain logical condition is satisfied.
  • 4. 4 Branching Mechanisms  if-else statements  Choice of two alternate statements based on condition expression  Example: if (hrs > 40) grossPay = rate*40 + 1.5*rate*(hrs-40); else grossPay = rate*hrs;  if-else Statement syntax: if (<boolean_expression>) <yes_statement> else <no_statement>  Note each alternative is only ONE statement!  To have multiple statements execute in either branch  use compound statement {}
  • 5. 5 Compound/Block Statement  Only "get" one statement per branch  Must use compound statement{}for multiples  Also called a "block" statement  Each block should have block statement  Even if just one statement  Enhances readability if (myScore > yourScore) { cout << "I win!n"; Sum= Sum + 100; } else { cout << "I wish these were golf scores.n"; Sum= 0; }
  • 6. 6 The Optional else  else clause is optional  If, in the false branch (else), you want "nothing" to happen, leave it out  Example: if (sales >= minimum) salary = salary + bonus; cout << "Salary = %" << salary;  Note: nothing to do for false condition, so there is no else clause!  Execution continues with cout statement
  • 7. 7 Nested Statements  if-else statements contain smaller statements  Compound or simple statements (we’ve seen)  Can also contain any statement at all, including another if- else stmt!  Example: if (speed > 55) if (speed > 80) cout << "You’re really speeding!"; else cout << "You’re speeding.";  Note proper indenting!
  • 8. 8 Multiway if-else: Display  Not new, just different indenting  Avoids "excessive" indenting  Syntax:
  • 10. 10 The switch Statement  A new statement for controlling multiple branches  Uses controlling expression which returns bool data type (T or F)  Syntax:
  • 12. 12 The switch: multiple case labels  Execution "falls thru" until break  switch provides a "point of entry"  Example: case "A": case "a": cout << "Excellent: you got an "A"!n"; break; case "B": case "b": cout << "Good: you got a "B"!n"; break;  Note: multiple labels provide same "entry"
  • 13. 13 switch Pitfalls/Tip  Forgetting the break;  No compiler error  Execution simply "falls thru" other cases until break;  Biggest use: MENUs  Provides clearer "big-picture" view  Shows menu structure effectively  Each branch is one menu choice
  • 14. 14 switch and If-Else switch example if-else equivalent switch(x) { case 1: cout<<"x is 1"; break; case 2: cout<<"x is 2"; break; default: cout<<"value of x unknown"; } if(x == 1) { cout<<"x is 1"; } else if(x == 2) { cout<<"x is 2"; } else { cout<<"value of x unknown"; }
  • 15. 15 Iteration Structures (Loops)  3 Types of loops in C++  while  Most flexible  No "restrictions"  do -while  Least flexible  Always executes loop body at least once  for  Natural "counting" loop
  • 16. 16 while Loops Syntax // custom countdown using while #include<iostream.h> void main() { int n; cout<<"Enter the starting number:"; cin>>n; while(n>0) { cout<<n<<", "; --n; } cout<<"FIRE!n"; } Output: Enter the starting number: 8 8, 7, 6, 5, 4, 3, 2, 1, FIRE!
  • 17. 17 do-while Loop Syntax //number echoer #include <iostream.h> void main() { long n; do{ cout<<"Enter number (0 to end): "; cin>>n; cout<<"You entered: " << n << "n"; }while(n != 0); } Output: Enter number (0 to end): 12345 You entered: 12345 Enter number (0 to end): 160277 You entered: 160277 Enter number (0 to end): 0 You entered: 0
  • 18. 18 While vs. do-while  Very similar, but…  One important difference  Issue is "WHEN" boolean expression is checked  while: checks BEFORE body is executed  do-while: checked AFTER body is executed  After this difference, they’re essentially identical!  while is more common, due to it’s ultimate "flexibility"
  • 19. 19 for Loop Syntax for (Init_Action; Bool_Exp; Update_Action) Body_Statement  Like if-else, Body_Statement can be a block statement  Much more typical // countdown using a for loop #include <iostream.h> void main () { for(int n=10; n>0; n--) { cout<< n << ", "; } cout<< "FIRE!n"; } Output: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, FIRE!
  • 20. 20 Converting Between For and While Loops for (int i = 1; i < 1024; i *= 2){ cout << i << endl; } int i = 1; while (i < 1024) { cout << i << endl; i *= 2; }
  • 21. 21 Loop Pitfalls: Misplaced ;  Watch the misplaced ; (semicolon)  Example: while (response != 0) ; { cout << "Enter val: "; cin >> response; }  Notice the ";" after the while condition!  Result here: INFINITE LOOP!
  • 22. 22 Loop Pitfalls: Infinite Loops  Loop condition must evaluate to false at some iteration through loop  If not  infinite loop.  Example: while (1) { cout << "Hello "; }  A perfectly legal C++ loop  always infinite!  Infinite loops can be desirable  e.g., "Embedded Systems"
  • 23. 23 JUMP Statements -The break and continue Statements  Flow of Control  Recall how loops provide "graceful" and clear flow of control in and out  In RARE instances, can alter natural flow  break;  Forces loop to exit immediately.  continue;  Skips rest of loop body  These statements violate natural flow  Only used when absolutely necessary!
  • 24. 24 JUMP Statements -The break and continue Statements  Break loop Example // break loop example #include<iostream.h> void main() { int n; for(n=10; n>0; n--) { cout<<n<<", "; if(n==3) { cout<<"countdown aborted!"; break; } } } Output: 10, 9, 8, 7, 6, 5, 4, 3, countdown aborted!
  • 25. 25 JUMP Statements -The break and continue Statements  Continue loop Example // continue loop example #include<iostream.h> void main () { for(int n=10; n>0; n--) { if(n==5) continue; cout<<n<<", "; } cout<<"FIRE!n"; } Output: 10, 9, 8, 7, 6, 4, 3, 2, 1, FIRE!
  • 26. 26 Nested Loops  Recall: ANY valid C++ statements can be inside body of loop  This includes additional loop statements!  Called "nested loops"  Requires careful indenting: for (outer=0; outer<5; outer++) for (inner=7; inner>2; inner--) cout << outer << inner;  Notice no { } since each body is one statement  Good style dictates we use { } anyway