Ad

Tuesday, June 05, 2007

Learn to use Loops in C++

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!

11 comments:

  1. Anonymous7:10 AM

    thank you... you explain it very well!

    ReplyDelete
  2. Anonymous6:52 PM

    thank you .... for give more information about looping

    ReplyDelete
  3. @ Anonymous,

    My pleasure.

    Enjoy!

    ReplyDelete
  4. Anonymous7:50 PM

    thanks for this answer

    ReplyDelete
  5. Anonymous8:05 PM

    Thanks for explanation in such a simple way . Just keep it up .

    ReplyDelete
  6. Hasan3:47 PM

    Easy to understand

    ReplyDelete
  7. Anonymous12:25 AM

    in the for loop, can one use variables in the initialization, condition, and increment statements?

    ReplyDelete
  8. dharmistha5:58 PM

    thnx fr hlpng me i cleared ma doubt
    thnx a lot...

    ReplyDelete
  9. Anonymous10:40 AM

    nice description of loops

    ReplyDelete
  10. Hazrat bilal7:55 PM

    you solve my problem i was stuck in loops

    ReplyDelete

You are free to comment anything, although you can comment as 'Anonymous' it is strongly recommended that you supply your name. Thank You.

Please don't use abusive language.