In vault post, we talked about the concept of regulate structures, which direct the circulation of a program. A loop is a regulate structure that causes a statement or group of statements to repeat. C++ has actually three looping control structures: the while loop, the do-while loop, and the for loop. The difference between these structures is just how they regulate the repetition.

You are watching: Is a for loop a pretest loop

The while Loop

The while loop has two necessary parts: (1) one expression that is tested because that a true or false value, and also (2) a explain or block the is repetitive as long as the expression is true. The figure below shows the reasonable of a when loop.




In the general format, (expression) is any type of expression that can be evaluated as true or false, and statement; is any valid C++ statement. The first line presented in the figure above is dubbed the loop header. It consists of the crucial word while complied with by one expression enclosed in parentheses. Here’s just how the loop works: the (expression) is tested, and also if it is true, the statement(s) space executed. Then, the (expression) is tested again. If it is true, the statement(s) are executed. This cycle repeats until the (expression) is false. The statement(s) that is repeated is known as the body of the loop. The while loop works choose an if statement the executes over and also over. As long as the expression within the parentheses is true, the body of the loop will certainly repeat. The program below uses the if loop to publish “Hello” five times.

// This regimen demonstrates a simple while loop.#include making use of namespace std;int main() int number = 0;while (number cout number++; cout return 0;This program tests the variable number to determine whether it is much less than 5. If it is, climate the explanation in the body the the loop room executed. The declare number++; in the body that the loop uses the increment operator to add one come number. This is the last statement in the body of the loop, therefore after the executes, the loop start over. The tests the expression (number again, and also if it is true, the declaration in the body of the loop space executed again. This cycle repeats until the expression (number is false. Each repetition of a loop is well-known as an iteration. This loop will certainly perform five iterations since the variable number is initialized v the worth 0, and also it is incremented each time the body that the loop is executed. When the expression (number is tested and also found to it is in false, the loop will terminate and also the program will resume execution in ~ the statement that immediately follows the loop. The figure below shows the logic of this loop.



In this example, the number change is referred to as the loop regulate variable because that controls the number of times that the loop iterates. The if loop is recognized as a pretest loop, which way it exam its expression before each iteration.

Infinite Loops

Loops need to contain in ~ themselves a method to terminate. This means that something within the loop must ultimately make the test expression false. The loop in the example above stops when the expression (number is false. If a loop go not have actually a means of stopping, that is called an limitless loop. One infinite loop continues to repeat until the program is interrupted. Below is an instance of an boundless loop:

int number = 0;while (number cout This is one infinite loop due to the fact that it does no contain a declare that changes the value of the number variable. Every time the expression (number is tested, number will certainly contain the value 0. That also feasible to produce an boundless loop through accidentally place a semicolon after ~ the an initial line that the when loop.

int number = 0;while (number cout number++The semicolon at the end of the very first line is suspect to it is in a null statement and disconnects the while statement from the block the comes ~ it. Come the compiler, this loop look at like:

while (number This when loop will certainly forever execute the null statement, which walk nothing. The program will show up to have “gone right into space” due to the fact that there is nothing to screen screen calculation or show activity.

The do-while Loop

The do-while loop looks something choose an inverted when loop. The figure below shows the reasonable of a do-while loop.

The do-while loop is a posttest loop. This means it does no test that expression until it has completed one iteration. Together a result, the do-while loop always performs at the very least one iteration, also if the expression is false to start with. This different from the habits of a while loop, i m sorry you will recall is a pretest loop.

The for Loop

In general, there space two categories of loops: conditional loops and also count-controlled loops. A conditional loop executes as lengthy as a specific condition exists. Because that example, an intake validation loop executes as lengthy as the input value is invalid. Once you write a conditional loop, you have no method of discovering the number of times it will iterate.

Sometimes you know the exact variety of iterations that a loop should perform. A loop the repeats a specific variety of times is known as a count-controlled loop. Because that example, if a loop asks the user to go into the sales amounts for each month in the year, it will iterate twelve times. In essence, the loop counts to twelve and also asks the user to go into a sales amount every time it provides a count. A count-controlled loop need to possess 3 elements:

It have to initialize a respond to variable to a beginning value.It need to test the respond to variable by compare it to a best value. As soon as the counter variable get its preferably value, the loop terminates.It need to update the respond to variable throughout each iteration. This is usually done by incrementing the variable.

Count-controlled loops are so usual that C++ offers a type of loop particularly for them. It is well-known as the because that loop. The for loop is particularly designed come initialize, test, and update a respond to variable. Below is the style of the for loop as soon as it is supplied to repeat a block is:

The an initial line the the for loop is the loop header. ~ the crucial word for, there space three expressions within the parentheses, be separated by semicolons. (Notice there is no a semi- colon after the third expression.) The an initial expression is the initialization expression. That is typically used to initialize a counter variable come its beginning value. This is the first action carry out by the loop, and also it is only done once. The second expression is the test expression. This is an expression that controls the execution that the loop. As lengthy as this expression is true, the body of the for loop will certainly repeat. The because that loop is a pretest loop, so it evaluates the check expression before each iteration. The third expression is the update expression. It executes at the end of every iteration. Typically, this is a statement the increments the loop’s counter variable.

Here is an instance of a straightforward for loop the prints “Hello” five times:

for (int counting = 0; counting cout In this loop, the initialization expression is counting = 0, the test expression is count , and the upgrade expression is count++. The body the the loop has one statement, which is the cout statement. Figure listed below illustrates the sequence of events that takes place throughout the loop’s execution. An alert that actions 2 v 4 are repeated as lengthy as the check expression is true.

Notice how the respond to variable, count, is supplied to manage the number of times the the loop iterates. During the execution of the loop, this variable takes ~ above the values 1 v 5, and also when the test expression count is false, the loop terminates. Also an alert that in this example the count variable is supplied only in the loop header, to manage the number of loop iterations. The is not used for any other purpose. It is also possible to use the respond to variable within the human body of the loop. Due to the fact that the for loop tests its test expression before it performs one iteration, that is a pretest loop.

Deciding i beg your pardon Loop to Use

Each that the 3 C++ loops is ideal to use in different situations. Here’s a short an overview of when each loop must be used.

The while loop. The while loop is a conditional loop, which method it repeats as lengthy as a particular condition exists. The is also a pretest loop, so it is appropriate in instances where you carry out not want the loop come iterate if the condition is false native the beginning. For example, validating input that has been read and reading list of data terminated by a sentinel worth are an excellent applications that the when loop.The do-while loop. The do-while loop is also a conditional loop. Unequal the while loop, however, do-while is a posttest loop. That is best in situations where you constantly want the loop to iterate at the very least once. The do-while loop is a good choice for repeating a menu.The for loop. The for loop is a pretest loop the has built-in expressions because that initializing, testing, and also updating. This expressions do it really convenient to usage a counter variable to regulate the variety of iterations the the loop performs. The initialization expression deserve to initialize the counter variable to a beginning value, the test expression have the right to test the respond to variable to determine whether it holds the maximum value, and also the update expression can increment the counter variable. The because that loop is ideal in situations where the exact number of iterations is known.Optional Topics: Breaking and also Continuing a Loop

Sometimes it’s necessary to protect against a loop prior to it goes with all the iterations. The rest statement, i beg your pardon was provided with switch in thing 4, can also be inserted inside a loop. As soon as it is encountered, the loop stops, and also the routine jumps to the statement instantly following the loop.

The if loop in the complying with program segment shows up to execute 10 times, but the break statement reasons it to avoid after the fifth iteration.

int counting = 0;while (count++ cout if (count == 5) break;Using break in a Nested Loop

In a nested loop, the rest statement just interrupts the loop it is put in. The complying with program segment screens five rows of asterisks ~ above the screen. The outer loop controls the number of rows, and the inside loop controls the variety of asterisks in every row. The inside loop is designed to screen 20 asterisks, however the break statement stop it throughout the eleventh iteration.

for (int row = 0; row because that (int star = 0; star cout if (star == 10) break; cout The continue Statement

The continue statement causes the existing iteration that a loop to end immediately. When continue is encountered, all the declaration in the human body of the loop that show up after it room ignored, and the loop prepares because that the following iteration.

See more: How To Pass " This Is The Only Level 4 Mobile Games Online, This Is The Only Level 4

In a when loop, this method the routine jumps come the check expression in ~ the top of the loop. Together usual, if the expression is tho true, the next iteration begins. In a do-while loop, the routine jumps to the check expression in ~ the bottom that the loop, i beg your pardon determines even if it is the next iteration will begin. In a because that loop, continue reasons the upgrade expression to it is in executed and also then the test expression to be evaluated.

The following program segment demonstrates the usage of continue in a while loop:

int testVal = 0;while (testVal++ if (testVal == 4) continue; cout This loop looks like it screens the integers 1 with 10. Once testVal is same to 4, however, the continue statement reasons the loop come skip the cout statement and also begin the next iteration. The calculation of the loop is