SlideShare a Scribd company logo
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

PPTX
Control structures
PPT
03 conditions loops
PPT
Loops_and_FunctionsWeek4_0.ppt
PPTX
Comp ppt (1)
PDF
Chapter 3 Computer Programmingodp-1_250331_041044.pdf
PDF
Control statements
PDF
chap2cpp4th.pdf
PPTX
Basic C concepts.
Control structures
03 conditions loops
Loops_and_FunctionsWeek4_0.ppt
Comp ppt (1)
Chapter 3 Computer Programmingodp-1_250331_041044.pdf
Control statements
chap2cpp4th.pdf
Basic C concepts.

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

PPTX
Lect3-C--EEB.pptx
PPTX
Loops IN COMPUTER SCIENCE STANDARD 11 BY KR
PDF
PPT
PPTX
C++ decision making
DOC
Control structures
PDF
PPT
Lecture 1
PPT
Lecture 1
PDF
CS305PC_C++_UNIT 2.pdf jntuh third semester
PDF
C++ control structure
PPTX
Introduction& Overview-to-C++_programming.pptx
PPTX
Introduction to C++ programming language
PPT
Control structure C++
PPT
C++ chapter 4
PPTX
Cs1123 6 loops
PPTX
Oop object oriented programing topics
PPTX
LOOPS IN PROGRAMMING - Muqaddas Bin Tahir .pptx
PPTX
Programming Fundamentals in C++ structures
PPT
My programming final proj. (1)
Lect3-C--EEB.pptx
Loops IN COMPUTER SCIENCE STANDARD 11 BY KR
C++ decision making
Control structures
Lecture 1
Lecture 1
CS305PC_C++_UNIT 2.pdf jntuh third semester
C++ control structure
Introduction& Overview-to-C++_programming.pptx
Introduction to C++ programming language
Control structure C++
C++ chapter 4
Cs1123 6 loops
Oop object oriented programing topics
LOOPS IN PROGRAMMING - Muqaddas Bin Tahir .pptx
Programming Fundamentals in C++ structures
My programming final proj. (1)
Ad

Recently uploaded (20)

PPT
Project quality management in manufacturing
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
OOP with Java - Java Introduction (Basics)
PDF
Digital Logic Computer Design lecture notes
PPTX
Geodesy 1.pptx...............................................
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
additive manufacturing of ss316l using mig welding
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
Well-logging-methods_new................
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Project quality management in manufacturing
Automation-in-Manufacturing-Chapter-Introduction.pdf
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
OOP with Java - Java Introduction (Basics)
Digital Logic Computer Design lecture notes
Geodesy 1.pptx...............................................
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
CH1 Production IntroductoryConcepts.pptx
bas. eng. economics group 4 presentation 1.pptx
additive manufacturing of ss316l using mig welding
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Internet of Things (IOT) - A guide to understanding
UNIT 4 Total Quality Management .pptx
Model Code of Practice - Construction Work - 21102022 .pdf
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
Well-logging-methods_new................
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Ad

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