Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 do-while Statement 2 Do-While Statement Is a looping control structure in which the loop condition is tested after each iteration of the loop. SYNTAX.

Similar presentations


Presentation on theme: "1 do-while Statement 2 Do-While Statement Is a looping control structure in which the loop condition is tested after each iteration of the loop. SYNTAX."— Presentation transcript:

1

2 1 do-while Statement

3 2 Do-While Statement Is a looping control structure in which the loop condition is tested after each iteration of the loop. SYNTAX do { Statement } while ( Expression ) ; Loop body statement can be a single statement or a block.

4 3 Do-While Loop vs. While Loop l POST-TEST loop (exit-condition) l The looping condition is tested after executing the loop body. l Loop body is always executed at least once. l PRE-TEST loop (entry-condition) l The looping condition is tested before executing the loop body. l Loop body may not be executed at all.

5 4 Do-While Loop When the expression is tested and found to be false, the loop is exited and control passes to the statement that follows the do-while statement. Statement Expression DO WHILE FALSE TRUE

6 while v. do-while CCL sum = 0; counter = 1; while (counter <= n) { sum = sum + counter; counter++; } l Pretest Loop sum = 0; counter = 1; do { sum = sum + counter; counter++; } while (counter <= n) // Note Sum=1 if n=0 l Posttest Loop l Loop always executes at least once

7 6 for Statement

8 7 A Count-Controlled Loop SYNTAX for ( initialization ; test expression ; update ) { 0 or more statements to repeat }

9 8 The for loop contains an initialization an expression to test for continuing an update to execute after each iteration of the body

10 9 Example of Repetition for ( int num = 1 ; num <= 3 ; num++ ) { println(num + " Potato"); }

11 10 Example of Repetition num var num; for ( num = 1 ; num <= 3 ; num++ ) println(num + " Potato"); OUTPUT ?

12 11 Example of Repetition num OUTPUT 1 var num; for ( num = 1 ; num <= 3 ; num++ ) println(num + " Potato");

13 12 Example of Repetition num OUTPUT 1 var num; for ( num = 1 ; num <= 3 ; num++ ) println(num + " Potato"); true

14 13 Example of Repetition num var num; for ( num = 1 ; num <= 3 ; num++ ) println(num + " Potato"); OUTPUT 1 1Potato

15 14 Example of Repetition num OUTPUT 2 var num; for ( num = 1 ; num <= 3 ; num++ ) println(num + " Potato"); 1Potato

16 15 Example of Repetition num OUTPUT 2 true 1Potato var num; for ( num = 1 ; num <= 3 ; num++ ) println(num + " Potato");

17 16 Example of Repetition num var num; for ( num = 1 ; num <= 3 ; num++ ) println(num + " Potato"); OUTPUT 2 1Potato 2Potato

18 17 Example of Repetition num OUTPUT 3 var num; for ( num = 1 ; num <= 3 ; num++ ) println(num + " Potato"); 1Potato 2Potato

19 18 Example of Repetition num OUTPUT 3 true 1Potato 2Potato var num; for ( num = 1 ; num <= 3 ; num++ ) println(num + " Potato");

20 19 Example of Repetition num var num; for ( num = 1 ; num <= 3 ; num++ ) println(num + " Potato"); OUTPUT 3 1Potato 2Potato 3Potato

21 20 Example of Repetition num OUTPUT 4 var num; for ( num = 1 ; num <= 3 ; num++ ) println(num + " Potato"); 1Potato 2Potato 3Potato

22 21 Example of Repetition num OUTPUT 4 false 1Potato 2Potato 3Potato var num; for ( num = 1 ; num <= 3 ; num++ ) println(num + " Potato");

23 22 Example of Repetition num When the loop control condition is evaluated and has value false, the loop is said to be “satisfied” and control passes to the statement following the For statement. 4 false var num; for ( num = 1 ; num <= 3 ; num++ ) println(num + " Potato");

24 23 The output was: 1Potato 2Potato 3Potato

25 24 for (var count = 4 ; count > 0 ; count -- ) { println(count); } println(“Done”); Count-controlled Loop OUTPUT: 4 3 2 1 Done

26 25 What is output? for ( var count = 0 ; count < 10 ; count++ ) { println('*'); }

27 26 OUTPUT ********** NOTE: the 10 asterisks are all on one line. Why?

28 Count Control Loop Example Display integers and their squares from 1 through 10. for (var i = 1; i <= 10; i++) println(i + " " + i*i);

29 For example Display even integers and their squares from 1 through 10. for (var i = 2; i <= 10; i = i+2) println(i + " " + i*i);

30 For example Display integers and their squares from 10 down to 1. for (var i = 10; i >= 1; i--) println(i + " " + i*i);

31 For example Find square roots of 1.1, 1.2, 1.3,..., 2.0 for (var x = 1.1; x <= 2.0; x =x+0.1) println(x + " " + sqrt(x));

32 Compute and return n! = 1  2  3 ...  n. var product = 1; for (var i = 2; i <= n; i++) product = product * i; For example

33 32 What output from this loop? for (var count = 0; count < 10; count++) ; { println(“  ”)  ; }

34 33 l no output from the for loop! Why? l the ; right after the ( ) means that the body statement is a null statement l in general, the Body of the for loop is whatever statement immediately follows the ( ) l that statement can be a single statement, a block, or a null statement actually, the code outputs one * after the loop completes its counting to 10 OUTPUT

35 Display all divisors of each integer from 1 through 50 for (int num = 1; num <= 50; num++) { cout << num << " has divisors:\n\t''; for (int div = 1; div <= num/2; div++) if (num % div == 0) cout << div << ", ''; cout << num << endl; }// See divisors.cpp

36 Table of 2 n const int tableSize = 20; long valueSquared = 1; cout << "n" << " " << "2**n" << endl; for (int n = 0; n <= tableSize; ++n) { cout << n << " " << valueSquared << endl; valueSquared = valueSquared * 2; }

37 Eliminating WhileExpression l The while condition is also optional l If omitted the value defaults to true for ( ; ; ) println("Hi"); while (1) println("Hi");

38 n Changing the values of any variables n involved in the loop condition n inside the body of the loop n may change the number of repetitions n & may result in an infinite loop for (i = 1; i <= 10; i++) { println(i); i++; } Monkeying with LCVs: PPP

39 38 Break Statement l break statement can be used with Switch or any of the 3 looping structures l it causes an immediate exit from the Switch, While, Do-While, or For statement in which it appears l if the break is inside nested structures, control exits only the innermost structure containing it

40 Use break As a Last Resort l It can become a crutch l Think carefully about loop design for loop on right is better i = 1; while (1)for (i = 1; i <= 5; i++) { println(i); println(i); if (i == 5) break; i++; }

41 40 Continue Statement continue is valid only within loops l terminates the current loop iteration, but not the entire loop l in a For or While, continue causes the rest of the body statement to be skipped--in a For statement, the update is done l in a Do-While, the exit condition is tested, and if true, the next loop iteration is begun


Download ppt "1 do-while Statement 2 Do-While Statement Is a looping control structure in which the loop condition is tested after each iteration of the loop. SYNTAX."

Similar presentations


Ads by Google