×

Difference between while and for loop in C

While Loop

The syntax that can be used for the ‘while’ loop in the C programming language is mentioned below:

while (test expression or termination condition) 
{
  // the main body of the ‘while’ loop is written here}

Here, we will let you know about the working of the ‘while’ loop in C:

Initially, we use the parentheses for storing the termination condition of the While loop. Then, there can be two outcomes True or False.

Firstly, if the result is true, then the control will automatically execute the body of the loop. It will continue to evaluate again and again until the termination condition is false. Secondly, if the result is false, then the control will definitely come out of the While loop and will dismiss the While Loop.

Let’s understand the entire process of while loop with the help of an example:

Example 01: This program will print numbers from 10 to 20 with the help of Less Than comparison operation in the ‘while’ loop:

/* Printing integers from 10 to 20 */
#include <stdio.h>
int main () 
{
  int a = 10; // declaration and initialization of the variables
  while (a < 20) // while (test expression)
  {
    printf ("the value of ‘a’ is %d\n", a); // main body of loop having print command 
    ++a; // modifying statement for the further evaluation
  }
  return 0;
}

Output:

the value of ‘a’ is 10
the value of ‘a’ is 11
the value of ‘a’ is 12
the value of ‘a’ is 13
the value of ‘a’ is 14
the value of ‘a’ is 15
the value of ‘a’ is 16
the value of ‘a’ is 17
the value of ‘a’ is 18
the value of ‘a’ is 19
the value of ‘a’ is 20


Explanation:

Firstly, we initialized the value of the integer variable, which we took as a. Then, we applied a termination condition (while (a < 20) to avoid the output running to infinity.

After that, we implemented the main body of the while loop just like the following statement:

[Printf ("the value of ‘a’ is %d\n", a);].

This statement prints the desired output that we want (see output). In the main body, we placed an increment statement (++a;). Through this statement, we can get positive integers starting with 10 and ending with 20. It performs the increment command and will add 1 to the previous value of a.

This evaluation will perform several times until the value of a becomes 20.

When the value of a becomes 20, then it will terminate the entire process because the termination condition gets false as the value of ‘a’ is greater than 19. So, the loop only executes to the values less than 20.

Example 02: This program will print numbers from 25 to 15 with the help of greater than or equal to comparison operation in the ‘while’ loop:

/* Printing integers from 25 to 15 */
#include <stdio.h>
int main() 
{
  int a = 25; // declaration and initialization of the variables  
while (a >= 15) // while (test expression)
  {
    printf ("the value of ‘a’ is %d\n", a); // main body of loop having print command 
   --a; // modifying statement for the further evaluation
  }
  return 0;
}

Output:

the value of ‘a’ is 25
the value of ‘a’ is 24
the value of ‘a’ is 23
the value of ‘a’ is 22
the value of ‘a’ is 21
the value of ‘a’ is 20
the value of ‘a’ is 19
the value of ‘a’ is 18
the value of ‘a’ is 17
the value of ‘a’ is 16
the value of ‘a’ is 15

Explanation:

Firstly, we initialized the value of the integer variable, which we took as a. Then, we applied a termination condition (while (a >= 15) to avoid the output running to negative infinity.

After that, we implemented the main body of the while loop just like the following statement:

[Printf ("the value of ‘a’ is %d\n", a);].

This statement prints the desired output that we want (see output). In the main body, we placed a decrement statement (--a;). Through this statement, we can get positive integers starting with 25 and ending with 15. It performs the decrement command and will subtract 1 from the previous value of a.

This evaluation will perform several times until the value of a becomes 14.

When the value of a becomes 14, then it will terminate the entire process because the termination condition gets false as the value of ‘a’ is less than 15. So, the loop only executes to the values greater than 15 or equals to 15.

For Loop

The syntax of ‘for’ loop in C programming language is given below:

for (initialization statement; test expression; update statement)
{
    /* main body of the ‘for’ loop */
}

How does the ‘for’ loop work?

In for loop, the initialization command is implemented only once.

After that, it checks the test expression of the loop and finds whether the test expression is false or true. And, for loop is dismissed if the test expression is false.   
If the test expression of the 'F' loop becomes true, then the program line provided in the F loop’s body is executed, and the update expression is changed accordingly.
Again, the entire process of evaluation is to be done. The loop executes its body until and unless the value of the test expression in for loop becomes false. The loop automatically terminates as soon as the test expression result becomes false.

Example 01: This program will print counting from 33 to 42 with the help of less than comparison operation:

// Code to print numbers from 33 to 42
#include <stdio.h>
int main()
{
    int a; // declaring variables
    for (a = 33; a < 42; ++a) /* (initialization statement, termination condition, increment or decrement statement) */
    {
        printf(" Current value of ‘a’ is %d \n", a); // printing the output
    }
    return 0;
}

Output:

Current value of ‘a’ is 34
Current value of ‘a’ is 35
Current value of ‘a’ is 36
Current value of ‘a’ is 37
Current value of ‘a’ is 38
Current value of ‘a’ is 39
Current value of ‘a’ is 40
Current value of ‘a’ is 41
Current value of ‘a’ is 42

Explanation:
Here, we initialized the value of a to 33, and the loop starts its evaluation from 33. In the for statement, the termination condition is implemented as a<42.
The value of 'a' is smaller than 42, so the condition is true, and the statement inside the 'FOR' loop is implemented. As a result, 33 will be printed as the final value on the output screen. After that, the altering statement (++a) is implemented for increment. Due to increment, the value of variable ‘a’ will become 34.
Again, the termination condition is checked for true or false, and if it is found to be true, then the body of FOR-LOOP is implemented once again. This time the value is displayed as 34 on the output.
This process will continue to check and evaluate until the value of ‘a’ becomes 42. When the value of 'a' becomes 42, then the a<42 condition automatically becomes false, and the for loop terminates.

Example 02: This program will print the values from 10 to 2 with the help of greater than comparison operation:

// to print numbers from 10 to 2
#include <stdio.h>
int main ()
{
    int a; // declaring variables
    for (a = 10; a > 1; --a) /* (initialization statement, termination condition, increment or decrement statement) */
    {
        printf(" Current value of ‘a’ is %d \n", a); // printing the output
    }
    return 0;
}

Output:

Current value of ‘a’ is 10
Current value of ‘a’ is 9
Current value of ‘a’ is 8
Current value of ‘a’ is 7
Current value of ‘a’ is 6
Current value of ‘a’ is 5
Current value of ‘a’ is 4
Current value of ‘a’ is 3
Current value of ‘a’ is 2

Explanation:

Here, we initialized the value of a to 10, and the loop starts its evaluation from 10. In the for statement, the termination condition is implemented as a>1.
The value of 'a' is greater than 1, so the condition is true, and the statement inside the 'FOR' loop is implemented. As a result, 10 will be printed as the final value on the output screen. After that, the altering statement (--a) is implemented for decrease the value of a. Due to decrement, the value of variable ‘a’ will become 9.
Again, the termination condition is checked for true or false, and if it is found to be true, then the body of FOR-LOOP is implemented once again. This time the value is displayed as 9 on the output.
This process will continue to check and evaluate until the value of ‘a’ becomes 1. When the value of 'a' becomes 1, then the a>1 condition automatically becomes false, and the for loop terminates.


Related Topics

function pointer as argument in C

Pointers are considered difficult to understand for beginners but pointers can be made to work if you fiddle with them long enough. So, let’s understand this step by step. What are...

3 minutes read.

Scope of variables in C

Introduction The scope of variables in C can be defined as the scope of reach of a variable, the term scope is used to determine the visible range of an object....

4 minutes read.

Example of Iteration in C

The iterations in the C language are the statements which are executed number of times until a certain condition is reached. These iterations are regarded as “Loops” in C language....

3 minutes read.

Difference between If and Switch Statement in C

Key Contrast: In the event that assertion is utilizes a Boolean articulation to execute the capability and can frequently be utilized to really look at various circumstances all at once.  The change...

4 minutes read.

Segmentation Fault in C

Segmentation Fault in C In the C programming language, segmentation fault or segmentation violation or core dump is a condition that the hardware component raises to protect the memory by indicating...

4 minutes read.

What is algorithm in C?

What is an algorithm? In computer programming languages, an algorithm is set of statement that solves a particular problem. In C, first step of every algorithm is Start and last step of...

3 minutes read.

Calloc in C

The calloc() is a library function in C which is used for memory allocation. The calloc() function dynamically allocates multiple blocks of memory to complex data structures. This includes data structures...

3 minutes read.

Variables in C

A variable can be defined as a name allocated to a storage space that can be manipulated by our programs. Every variable in C arbitrates about the overall layout and...

5 minutes read.

Find out Power without using POW function in C

Introduction: In this discussion, we will discuss how we find out power without using the POW function in C. In this article, you'll understand how to compute integer powers in...

3 minutes read.

Double Specifier in C

What is a double specifier? The term double denotes the double data type in C. It more accurately depicts floating point numbers. The idea that it has twice the precision of...

3 minutes read.

Matrix Multiplication in C

Matrix Multiplication in C Matrix multiplication in C: Two matrices can be added, subtracted, multiplied, and divided. To do so, we take input from the consumer for row number, column number, first element matrix,...

3 minutes read.

How to include graphics.h in C?

How to include graphics.h in code blocks? Graphics .h is a header that allows drawing lines, rectangles, ovals, arcs, polygons, pictures, and strings on a graphical window by giving access to...

6 minutes read.

Return array from function in C

Return array from function in C C programming does not require the return to a function of a whole array as an argument. However, you can return a pointer to an array without...

2 minutes read.

C Program to Find the Largest Number using Ternary Operator

In this tutorial, we will write some program to determine which of the provided integers is larger using the ternary operator, also known as the conditional operator in C. Ternary Operator: The ternary...

3 minutes read.

Actual and Formal Parameters

Any variable declared within the parenthesis is referred to as the parameters during the function declaration. Parameters tell the function about the argument datatype, their order, and the number of...

5 minutes read.

memcpy() in C

Introduction: Here we discuss about the memcpy() function in C. The memcpy() function is also called the Copy Memory Block function. Used to create a copy of a specific drawing...

4 minutes read.

Find a subarray with a given sum.

Find a subarray with a given sum. The simple solution is to recognize all subarrays one by one and to check each subarray's sum. The quick solution follows the following program. Algorithm: From...

4 minutes read.

How to find square root in C Language

Before understanding the square root program in C language, one must know about the square root of a number. A square root is a mathematical term. The square root of a...

5 minutes read.

getch() function in C

getch() is a pre-define or built-in function present in the conio.h library. It returns the given character immediately without waiting for the enter key to be entered. By using getch()...

3 minutes read.

Volatile in C

Introduction A volatile keyword is a qualifier in C. Qualifiers are nothing but keywords which are used to modify the properties of a variable. Qualifiers are of two types: 1) Const The const type...

3 minutes read.