Showing posts with label For loop. Show all posts
Showing posts with label For loop. Show all posts

Friday, 29 March 2019

C Loops - For loop, while loop and do while loop

You may encounter situations, when a block of code needs to be executed several number of times. A loop is used for executing a block of statements repeatedly until a given condition returns false.
There are three types of loop constructs in C. These are as follows-
(1). for loop
(2). while loop
(3). do while loop

(1).for loop
It is used mainly when number of iterations (number of times loop will execute) are known beforehand.
Syntax of for loop
The for loop can be written in several ways.
Syntax 1:
for(initialization;test_condition;updateStatement){
   //loop body
}

Syntax 2:
Initialization;
for(;test_condition;updateStatement){
   //loop body
}

Syntax 3:
initialization
for(;test_condition;){
   //loop body
updateStatement;
}

Note : updateStatement means increment or decrement statement

How for loop works?
  • The initialization statement is executed only once.
  • Then, the test_condition is evaluated. If the test_condition is false (0), for loop is terminated.
  • But if the test_condition is true (nonzero), codes inside the body of for loop is executed and the updateStatement is updated.

This process repeats until the test_condition is false.
Examples:
//program to print integer number from 1 to 10 in ascending order
#include<stdio.h>
void main(){
  for(int i=1;i<=10;i++){
     printf(“%d\t”,i);
   }
}
Output: 1 2 3 4 5 6 7 8 9 10
//program to print integer number from 1 to 10 in descending order
#include<stdio.h>
void main(){
  for(int i=10;i>=1;i--){
     printf(“%d\t”,i);
   }
}
Output: 10 9 8 7 6 5 4 3 2 1

(2). While loop
The while statement is used when the program needs to perform repetitive tasks.
The general form of a while statement is:

while (condition){
statement;
}
The program will repeatedly execute the statement inside the while until the condition becomes false (0). (If the condition is initially false, the statement will not be executed.)
 How while loop works?

  • The while loop evaluates the condition.
  • If the condition is true (nonzero), codes inside the body of while loop is executed. The condition is evaluated again. The process goes on until the condition is false.
  • When the condition is false, the while loop is terminated.


Example :
//program to print numbers from 1 to 10 in ascending order
#include<stdio.h>
void main(){
int i=1;
while(i<=10){
  printf(“%d\t”,i);
  i++;
 }
}

(3).do while loop
The do..while loop is similar to the while loop with one important difference. The body of do...while loop is executed once, before checking the test expression. Hence, the do...while loop is executed at least once.

Syntax:
initialization;
do{
  //loop body
updateExpression;
}while(testExpression);

How do...while loop works?
  • The code block (loop body) inside the braces is executed once.
  • Then, the testExpression is evaluated. If the testExpression is true, the loop body is executed again. This process goes on until the testExpression is evaluated to 0 (false).
  • When the testExpression is false (nonzero), the do...while loop is terminated.

·
Example:
//program to print numbers from 1 to 10.
#include<stdio.h>
void main(){
  int i=1;
do{
  printf(“%d\t”,i);
  i++;
  }while(i<=10);
}

Above discussed loops can be categorized into two groups based on-when test condition is tested.
(1). Entry controlled loop
  • The types of loop where the test condition is stated before the body of the loop, are known as the entry controlled loop.     
  • In this category of loops, test condition is evaluated before entering into the loop body.
  • Example- for loop and while loop.


(2). Exit controlled loop
  • The types of loop where the test condition is stated at the end of the body of the loop, are known as the exit controlled loops.
  • So, in the case of the exit controlled loops, the body of the loop gets execution without testing the given condition for the first time.
  • Then the condition is tested. If it comes true, then the loop gets another execution and continues till the result of the test condition is not false.
  • Example : do while loop


Please comment if you find anything incorrect, or you want to improve the topic discussed above.