For Loop While Loop Do while Loop
Do while loop
syntax:
do
{
statements;
statements;
statements;
}while(condition);
* Do while loop is an exit control loop.
* In the do-while loop the statements of the loop are executed first and then the condition is checked.
* In the do-while loop irrespective of whether the condition is true or false the statements of the loop are executed at least once.
Difference between while loop and do while loop
while loop | do while loop |
While(condition) { statements; } | do { statements; }while(condition); |
While loop is an entry control loop | Do while loop is an exit control loop |
In while loop the condition is checked first then the statements of the loop are executed | In do while loop the statements of the loop are executed first and then the condition is checked. |
In while loop if the condition is true then only the control will enter the loop and the statements will be executed. | In do while loop irrespective of whether the condition is true or false the statements of the loop will get executed at least once. |
i=11; while(i<=10) { printf(“%d\n”,i); i++; } o/p : (blank) | i=11; do { printf(“%d\n”,i); i++; }while(i<=10); o/p:11 |
Examples of do while loop
Question:1
C Program to input for a number, calculate and print its square and add the continue condition?
Sol:
#include <stdio.h> int main() { int a,b; char ch; do { printf("Enter any no "); scanf("%d",&a); b=a*a; printf("Square = %d\n",b); printf("Like to cont ... (y/n) "); fflush(stdin); scanf("%c",&ch); }while(ch=='y' || ch=='Y'); return 0; }
Output:
Enter any no 2
Square = 4
Like to cont … (y/n) y
Enter any no 6
Square = 36
Like to cont … (y/n) y
Enter any no 5
Square = 25
Like to cont … (y/n) n
Question:2
C Program to input for a number, calculate and print its cube and add the continue condition?
Sol:
#include <stdio.h> int main() { int a,b; char ch; do { printf("Enter any no "); scanf("%d",&a); b=a*a*a; printf("Cube = %d\n",b); printf("Like to cont ... (y/n) "); fflush(stdin); scanf("%c",&ch); }while(ch=='y' || ch=='Y'); return 0; }
Output:
Enter any no 2
Cube = 8
Like to cont … (y/n) y
Enter any no 5
Cube = 125
Like to cont … (y/n) y
Enter any no 8
Cube = 512
Like to cont … (y/n) n
Question:3
C Program to input for 2 numbers calculate and print their sum and add the continue condition?
Sol:
#include <stdio.h> int main() { int a,b,c; char ch; do { printf("Enter 2 nos "); scanf("%d %d",&a,&b); c=a+b; printf("Sum = %d\n",c); printf("Like to cont ... (y/n) "); fflush(stdin); scanf("%c",&ch); }while(ch=='y' || ch=='Y'); return 0; }
Output:
Enter 2 nos 10
25
Sum = 35
Like to cont … (y/n) y
Enter 2 nos 23
63
Sum = 86
Like to cont … (y/n) n
Question:4
C Program to input for 3 numbers calculate and print their product and add the continue condition?
Sol:
#include <stdio.h> int main() { int a,b,c,d; char ch; do { printf("Enter 3 nos "); scanf("%d %d %d",&a,&b,&c); d=a*b*c; printf("Product = %d\n",d); printf("Like to cont ... (y/n) "); fflush(stdin); scanf("%c",&ch); }while(ch=='y' || ch=='Y'); return 0; }
Output:
Enter 3 nos 10
20
30
Product = 6000
Like to cont … (y/n) y
Enter 3 nos 2
6
3
Product = 36
Like to cont … (y/n) y
Enter 3 nos 5
6
2
Product = 60
Like to cont … (y/n) n
Question:5
C Program to take input for 3 numbers, check and print the largest number. Add the continue condition?
Sol:
#include <stdio.h> int main() { int a,b,c,m; char ch; do { printf("Enter 3 nos "); scanf("%d %d %d",&a,&b,&c); if(a>b && a>c) m=a; else if(b>c) m=b; else m=c; printf("Max no = %d\n",m); printf("Like to cont ... (y/n) "); fflush(stdin); scanf("%c",&ch); }while(ch=='y' || ch=='Y'); return 0; }
Output:
Enter 3 nos 25
96
3
Max no = 96
Like to cont … (y/n) y
Enter 3 nos 25
87
54
Max no = 87
Like to cont … (y/n) n