Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding Ninjas X Naukri.com
Last Updated: Jul 10, 2024
Easy

Difference between While and Do While Loop in in C, C++ & Java

Author Kanak Rana
1 upvote
Table of contents
Project ideas to get shortlisted for SDE interview at Microsoft and Paypal and more.
Speaker
Pranav Malik
SDE 2 @

While and do while loops are looping statements commonly used in programming languages such as C, C++ and Java.

The main difference between the while loop and do while loop lies in the condition evaluation:

  • While loop checks the condition before the execution of the statement(s) 
  • whereas the do-while loop ensures that the statement(s) is executed at least once before evaluating the condition. 
  • While loop is entry-controlled and Do-while is exit controlled.

In this article, we will learn about the difference between a while loop and a do-while loop in detail.

while and do while difference

 

Difference Between While and Do While Loop

The key difference between a while loop and a do-while loop lies in the condition evaluation. While and do while loops are defined as control structures that repeat a block of code until the condition that is given is true. 

While LoopDo-While Loop
In the While loop, the condition is tested before any statement is executed.In Do while-loop, the statement is executed at least once even if the condition is false

Syntax:

while(condition){

// statements

}

Syntax:

do{

//statements

}while(expression);

In While loop, no semicolon is needed after the end of the condition.In Do-while loop, semicolon needed after the end of the condition
While loop is an entry-controlled loop.Do-while loop is an exit-controlled loop.
While loop may or may not be executed at all.Do-while loop will execute at least once.
While loop can lead to errors if the condition is always false.Do-while loop help prevents error as it runs at least once.

What are Loops?

Loops are essential control structures in programming that enable the repetition of a block of code based on a specified condition. There are three primary types of loops: the "for" loop, which is used when you know in advance how many iterations are needed; the "while" loop, which repeats as long as a given condition is true; and the "do-while" loop, which guarantees at least one execution of the loop body before checking the condition. 

Loops are fundamental for automating repetitive tasks, iterating through data structures like lists or arrays, implementing conditional logic, and creating interactive programs, making them a critical tool for efficient and concise coding.

Get the tech career you deserve, faster!
Connect with our expert counsellors to understand how to hack your way to success
User rating 4.7/5
1:1 doubt support
95% placement record
Akash Pal
Senior Software Engineer
326% Hike After Job Bootcamp
Himanshu Gusain
Programmer Analyst
32 LPA After Job Bootcamp
After Job
Bootcamp

What is While Loop?

We call a while loop an entry-controlled loop. In this loop, we check the condition at the start of the loop structure. A code block will run until the condition is true, and if the condition is false, the loop gets terminated or ended. If the condition remains true, we call it an infinite loop.

Syntax of While Loop  

while (condition) {
statements;
}

Flow Diagram for While Loop

Flow Diagram for While Loop

Step 1. While loop evaluates the test expression.

Step 2. If the condition is true, while block will execute.

Step 3. This process will go on until the condition is false.

Step 4. When the condition is false, the loop gets terminated or stopped.


Example:

  • C

C

#include<stdio.h>
int main()
{
   // Initializing the variable with value 1
   int num = 1;
   // While loop with the condition
   while(num <= 10)
   {
   printf("%d ", num);
   // Incrementing operation
   num ++;
   }
   return 0;  
}


Output:

OUTPUT

When to use a while Loop

When one knows how many times the loop should run, one should use " for loop. "One should use a while loop if one wants the loop to get interrupted based on conditions other than the number of times it runs.

Pros and Cons of using a While Loop

Pros

  • The benefit of a while loop is that it will go (repeat) as frequently as required to achieve its objective.
  • We must use the while loop when determining whether the first iteration is required when checking a condition. It can also be applied in cases where the number of iterations is still being determined.

Cons

  • It is slow because the compiler adds runtime code to perform the conditional check every time this loop is iterated.
  • While loop can cause a problem if the index length is incorrect.

What is a Do-While Loop?

We call do while an exit-controlled Loop. We check the condition at the end of the loop structure in this loop. It is mostly similar to the while loop, except the condition is checked in the last.

A code block will run once if the condition is not true. If the condition given is true, it will pass back to the loop body again. If the condition is false, control is removed from the loop, and the loop is terminated.

Syntax of Do While Loop

do {
statements
} while (expression);

Flow Diagram for Do-While Loop

Flow Diagram for Do-While Loop


Step 1. The loop's body is executed at first in do-while loop, and then the condition is evaluated.

Step 2. If the condition is true, the body of the loop inside the do statement is executed again.

Step 3. The process will go on until the condition evaluates to false, then the loops are terminated or stopped.


Example:

  • C

C

#include<stdio.h>
int main()
{
   // Initializing the variable with value 1.
   int num=1;
   // Do-while loop.
   do
   {
       printf("%d ",4*num);
       // Incrementing operation.
       num++;
       }
       while(num<=10);
       return 0;

}


Output:

output

Pros and Cons of Using a Do-While Loop

Pros

  • The benefit of using a do-while loop is that the code block is run at least once before being run repeatedly, depending on the condition.
     
  • The do-while loop is frequently used in menu-driven programs where the user determines the termination condition.
     

Cons

  • In the do-while loop, if the expression is false, then also it will get printed at least once.

Frequently Asked Questions

Why would you use do-while instead of while?

A do-while loop guarantees the loop body runs at least once before checking the condition, useful for scenarios like input validation and menu-driven programs. In contrast, a while loop checks the condition first and may skip the body if false initially. Use the one that suits your needs and keeps the code clear.

Why would you use do while instead of while?

We will use do while if we wanted to run our code at least once, even if the condition is false. This can be used when we want to prompt the user to enter input and then checks it afterwards.

How many times is a do while?

A do-while condition will run as many times as the condition is true, but it will run a minimum of one time for sure, even if the condition is false.

What is the difference between while and for loop in C?

In C, a for loop is typically used when the number of iterations is known, with initialization, condition, and increment expressions in a single line. A while loop is preferred for indefinite iteration, relying solely on a condition to continue looping.

Conclusion

We hope this article was insightful and you learned something new. In this article, we have discussed about while and do while differences.  You will learn that the while loop checks the condition first and then executes the statement. The do-while loop will execute the statement(s) at least once, and then check the condition. This article will help to understand both while and do while differences.

For more articles like the while and do while differences, you can look at the following:

Do visit our website to read more such blogs. Make sure you enroll in our courses. You can take mock testssolve problems, and interview puzzles. Also, you can check out some exciting interview stuff- interview experiences and an interview bundle for placement preparations. 

Happy Coding!

Previous article
Spring @Repository Annotation with Example
Next article
ngFor in Angular