While every programming language has its own version of loops (iteration statements), the loop statements of C++ are way much more powerful than those of other languages. It is because of the variations that loops can have in C++. This article would give just an introduction to the loop structures in C++, leaving complex variation of loops for the coming articles.
A Loop (iteration) statement repeatedly executes a set of statements until a particular condition is reached.
Have a look at this program:
//C++ program
#include<iostream.h>
void main(void)
{
int arr[3];
cout<<"enter three numbers:"<<endl;
cin>>arr[0]>>arr[1]>>arr[2];
cout<<"number 1: "<<arr[0]<<endl;
cout<<"number 2: "<<arr[1]<<endl;
cout<<"number 3: "<<arr[2]<<endl;
}
Now look at this program:
//C++ program
#include<iostream.h>
void main(void)
{
int arr[3];
cout<<"enter three numbers:"<<endl;
cin>>arr[0]>>arr[1]>>arr[2];
for(int i=0;i<3;i++)
{
cout<<"number "<<i<<" :";
cout<<arr[i]<<endl;
}
}
Both the program does the same thing but the second one is more efficiently programmed.
Talking about efficient programming, suppose we wish to print all the numbers from 1 to 100, what will be more efficient a)to write 100’s of lines of code or b)to use just one loop to do so. Definitely using loop will be more efficient.
There are three types of loops in C++, for loop, while loop and do-while loop. Each of these is discussed below.
for Loop
General form of for loop:
for(initialization; condition; increment/decrement) { Statements to be iterated }
Example:
for(int i=0; i<5; i++)
{
cout<<i<<endl;
}
//after termination of the loop program execution continues from here
Here the variable ‘i’ is initially set to 0 and then checked to see whether the condition is true or not. Since 0<5 the loop iterates, causing i to be increased by 1 and then checked. The loop prints the value of i at each iteration. This sequence continues till the condition i<5 is true after which the loop terminates.
while Loop
General form of while loop:
while (condition) { Statements to be iterated }
Example:
int i=0;
while(i<5)
{
cout<<i<<endl;
i++;
}
do-while Loop
General form of do-while loop:
Do { Statements to be iterated } while (condition);
Example:
int i=0;
do
{
cout<<i<<endl;
i++;
}while(i<5);
Do-while loop is slightly different from the rest of the two other loops. It is obvious from the example below:
int i=6;
do
{
cout<<i<<endl;
i++;
}while(i<5);//condition is false
OUTPUT: 6
This means that that the do-while loop executes at least one time even if the condition is false to begin with.
This is due to the fact that in case of do-while loop, the condition is checked at the end unlike for and while loop where it is checked at beginning.
//C++ program
#include<iostream.h>
void main(void)
{
int i=6;
cout<<"for loop:"<<endl;
for(i;i<5;i++)//condition is false
{
//this loop will not be executed
cout<<i<<endl;
}
cout<<"while loop:"<<endl;
while(i<5)//condition is false
{
//this loop will not be executed
cout<<i<<endl;
i++;
}
cout<<"do-while loop"<<endl;
do
{
//this loop will be executed one time
cout<<i<<endl;
i++;
}while(i<5);//condition is still false
}
Notice how the the same condition produces different results. for and while loop produces same result (they do no nothing) but do-while loop does get executed, even if the condition is false. This property of do-while loop is utilized in certain programs.
Hope this article helps!