Download presentation
Presentation is loading. Please wait.
Published byMartin Barker Modified over 8 years ago
1
Chapter 8 Repetition Statements
2
Introduction Iteration - process of looping or the repetition of one or more statements Loop body - the statement, or statements, that will be repeated
3
8.1 General Repetition Concepts Two different categories of loops Pre-test: Test condition first - complete the body of the loop if condition is true Post-test: Test condition after body has executed once - body will only be repeated if the condition is true
4
8.1 General Repetition Concepts
5
Looping structures must have the following: Variable with an initial value that controls whether the body of the loop is executed (i.e., control variable) Conditional expression involving control variable Statement within the body where control variable is modified each time the body of the loop is executed
6
8.1 General Repetition Concepts Infinite loop – a loop that continuously executes - the program or loop has to be terminated by the user or programmer Usually an error situation Most common cause - failure to manipulate the control variable In Windows - pressing Ctrl + C causes program to stop execution
7
8.1 General Repetition Concepts Nested loop - loop embedded in another loop Almost any statement can be placed in loop body - including other loops or conditional statements Once finished, flow transfer's to the next statement following the loop
8
8.2 The while Loop Pre-test loop Syntax: while ( ) Action, or body, will continue to execute while the condition remains true If the body needs to include multiple statements, surround them (action) with curly braces
9
8.2 The while Loop Sometimes see a loop written as: while ( 1 ) {... } The numeric literal 1 is treated as a true condition and never changes – causing an infinite loop
10
8.2 The while Loop while ( 1 ) {... } Requires additional statement within the body of the loop to terminate it Although there are reasons to use this type of loop, it should only be used by experienced programmers and then only with due consideration
11
8.2 The while Loop char again = '\0'; int operand1 = 0, operand2 = 0; cout << "\nDo you wish to multiply two numbers (y/n)? "; cin >> again; // Priming read while ( again == 'y' || again == 'Y' ) // Notice no semicolon { // Start of the loop body (action) cout << "Enter first number: "; cin >> operand1; cout << "Enter second number: "; cin >> operand2; cout << "Result: " << operand1 << " * " << operand2 << " = " << operand1 * operand2 << endl; // Don’t forget to change the control variable cout << "\nDo you wish to multiply two more numbers (y/n)? "; cin >> again; } // End of the loop body (action) cout << "The End" << endl;
12
8.2 The while Loop Priming read - a prompt prior to encountering a loop Ensures the control variable has a user provided value before evaluating the condition Must be a corresponding prompt as the last statement in the body of the loop
13
8.3 The do-while Loop Post-test loop (the body of the loop always executes at least once) Syntax: do while ( ); If the body needs to include multiple statements, surround them with curly braces
14
8.3 The do-while Loop char menu_choice; float number; cout << "Please enter a number: "; cin >> number; do { cout << "\n1) Square the Number\n" << "2) Cube the Number\n" << "3) Exit\n\n" << "Please enter menu choice: " << endl; cin >> menu_choice; switch ( menu_choice ) { case '1': cout << number << " Squared = " << number * number << endl; break; case '2': cout << number << " Cubed = " << number * number * number << endl; break; case '3': cout << "Goodbye" << endl; break; default: cout << "Invalid menu option" << endl; } } while ( menu_choice != '3' ); // Notice the semicolon
15
8.4 The for Loop Generally used when the specific number of iterations are known Both while loops and for loops are pre- test loops - could be used interchangeable
16
8.4 The for Loop Syntax: for ( ; ; )
17
8.4 The for Loop for ( ; ; ) Four sections: Requires the two semicolons ( ; ) and the action Can include multiple statements separated by commas placed within both the and sections
18
8.4 The for Loop Order in which the parts are evaluated or executed: 1. 2. 3. (if true condition) 4. 5. The section is only executed once
19
8.4 The for Loop Variable(s) declared in section only visible within the body of the loop Not all compilers adhere to this standard - but you should
20
8.4 The for Loop Common errors students make - put a semicolon after the closing parenthesis Although legal, semicolon terminates the loop In effect - takes the place of the body of the loop Often a difficult error to find
21
8.4 The for Loop for ( int i = 0; i < 5; i++ ) cout << i << ' '; // Output 0 1 2 3 4
22
8.4 The for Loop // Example 1 for ( int i = 0; i < 5; i++ ) // No semicolon cout << i << endl; // Example 2 // Notice the multiple expressions for ( int i = 0, j = 5; i < 5; i++, j-- ) cout << i << ' ' << j << endl; // Example Output // Ex. 1// Ex. 2 0 0 5 1 1 4 2 2 3 3 3 2 4 4 1
23
8.4 The for loop int sum = 0, value; for ( int i = 0; i < 5; i++ ) // No semicolon { cout << "Enter value " << i + 1 << ": "; cin >> value; sum += value; } cout << "The sum of the five values is: " << sum << endl; // Example Output Enter value 1: 4 Enter value 2: 7 Enter value 3: 3 Enter value 4: 12 Enter value 5: 99 The sum of the five values is: 125
24
8.4.1 Nested for Loops for loops can be nested Used in many algorithms Important when using multi-dimensional arrays
25
8.4.1 Nested for Loops for ( int row = 0; row < 5; row++ ) { for ( int col = 0; col < 5; col++ ) cout << col << ' '; cout << endl; } // Example Output 0 1 2 3 4
26
8.4.1 Nested for Loops for ( int row = 0; row < 5; row++ ) { for ( int col = row; col < 5; col++ ) cout << col << ' '; cout << endl; } // Example Output 0 1 2 3 4 1 2 3 4 2 3 4 3 4 4
27
8.5 Breakpoints and Loops Debugging loops: Time consuming and annoying if necessary to step through the loop Breakpoints add functionality to break or stop execution, based upon a condition or after a line of code has been encountered a certain number of times
28
8.5 Breakpoints and Loops Right clicking on a breakpoint shows popup menu that allows setting breakpoint properties
29
8.5 Breakpoints and Loops The Breakpoint Condition allows setting a condition that when true, stops the loop
30
8.5 Breakpoints and Loops Can also stop execution after a breakpoint has been encountered a specific number of times
31
8.7 C – The Differences Illegal in C to declare variables in the initialization section of a for loop All variables in C must be declared at the beginning of a block, right after an opening curly brace C99 specifications allow the C++ conventions for variable declarations
32
8.7 C – The Differences #include int main() { //Legal in both C++ and C: int count; for ( count = 0; count < 5; count++ ) printf( "%d\n", count ); // Legal in C++ (and C99) but not in older C: // for ( int i = 0; i < 5; i++ ) // cout << i << endl; return 0; }
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.