C do-while
do-while is similar to a while loop and used when a set of statements have to be repeatedly executed at least once untile a certain condition is reached. When we do not know exactly how many time a set of statement have to be repeated do while can be used.
Syntax:-
do
{
...........
...........
updation
}while(expression);
do and while:are keywords also called reserved keywords.
The expression must be enclosed within parentheses and must be end with semicolon " ; ".
How do-while Works
- Step 1:-
The initialization statement is executed first - Step 2:-
Then, the test expression is evaluated. If the test expression is evaluated to false, then the while loop gets terminated and the control comes out of the while loop. - Step 3:-
if the test expression is evaluated to true,The statements defined inside the while loop will repeatedly execute until the given condition fails. - Step 4:-
After successful execution of statements inside the body of the while loop, the update expression is executed. - Step 5:-
Again the test expression is evaluated.
Example with dry Run Concepts
Q.) W.A.P to print 1 to 5 using do while loop.
#include<stdio.h> #include<conio.h> void main() { int i=1; do { printf(“%d\n”,i); i++; }while(i<=5); getch(); }
Output
1
2
3
4
5
2
3
4
5
Above Program Explanation
- Step 1:-
We declared integer variables called i. The initialization statement is executed. i.e i=1 - Step 2:-
Next, print i value Then, the test expression is evaluated. i.e i is less than or equals to 5 or not (i <=5 ) hear condition is true so statements inside the body of the while loop are executed, and it will print the value of i i.e 1 - Step 4:-
After successful execution of statements inside the body of the do, the update expression (i.e i++) means it incremented by 1 now the value of i is 2 - Step 5:-
Again the test expression is evaluated. and repeat step 2 till the condition is false - Step 5:-
when the condition is false means the value of i will be 6 then while loop gets terminated and the control comes out of the loop.
Difference between while loop and do-while loop.
While loop | do-while loop |
---|---|
It is a top-testing/entry controlled loop since the condition is checked in the beginning itself. | It is a bottom-testing/exit controlled loop since the condition is checked at the bottom of the loop. |
It is a pre-test loop. | It is a post-test loop. |
If the condition is evaluated false at the beginning, then the statement within the body of the loop will not be executed even once. | In do while loop the body of the loop will be executed at least once. |
C for loop MCQ Question
Q1.What is the output of while Program.?
int main() { int a=65; do { printf("%d ", a); a++; }while(a <= 65); return 0; }
- 65
- 87
- 78
- error
Answer:- a.
Explanation do { } block is executed even before checking while(condition) at least once. This prints 65. To loop for the second time, while (65 <= 63) fails. So, loop is quit.
Explanation do { } block is executed even before checking while(condition) at least once. This prints 65. To loop for the second time, while (65 <= 63) fails. So, loop is quit.
Q2.What is the output of while Program.?
int main() { int a=65; do { printf("%d ", a); a++; if(a > 68) break; }while(1); return 0; }
- 65 66 67 68
- 65 66 67
- 65 66 67 68 69
- error
Answer:- a.
Explanation while(1) is infinite loop. So we kept if(condition) to break the loop. a++ is equivalent to a=a+1;
Explanation while(1) is infinite loop. So we kept if(condition) to break the loop. a++ is equivalent to a=a+1;
Copyright © 2022 Shineskill Software Pvt. Ltd., All rights reserved.