SlideShare a Scribd company logo
1 of 28
CONTROL STRUCTURES
   (REPETITION)
Objectives

In this chapter, you will:
• Learn about repetition (looping) control structures
• Explore how to construct and use count-controlled,
   sentinel-controlled, flag-controlled, and EOF-
   controlled repetition structures
• Examine break and continue statements
• Discover how to form and use nested control
   structures
while Looping (Repetition) Structure
• The general form of the while statement is:


    while is a reserved word
•   Statement can be simple or compound
•   Expression acts as a decision maker and is usually a
    logical expression
•   Statement is called the body of the loop
•   The parentheses are part of the syntax
while Looping (Repetition) Structure
(continued)




• Infinite loop: continues to execute endlessly
   – Avoided by including statements in loop body that
     assure exit condition is eventually false
while Looping (Repetition) Structure
(continued)
• Example:
Case 1: Counter-Controlled while Loops
• If you know exactly how many pieces of data need
  to be read, the while loop becomes a counter-
  controlled loop:
Case 2: Sentinel-Controlled while Loops
• Sentinel variable is tested in the condition and loop
  ends when sentinel is encountered
Case 3: Flag-Controlled while Loops
• A flag-controlled while loop uses a bool variable
  to control the loop
• The flag-controlled while loop takes the form:
Case 4: EOF-Controlled while Loops
• Use an EOF (End Of File)-controlled while loop
• The logical value returned by cin can determine if
  the program has ended input
More on Expressions in while
Statements
• The expression in a while statement can be
  complex
  – For example:
     while ((noOfGuesses < 5) && (!isGuessed))
     {
         …
     }
for Looping (Repetition) Structure
• The general form of the for statement is:




• The initial statement, loop
  condition, and update statement are
  called for loop control statements
   – initial statement usually initializes a variable
     (called the for loop control, or for indexed, variable)
• In C++, for is a reserved word
for Looping (Repetition) Structure
(continued)
for Looping (Repetition) Structure
(continued)
for Looping (Repetition) Structure
(continued)




 • The output will be five lines of “Hello” and a line of
 “*”
 • Without the loop block (curly braces), only the first
 statement will be considered for the loop.
for Looping (Repetition) Structure
(continued)
• C++ allows you to use fractional values for loop control
  variables of the double type
   – Results may differ
• The following is a semantic error:




• The following is a legal for loop:
     for (;;)
         cout << "Hello" << endl;
for Looping (Repetition) Structure
(continued)
for Looping (Repetition) Structure
(continued)
do…while Looping (Repetition) Structure
• General form of a do...while:




• The statement executes first, and then the
  expression is evaluated
• To avoid an infinite loop, body must contain a statement
  that makes the expression false
• The statement can be simple or compound
• Loop always iterates at least once
do…while Looping (Repetition) Structure
(continued)
do…while Looping (Repetition) Structure
(continued)
do…while Looping (Repetition) Structure
(continued)
Choosing the Right Looping Structure
• All three loops have their place in C++
  – If you know or can determine in advance the
    number of repetitions needed, the for loop is the
    correct choice
  – If you do not know and cannot determine in
    advance the number of repetitions needed, and it
    could be zero, use a while loop
  – If you do not know and cannot determine in
    advance the number of repetitions needed, and it
    is at least one, use a do...while loop
break and continue Statements

• break and continue alter the flow of control
• break statement is used for two purposes:
   – To exit early from a loop
      • Can eliminate the use of certain (flag) variables
   – To skip the remainder of the switch structure
• After the break statement executes, the program
  continues with the first statement after the structure
break & continue Statements
(continued)
• continue is used in while, for, and do…
  while structures
• When executed in a loop
  – It skips remaining statements and proceeds with
    the next iteration of the loop
Nested Control Structures
• To create the following pattern:
      *
      **
      ***
      ****
      *****
• We can use the following code:
      for (i = 1; i <= 5 ; i++)
      {
            for (j = 1; j <= i; j++)
                  cout << "*";
            cout << endl;
      }
Nested Control Structures (continued)
• What is the output of the following loops?

   for (i = 5; i >= 1; i--)
   {
              for (j = 1; j <= i; j++)
                  cout << "*";
              cout << endl;
   }
   Answer:
                         *****
                         ****
                         ***
                         **
                         *
Summary
• C++ has three looping (repetition) structures:
   – while, for, and do…while
• while, for, and do are reserved words
• while and for loops are called pretest loops
• do...while loop is called a posttest loop
• while and for may not execute at all, but
  do...while always executes at least once
• while: expression is the decision maker, and the
  statement is the body of the loop
Summary (continued)
• A while loop can be:
   – Counter-controlled
   – Sentinel-controlled
   – EOF-controlled
• In the Windows console environment, the end-of-file marker
  is entered using Ctrl+z
• for loop: simplifies the writing of a counter-controlled while
  loop
• Executing a break statement in the body of a loop
  immediately terminates the loop
• Executing a continue statement in the body of a
  loop skips to the next iteration
 Source:
 C++ Programming: From Problem Analysis to Program Design, Fourth Edition

More Related Content

What's hot (20)

Recursion in c++
Recursion in c++Recursion in c++
Recursion in c++
 
Basics of c++ Programming Language
Basics of c++ Programming LanguageBasics of c++ Programming Language
Basics of c++ Programming Language
 
pseudo code basics
pseudo code basicspseudo code basics
pseudo code basics
 
Procedure and Functions in pl/sql
Procedure and Functions in pl/sqlProcedure and Functions in pl/sql
Procedure and Functions in pl/sql
 
C++ decision making
C++ decision makingC++ decision making
C++ decision making
 
Friend function
Friend functionFriend function
Friend function
 
10. switch case
10. switch case10. switch case
10. switch case
 
Data types in c++
Data types in c++Data types in c++
Data types in c++
 
Programming in C Presentation upto FILE
Programming in C Presentation upto FILEProgramming in C Presentation upto FILE
Programming in C Presentation upto FILE
 
Control Flow Statements
Control Flow Statements Control Flow Statements
Control Flow Statements
 
Branching in C
Branching in CBranching in C
Branching in C
 
Control statements in c
Control statements in cControl statements in c
Control statements in c
 
Exception Handling in Java
Exception Handling in JavaException Handling in Java
Exception Handling in Java
 
C by balaguruswami - e.balagurusamy
C   by balaguruswami - e.balagurusamyC   by balaguruswami - e.balagurusamy
C by balaguruswami - e.balagurusamy
 
Pseudocode
PseudocodePseudocode
Pseudocode
 
Function in C
Function in CFunction in C
Function in C
 
C++ string
C++ stringC++ string
C++ string
 
Control structures in C
Control structures in CControl structures in C
Control structures in C
 
Unit 1-problem solving with algorithm
Unit 1-problem solving with algorithmUnit 1-problem solving with algorithm
Unit 1-problem solving with algorithm
 
Type conversion
Type conversionType conversion
Type conversion
 

Viewers also liked

Viewers also liked (20)

Loops
LoopsLoops
Loops
 
control statements of clangauge (ii unit)
control statements of clangauge (ii unit)control statements of clangauge (ii unit)
control statements of clangauge (ii unit)
 
Loops
LoopsLoops
Loops
 
Algorithm and Programming (Looping Structure)
Algorithm and Programming (Looping Structure)Algorithm and Programming (Looping Structure)
Algorithm and Programming (Looping Structure)
 
9781439035665 ppt ch05
9781439035665 ppt ch059781439035665 ppt ch05
9781439035665 ppt ch05
 
الدرس 2 من #دورة_الجافا - طرق حل المشكلات البرمجية
الدرس 2 من #دورة_الجافا - طرق حل المشكلات البرمجيةالدرس 2 من #دورة_الجافا - طرق حل المشكلات البرمجية
الدرس 2 من #دورة_الجافا - طرق حل المشكلات البرمجية
 
Fac – breast cancer
Fac – breast cancerFac – breast cancer
Fac – breast cancer
 
Loops Basics
Loops BasicsLoops Basics
Loops Basics
 
Loops in C
Loops in CLoops in C
Loops in C
 
C++ loop
C++ loop C++ loop
C++ loop
 
Loops c++
Loops c++Loops c++
Loops c++
 
Loops in C Programming
Loops in C ProgrammingLoops in C Programming
Loops in C Programming
 
Flowchart and algorithm
Flowchart and algorithmFlowchart and algorithm
Flowchart and algorithm
 
Unit 3 principles of programming language
Unit 3 principles of programming languageUnit 3 principles of programming language
Unit 3 principles of programming language
 
Introduction to Algorithms
Introduction to AlgorithmsIntroduction to Algorithms
Introduction to Algorithms
 
Algorithms
AlgorithmsAlgorithms
Algorithms
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 
Writing algorithms
Writing algorithmsWriting algorithms
Writing algorithms
 
Introduction to Pseudocode
Introduction to PseudocodeIntroduction to Pseudocode
Introduction to Pseudocode
 
Algorithm and flowchart2010
Algorithm and flowchart2010Algorithm and flowchart2010
Algorithm and flowchart2010
 

Similar to Control structures repetition

Object oriented programming18 control structures looping
Object oriented programming18 control structures loopingObject oriented programming18 control structures looping
Object oriented programming18 control structures loopingVaibhav Khanna
 
Control Statement IN C.pptx
Control Statement IN C.pptxControl Statement IN C.pptx
Control Statement IN C.pptxsujatha629799
 
Object oriented programming17 control structures repetition statements
Object oriented programming17 control structures repetition statementsObject oriented programming17 control structures repetition statements
Object oriented programming17 control structures repetition statementsVaibhav Khanna
 
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 KRKrishna Raj
 
Operators loops conditional and statements
Operators loops conditional and statementsOperators loops conditional and statements
Operators loops conditional and statementsVladislav Hadzhiyski
 
03 conditions loops
03   conditions loops03   conditions loops
03 conditions loopsManzoor ALam
 
Break, continue and return
Break, continue and return Break, continue and return
Break, continue and return Jadavsejal
 

Similar to Control structures repetition (20)

Object oriented programming18 control structures looping
Object oriented programming18 control structures loopingObject oriented programming18 control structures looping
Object oriented programming18 control structures looping
 
ch5.ppt
ch5.pptch5.ppt
ch5.ppt
 
chapter 6.pptx
chapter 6.pptxchapter 6.pptx
chapter 6.pptx
 
C language (Part 2)
C language (Part 2)C language (Part 2)
C language (Part 2)
 
Control Statement IN C.pptx
Control Statement IN C.pptxControl Statement IN C.pptx
Control Statement IN C.pptx
 
8 statement level
8 statement level8 statement level
8 statement level
 
Object oriented programming17 control structures repetition statements
Object oriented programming17 control structures repetition statementsObject oriented programming17 control structures repetition statements
Object oriented programming17 control structures repetition statements
 
Iteration
IterationIteration
Iteration
 
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
 
Operators loops conditional and statements
Operators loops conditional and statementsOperators loops conditional and statements
Operators loops conditional and statements
 
Programming in Arduino (Part 2)
Programming in Arduino  (Part 2)Programming in Arduino  (Part 2)
Programming in Arduino (Part 2)
 
Slide 6_Control Structures.pdf
Slide 6_Control Structures.pdfSlide 6_Control Structures.pdf
Slide 6_Control Structures.pdf
 
M C6java6
M C6java6M C6java6
M C6java6
 
Loops
LoopsLoops
Loops
 
03 conditions loops
03   conditions loops03   conditions loops
03 conditions loops
 
Presentation1
Presentation1Presentation1
Presentation1
 
Break, continue and return
Break, continue and return Break, continue and return
Break, continue and return
 
Looping in c language
Looping in c languageLooping in c language
Looping in c language
 
Looping statements
Looping statementsLooping statements
Looping statements
 
Looping statements
Looping statementsLooping statements
Looping statements
 

More from Online

Philosophy of early childhood education 3
Philosophy of early childhood education 3Philosophy of early childhood education 3
Philosophy of early childhood education 3Online
 
Philosophy of early childhood education 2
Philosophy of early childhood education 2Philosophy of early childhood education 2
Philosophy of early childhood education 2Online
 
Philosophy of early childhood education 1
Philosophy of early childhood education 1Philosophy of early childhood education 1
Philosophy of early childhood education 1Online
 
Philosophy of early childhood education 4
Philosophy of early childhood education 4Philosophy of early childhood education 4
Philosophy of early childhood education 4Online
 
Operation and expression in c++
Operation and expression in c++Operation and expression in c++
Operation and expression in c++Online
 
Functions
FunctionsFunctions
FunctionsOnline
 
Formatted input and output
Formatted input and outputFormatted input and output
Formatted input and outputOnline
 
Control structures selection
Control structures   selectionControl structures   selection
Control structures selectionOnline
 
Introduction to problem solving in c++
Introduction to problem solving in c++Introduction to problem solving in c++
Introduction to problem solving in c++Online
 
Optical transmission technique
Optical transmission techniqueOptical transmission technique
Optical transmission techniqueOnline
 
Multi protocol label switching (mpls)
Multi protocol label switching (mpls)Multi protocol label switching (mpls)
Multi protocol label switching (mpls)Online
 
Lan technologies
Lan technologiesLan technologies
Lan technologiesOnline
 
Introduction to internet technology
Introduction to internet technologyIntroduction to internet technology
Introduction to internet technologyOnline
 
Internet standard routing protocols
Internet standard routing protocolsInternet standard routing protocols
Internet standard routing protocolsOnline
 
Internet protocol
Internet protocolInternet protocol
Internet protocolOnline
 
Application protocols
Application protocolsApplication protocols
Application protocolsOnline
 
Addressing
AddressingAddressing
AddressingOnline
 
Transport protocols
Transport protocolsTransport protocols
Transport protocolsOnline
 
Leadership
LeadershipLeadership
LeadershipOnline
 
Introduction to management
Introduction to managementIntroduction to management
Introduction to managementOnline
 

More from Online (20)

Philosophy of early childhood education 3
Philosophy of early childhood education 3Philosophy of early childhood education 3
Philosophy of early childhood education 3
 
Philosophy of early childhood education 2
Philosophy of early childhood education 2Philosophy of early childhood education 2
Philosophy of early childhood education 2
 
Philosophy of early childhood education 1
Philosophy of early childhood education 1Philosophy of early childhood education 1
Philosophy of early childhood education 1
 
Philosophy of early childhood education 4
Philosophy of early childhood education 4Philosophy of early childhood education 4
Philosophy of early childhood education 4
 
Operation and expression in c++
Operation and expression in c++Operation and expression in c++
Operation and expression in c++
 
Functions
FunctionsFunctions
Functions
 
Formatted input and output
Formatted input and outputFormatted input and output
Formatted input and output
 
Control structures selection
Control structures   selectionControl structures   selection
Control structures selection
 
Introduction to problem solving in c++
Introduction to problem solving in c++Introduction to problem solving in c++
Introduction to problem solving in c++
 
Optical transmission technique
Optical transmission techniqueOptical transmission technique
Optical transmission technique
 
Multi protocol label switching (mpls)
Multi protocol label switching (mpls)Multi protocol label switching (mpls)
Multi protocol label switching (mpls)
 
Lan technologies
Lan technologiesLan technologies
Lan technologies
 
Introduction to internet technology
Introduction to internet technologyIntroduction to internet technology
Introduction to internet technology
 
Internet standard routing protocols
Internet standard routing protocolsInternet standard routing protocols
Internet standard routing protocols
 
Internet protocol
Internet protocolInternet protocol
Internet protocol
 
Application protocols
Application protocolsApplication protocols
Application protocols
 
Addressing
AddressingAddressing
Addressing
 
Transport protocols
Transport protocolsTransport protocols
Transport protocols
 
Leadership
LeadershipLeadership
Leadership
 
Introduction to management
Introduction to managementIntroduction to management
Introduction to management
 

Recently uploaded

Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 

Recently uploaded (20)

Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 

Control structures repetition

  • 1. CONTROL STRUCTURES (REPETITION)
  • 2. Objectives In this chapter, you will: • Learn about repetition (looping) control structures • Explore how to construct and use count-controlled, sentinel-controlled, flag-controlled, and EOF- controlled repetition structures • Examine break and continue statements • Discover how to form and use nested control structures
  • 3. while Looping (Repetition) Structure • The general form of the while statement is: while is a reserved word • Statement can be simple or compound • Expression acts as a decision maker and is usually a logical expression • Statement is called the body of the loop • The parentheses are part of the syntax
  • 4. while Looping (Repetition) Structure (continued) • Infinite loop: continues to execute endlessly – Avoided by including statements in loop body that assure exit condition is eventually false
  • 5. while Looping (Repetition) Structure (continued) • Example:
  • 6. Case 1: Counter-Controlled while Loops • If you know exactly how many pieces of data need to be read, the while loop becomes a counter- controlled loop:
  • 7. Case 2: Sentinel-Controlled while Loops • Sentinel variable is tested in the condition and loop ends when sentinel is encountered
  • 8. Case 3: Flag-Controlled while Loops • A flag-controlled while loop uses a bool variable to control the loop • The flag-controlled while loop takes the form:
  • 9. Case 4: EOF-Controlled while Loops • Use an EOF (End Of File)-controlled while loop • The logical value returned by cin can determine if the program has ended input
  • 10. More on Expressions in while Statements • The expression in a while statement can be complex – For example: while ((noOfGuesses < 5) && (!isGuessed)) { … }
  • 11. for Looping (Repetition) Structure • The general form of the for statement is: • The initial statement, loop condition, and update statement are called for loop control statements – initial statement usually initializes a variable (called the for loop control, or for indexed, variable) • In C++, for is a reserved word
  • 12. for Looping (Repetition) Structure (continued)
  • 13. for Looping (Repetition) Structure (continued)
  • 14. for Looping (Repetition) Structure (continued) • The output will be five lines of “Hello” and a line of “*” • Without the loop block (curly braces), only the first statement will be considered for the loop.
  • 15. for Looping (Repetition) Structure (continued) • C++ allows you to use fractional values for loop control variables of the double type – Results may differ • The following is a semantic error: • The following is a legal for loop: for (;;) cout << "Hello" << endl;
  • 16. for Looping (Repetition) Structure (continued)
  • 17. for Looping (Repetition) Structure (continued)
  • 18. do…while Looping (Repetition) Structure • General form of a do...while: • The statement executes first, and then the expression is evaluated • To avoid an infinite loop, body must contain a statement that makes the expression false • The statement can be simple or compound • Loop always iterates at least once
  • 19. do…while Looping (Repetition) Structure (continued)
  • 20. do…while Looping (Repetition) Structure (continued)
  • 21. do…while Looping (Repetition) Structure (continued)
  • 22. Choosing the Right Looping Structure • All three loops have their place in C++ – If you know or can determine in advance the number of repetitions needed, the for loop is the correct choice – If you do not know and cannot determine in advance the number of repetitions needed, and it could be zero, use a while loop – If you do not know and cannot determine in advance the number of repetitions needed, and it is at least one, use a do...while loop
  • 23. break and continue Statements • break and continue alter the flow of control • break statement is used for two purposes: – To exit early from a loop • Can eliminate the use of certain (flag) variables – To skip the remainder of the switch structure • After the break statement executes, the program continues with the first statement after the structure
  • 24. break & continue Statements (continued) • continue is used in while, for, and do… while structures • When executed in a loop – It skips remaining statements and proceeds with the next iteration of the loop
  • 25. Nested Control Structures • To create the following pattern: * ** *** **** ***** • We can use the following code: for (i = 1; i <= 5 ; i++) { for (j = 1; j <= i; j++) cout << "*"; cout << endl; }
  • 26. Nested Control Structures (continued) • What is the output of the following loops? for (i = 5; i >= 1; i--) { for (j = 1; j <= i; j++) cout << "*"; cout << endl; } Answer: ***** **** *** ** *
  • 27. Summary • C++ has three looping (repetition) structures: – while, for, and do…while • while, for, and do are reserved words • while and for loops are called pretest loops • do...while loop is called a posttest loop • while and for may not execute at all, but do...while always executes at least once • while: expression is the decision maker, and the statement is the body of the loop
  • 28. Summary (continued) • A while loop can be: – Counter-controlled – Sentinel-controlled – EOF-controlled • In the Windows console environment, the end-of-file marker is entered using Ctrl+z • for loop: simplifies the writing of a counter-controlled while loop • Executing a break statement in the body of a loop immediately terminates the loop • Executing a continue statement in the body of a loop skips to the next iteration Source: C++ Programming: From Problem Analysis to Program Design, Fourth Edition