×

Difference between while and do-while loop in C

Introduction

Both 'While' and 'Do-While' loops in C mostly have a similar concept, and the code of both loops runs for mainly similar purposes. Both loops process the program/code in the same manner. But, there is a sole and significant difference between them. In the do-while loop, the execution of the body takes place at least one time before checking the termination condition. Then it executes the command according to the termination condition. Whereas, in the case of the while loop, the termination condition is checked before the execution of the body.

In other words, in the do-while loop, the body is executed first, and after that, it checks whether the termination condition results in true or false. In contrast, in the while loop, it first executes the termination condition and checks whether the results in true or false. If the result is True, then the statement is executed, otherwise not.

Difference between the syntax

Syntax of while loop:

while (termination condition) {
  // the body of the loop 
}

Syntax of the do-while loop:

do 
{
  /* main body used for the loop */
}
while (termination condition);

Processing of Loop

While loop in C:

  1. Initially, we use the parentheses for storing the termination condition of the While loop.
  2. Then, there can be two outcomes.
  3. Firstly, if the result is true, the control will automatically execute the While loop.
  4. It will continue to evaluate again and again until the termination condition is false.
  5. Secondly, if the result is false, the control will come out of the While loop, and the While Loop will be dismissed.

Do-while loop in C:

  1. Initially, one-time execution of the body of Do-While takes place. After that, it executes the termination condition.
  2. It then checks whether the termination command results in true. If yes, it will print the desired outcome on the screen, and it will continue to execute the termination condition again and again.
  3. One more thing is that the execution will run multiple times until the condition become false.
  4. As soon as the results become false after the execution of the termination command, then the loop will be automatically dismissed.

Digrammatical Representation of loop with a flow chart

While loop in C:

Difference between while and do-while loop in C

Do while loop in C:

Difference between while and do-while loop in C

Examples of Loop

While Loop:

/* Printing integers from 1 to 10 */
#include <stdio.h>
int main () 
{
  int a = 1; // initializing the value of a to 1
  while (a <= 10) // termination condition
  {
    Printf ("the value of ‘a’ is %d\n", a); // body of the while-loop 
    ++a; // increment/ decrement statement
  }
  return 0;
}

Output:

the value of a is 1
the value of a is 2
the value of a is 3
the value of a is 4
the value of a is 5
the value of a is 6
the value of a is 7
the value of a is 8
the value of a is 9
the value of a is 10

Explanation of Code:

The first step is to initialize the value of int a.

Then, we applied a termination condition (while (a <= 10)) through which we can avoid the code from running to infinity.

After that, the main body of the while-loop is implemented just like [printf ("the value of ‘a’ is %d\n", a);]. The main body can print the desired output that we want (see output).

Then, we placed an increment statement (++a;), which increments the value of a one by one.

The code will print "the value of a is 1" as we initialized a to 1. After that, it will perform the increment command and will add 1.

It will evaluate again and checks that '2' is also less than 10. Therefore, the code will print "the value of a is 2".

This evaluation will take place several times until the value becomes 11. The code will terminate the entire process when the termination condition becomes false.

Do-while loop:

      
/* code for adding integers until the user assigns the value zero */
#include <stdio.h>
int main() 
{
  double number, total = 0;
  do 
  {
    printf("Enter a number: ");// body of do-while loop
    scanf("%lf", &number);     // it is executed only once
    total += number;
  }
  while(number != 0.0);


  printf("Sum = %.2lf",total);
  return 0;
}

Output:

Enter a number: 3
Enter a number: 4
Enter a number: -5
Enter a number: 6
Enter a number: 0
Sum = 8.00

Explanation:

In the above program, we used the do-while loop, which processes the code in the following manner:

It lets the user enter the numbers, and the loop is executed until the user inserts 0. If the condition becomes false, the loop terminates, and the code adds all the entered numbers before zero and displays the sum of those numbers on the screen.


Related Topics

OpenGL in C

OpenGL stands for Open Graphics Library. It is a low-level, widely supported modeling and rendering software package that is widely available across all the platforms. It is an API used...

4 minutes read.

tolower() Function in C

The tolower() capability is characterized in the ctype.h header document. In the event that the person passed is a capitalized letter set, the tolower() capability switches capitalized letters in order...

3 minutes read.

Find Day from Day in C Without using function

Introduction: In the given article, I find daily in C without using functions. It takes 365 days for the earth to revolve around the sun. It will be close to...

3 minutes read.

Merge and Merge sort with example in C

Assume we have two ordered Integer arrays, a[] and b[]. If we wish to combine them into another ordered array, such as c[], we can use the following straightforward technique. Compare...

3 minutes read.

Evaluation of Arithmetic Expression in C

We can use the "eval" function in C to evaluate an arithmetic expression stored as a string. However, using "eval" is generally considered bad practice and can lead to security...

4 minutes read.

If else Programs in C Programming

If else Programs in C programming The if-else statement in C is based on some particular conditions to perform the operations. If and only if the given condition is valid, the operations listed in...

4 minutes read.

C Program for Extended Euclidean algorithms

The Euclidean method simply computes the GCD (greatest common divisor) of two numbers, p and q. (Let's assume) The GCD of two integers is the greatest number that divides them both....

3 minutes read.

Union in C

Union is a user-defined data type that is used to hold the different types of elements like structure. In union, all members share the same memory location. Syntax: union [union name] { ...

1 minute read.

Remove an element from an array in C

A collection of objects or pieces of the same data type stored in a single memory block is known as an array. A data structure called an array is used...

3 minutes read.

Types Of Structures In C

We can normally store elements of the same datatype with the help of an array in C programming. We can store multiple numbers of elements of a character data type...

3 minutes read.

Null character in C

Introduction The Null character in the C programming language is used to terminate the character strings. In other words, the Null character is used to represent the end of the string...

3 minutes read.

Consumer billing system in C

Introduction : Billing has always been taught to do perfectly, we know today's world is full of products, and We all are using multiple products. We are buying and selling various...

9 minutes read.

How to install a C compiler in windows 10-64bit

Many C compilers can be installed on your pc. The most downloaded compilers include GCC, Turbo C++, Visual Studio, etc. This article includes the installation of the Turbo C++ compiler in...

6 minutes read.

Pseudo Code in C

Pseudo code in C can be referred to as a simple way or method to write programming code or program algorithm in English. A pseudocode is an informal representation of...

4 minutes read.

Add two numbers using the function in C

Here we will learn how to add two numbers by creating function in C. Let’s learn this with help of example. Code: - #include <stdio.h> int add_two_no(int a, int b); int main(){   int first_num,...

1 minute read.

Calendar application in C

Introduction to the calendar application We all are familiar with the calendar. It plays a crucial role in our daily life. We run toward the calendar whenever we want to know...

6 minutes read.

How to get ASCII value in C

For text data on computers and the internet, ASCII (American Standard Code for Information Interchange). It is the most widely used character encoding standard. One hundred twenty-eight alphabetic, numeric, special...

3 minutes read.

Stack implementation in C

Stack implementation in C Stack stores the data in a particular order. It is a linear data structure that follows the principle of the Last In First Out (LIFO) technique where...

3 minutes read.

C Math Library

C Math Library The <math.h> header defines various mathematical functions and one macro. Many functions are available in this library to take double as an argument and then return double as...

4 minutes read.

C –Structure

C structure is a collection of different types of data that is grouped together. It is used to represent records.Structkeyword is used to create a structure. Each element of a...

1 minute read.