In programming languages – while coding a program, sometimes it is necessary to repeat a set of statements several times (Looping Control Structures ). A way to repeat statements is to type the same statements in the program over and over. For example, if you want to repeat some statements 100 times, you type the same statements 100 times in the program. However, this solution of repeating statements is impractical, if not impossible. Fortunately, there is a better way to repeat a set of statements.
As noted earlier, C++ has three repetition, or looping control structures that allow you to repeat a set of statements until certain conditions are met.
Note: The variable that controls the loop is called loop control variable (LCV)
While Looping Control Structures
The first loop that we’re going to discuss about is while loop. The general form of while loop is:
while (expression) statement
In C++, while is a reserved word. Of course, the statement can be either a simple or compound statement. The expression acts as a decision maker and is usually a logical expression. The statement is called the body of the loop. Note that the parentheses around the expression are part of the syntax.
#include <iostream> using namespace std; int main() { int X = 0; //Line 1 while (x <= 20) //Line 2 { cout << x << " "; //Line 3 x = x + 5; //Line 4 } return 0;
In Line 1, the variable x is set to 0. The expression in the while statement (in Line 2), x <= 20, is evaluated. Because the expression x <= 20 evaluates to true, the body of the while loop executes next. The body of the while loop consists of the statements in Lines 3 and 4. The statement in Line 3 outputs the value of x, which is 0. The statement in Line 4 changes the value of x to 5. After executing the statements in Lines 3 and 4, the expression in the while loop (Line 2) is evaluated again. Because x is 5, the expression x <= 20 evaluates to true and the body of the while loop executes again. This process of evaluating the expression and executing the body of the while loop continues until the expression, x <= 20 (in Line 2), no longer evaluates to true.
Kinds of while loops are: counter-controlled, flag-controlled, sentinel-controlled, EOF-controlled while loops and etc.
for Repetition (Looping) Structure
The general form of for loop is:
for (initial statement; loop condition; update statement) statement
The initial statement, loop condition, and update statement (called for loop control statements) enclosed within the parentheses control the body (statement) of the for statement.
The for loop executes as follows:
- The initial statement executes.
- The loop condition is evaluated. If the loop condition evaluates to true:
- Execute the for loop statement.
- Execute the update statement (the third expression in the parentheses).
- Repeat Step 2 until the loop condition evaluates to false.
The initial statement usually initializes a variable (called the for loop control, or for indexed, variable).
In C++, for is a reserved word.
Concentrate on the example bellow:
#include <iostream> using namespace std; int main() { int x; for (x = 0; x < 10 ; x++) { cout << x << " "; } cout << endl; return 0; }
The initial statement, x = 0;, initializes the int variable x to 0. Next, the loop condition, x<10, is evaluated. Because 0<10 is true, the print statement executes and outputs 0. The update statement, x++, then executes, which sets the value of x to 1. Once again, the loop condition is evaluated, which is still true, and so on. When x becomes 10, the loop condition evaluates to false, the for loop terminates, and the statement following the for loop executes.
do…while Repetition (Looping) Structure
This section describes the third type of looping or repetition structure, called a do…while loop. The general form of a do…while statement is as follows:
do statement while (expression);
The statement executes first, and then the expression is evaluated. If the expression evaluates to true, the statement executes again. As long as the expression in a do…while statement is true, the statement executes. To avoid an infinite loop, you must, once again, make sure that the loop body contains a statement that ultimately makes the expression false and assures that it exits properly.
#include <iostream> using namespace std; int main() { x = 0; do { cout << x << " "; x = x + 5; }while (x <= 20); return 0; }
The output of the code is:
0 5 10 15 20
After 20 output, the statement:
x = x +5;
changes the value of x to 25 and so x <=20 becomes false, which halts the loop.
- In a while and for loop, the loop condition is evaluated before executing the body of the loop. Therefore, while and for loops are called pretest loops. On the other hand, the loop condition in a do…while loop is evaluated after executing the body of the loop. Therefore, do…while loops are called post-test loops. Because the while and for loops both have entry conditions, these loops may never activate. The do…while loop, on the other hand, has an exit condition and therefore always executes the statement at least once. Looping Control Structures
“The end of Looping Control Structures in C++.