5. if and for Statements
More About for Loops
If you remember, we ended the second
chapter of this book with a quick look at the main C++ iteration statement, for
. We
will conclude this chapter by presenting several more examples that demonstrate
how useful a for
loop can be.
First, let us solve a simple problem: Write a program that writes out the first six natural numbers (i.e. the first six positive whole numbers). Then write a program that writes out the first 1000 natural numbers.
Just to remind you, the text of the program is also called the source code.
We would like to make as little effort when solving the first part of the problem as when solving the second part. Thus, we have no intention to type in those 6 numbers into the text of our program; and the same certainly goes for a thousand of them.
Fortunately, a little help from a for
loop
can make life so much easier:
#include <iostream> using namespace std; int main() { for(double i=1; i<=6; i++) cout << i << endl; }
Type in and execute this program. You should see the following on the standard output:
1 2 3 4 5 6
The purpose of a for
statement is to repeat a statement (or a statement block) a certain number of
times. In our example, the cout
statement will be repeated for a total of six times. However, in
each iteration of the for
statement, the variable i
will be assigned a different value. In the first iteration, the variable i
has the value 1, in the second the
value 2, in the third the value 3, and so on. The cout
statement here simply prints out the current value of the variable i
and by
doing so it prints out each one of the first six natural numbers.
When reading out the text of a program, being
able to pronounce the "sentences" that the program is made of may be
helpful. The for
statement from this program could be read like this: "For
every i
from one to six". The entire construction, including the part
repeated by the for
statement, is called a for loop.
We will leave the task of solving the second part of the stated problem to you.
Do not terminate for statements[*] by semicolons! Although doing it will not result in a compile-time error, it will likely result in unintended program behavior. To be more specific, if you terminate a for statement by a semicolon, what you are actually ordering to be repeated is not the following statement, but rather the semicolon itself! Since a semicolon itself represents the so-called empty statement, such a for loop will be repeating —nothing. |
The word 'statement' is intentionally misused here. It will be explained later.