C/C++ while loop with Examples - GeeksforGeeks

22 Nov, 2019
Loops in C/C++ come into use when we need to repeatedly execute a block of statements.
During the study of ‘for’ loop in C or C++, we have seen that the number of iterations is known beforehand, i.e. the number of times the loop body is needed to be executed is known to us. The while loop in C/C++ is used in situations where we do not know the exact number of iterations of loop beforehand. The loop execution is terminated on the basis of the test condition.
Syntax:
while (test_expression)
{
   // statements
 
  update_expression;
}
The various parts of the While loop are:
Test Expression: In this expression we have to test the condition. If the condition evaluates to true then we will execute the body of the loop and go to update expression. Otherwise, we will exit from the while loop.Example:i <= 10Update Expression: After executing the loop body, this expression increments/decrements the loop variable by some value.Example:i++;
Test Expression: In this expression we have to test the condition. If the condition evaluates to true then we will execute the body of the loop and go to update expression. Otherwise, we will exit from the while loop.Example:i <= 10
i <= 10
Update Expression: After executing the loop body, this expression increments/decrements the loop variable by some value.Example:i++;
i++;
How does a While loop executes?
Control falls into the while loop.The flow jumps to ConditionCondition is tested.If Condition yields true, the flow goes into the Body.If Condition yields false, the flow goes outside the loopThe statements inside the body of the loop get executed.Updation takes place.Control flows back to Step 2.The do-while loop has ended and the flow has gone outside.
Control falls into the while loop.
The flow jumps to Condition
Condition is tested.If Condition yields true, the flow goes into the Body.If Condition yields false, the flow goes outside the loop
If Condition yields true, the flow goes into the Body.If Condition yields false, the flow goes outside the loop
If Condition yields true, the flow goes into the Body.
If Condition yields false, the flow goes outside the loop
The statements inside the body of the loop get executed.
Updation takes place.
Control flows back to Step 2.
The do-while loop has ended and the flow has gone outside.
Flowchart while loop (for Control Flow):
Example 1: This program will try to print “Hello World” 5 times.
C
C++
// C program to illustrate while loop  #include <stdio.h>  int main(){    // initialization expression    int i = 1;      // test expression    while (i < 6) {        printf("Hello World\n");          // update expression        i++;    }      return 0;}
// C++ program to illustrate while loop  #include <iostream>using namespace std;  int main(){    // initialization expression    int i = 1;      // test expression    while (i < 6) {        cout << "Hello World\n";          // update expression        i++;    }      return 0;}
Hello World
Hello World
Hello World
Hello World
Hello World

Dry-Running Example 1: The program will execute in the following manner.
1. Program starts.
2. i is initialized with value 1.
3. Condition is checked. 1 < 6 yields true.
  3.a) "Hello World" gets printed 1st time.
  3.b) Updation is done. Now i = 2.
4. Condition is checked. 2 < 6 yields true.
  4.a) "Hello World" gets printed 2nd time.
  4.b) Updation is done. Now i = 3.
5. Condition is checked. 3 < 6 yields true.
  5.a) "Hello World" gets printed 3rd time
  5.b) Updation is done. Now i = 4.
6. Condition is checked. 4 < 6 yields true.
  6.a) "Hello World" gets printed 4th time
  6.b) Updation is done. Now i = 5.
7. Condition is checked. 5 < 6 yields true.
  7.a) "Hello World" gets printed 5th time
  7.b) Updation is done. Now i = 6.
8. Condition is checked. 6 < 6 yields false.
9. Flow goes outside the loop to return 0.

Example 2:
C
C++
// C program to illustrate while loop  #include <stdio.h>  int main(){    // initialization expression    int i = 1;      // test expression    while (i > -5) {        printf("%d\n", i);          // update expression        i--;    }    return 0;}
// C++ program to illustrate while loop  #include <iostream>using namespace std;  int main(){    // initialization expression    int i = 1;      // test expression    while (i > -5) {        cout << i << "\n";          // update expression        i--;    }      return 0;}
1
0
-1
-2
-3
-4

Related Articles:
Loops in C and C++C/C++ For loop with ExamplesC/C++ do while loop with ExamplesDifference between while and do-while loop in C, C++, JavaDifference between for and while loop in C, C++, Java
Loops in C and C++
C/C++ For loop with Examples
C/C++ do while loop with Examples
Difference between while and do-while loop in C, C++, Java
Difference between for and while loop in C, C++, Java
C Language
C++
School Programming
CPP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Multidimensional Arrays in C / C++
rand() and srand() in C/C++
Left Shift and Right Shift Operators in C/C++
fork() in C
Core Dump (Segmentation fault) in C/C++
Vector in C++ STL
Initialize a vector in C++ (6 different ways)
Map in C++ Standard Template Library (STL)
Inheritance in C++
C++ Classes and Objects