What do you mean by Looping? Expalin in context of C programming.
Looping is the
process of repeating of same code until a specific condition doesn’t satisfy.
In c there are three types of loop:
(a)loop
(b)while loop
(c)do while
for loop:
This loop is
used when we have to execute a part of code in finite times. It is per tested
loop. Syntax of for loop:
for (Expression 1; Expression 2;
Expression 3){
Loop body
}
Order of movement of control in for loop:
First time:
Expression
1-> Expression 2->Loop body -> Expression 3
Second time and
onward:
Expression 2->Loop body ->
Expression 3
That is
expression 1 only executes in the first iteration. From second iteration and
onward control doesn’t go to at the expression 1.For example:
#include<stdio.h>
int main(){
int i;
for(i=0;i<=4;i++){
printf("%d ",i);
}
return 0;
}
Output: 0 1 2 3 4
Explanation of each term of syntax:
Expression 1:
It is called
initialization expression. Task of this expression is to initialize the looping
variables.
Properties
of expression 1:
1. Expression1
can initialize the more than one variable. For example:
#include<stdio.h>
int main(){
int i,j,k;
for(i=0,j=2,k=1;i<=4;i++){
printf("%d ",i+j+k);
}
return 0;
}
Output: 3 4 5 6 7
2. Expression1 is optional. For example:
#include<stdio.h>
void main(){
int i=1;
for(;i<=4;i++){
printf("%d ",i);
}
return 0;
}
Output: 1 2 3 4
3. Unlike to the
java in c we cannot declare the variable at the expression1. For example:
#include<stdio.h>
int main(){
for(int i=0;i<=10;i++){
printf("%d ",i);
}
return 0;
}
Output: ce
Expression 2: It
is called as conditional expression. Task of expression is to check the
condition and if it is false then it terminates the loop. For example:
#include<stdio.h>
int main(){
int i;
for(i=1;i<=3;i++){
printf("hi ");
}
printf("%d",i);
return 0;
}
Output: hi hi hi 4
Properties
of expression2:
1.
Expression2 can have more than one checking condition and if any
condition is false loop will terminate. For example:
(a)
#include<stdio.h>
void main(){
int i,j=2;
for(i=0;i<=5,j>=0;i++){
printf("%d ",i+j);
j--;
}
return 0;
}
Output: 2 2 2
(b)
#include<stdio.h>
int main(){
int i,j=2;
for(i=0;j>=0,i<=5;i++){
printf("%d ",i+j);
j--;
}
return 0;
}
Output: 2 2 2 2 2 2
2. Expression2 is also optional. For
example:
#include<stdio.h>
int main(){
int j;
for(j=0; ;j++){
printf("%d ",j);
if(j>=2)
break;
}
return 0;
}
Output: 0 1 2
3. It can
perform task of expression1 as well as expression3. That is it can initialize
the variables as well as increment the variables. For example:
(a)
#include<stdio.h>
int main(){
int i;
for(;i=0,i<=3 ;i++){
printf("%d ",i);
}
return 0;
}
Output: Infinite Loop
(b)
#include<stdio.h>
int main(){
int i=0;
for(;i+=2,i<5 ;i++){
printf("%d ",i);
}
return 0;
}
Output: 2
4. If
expression2 is zero means condition is false and any non zero number means
condition is true. For example
(a)
#include<stdio.h>
int main(){
int i;
for(i=0;-5 ;i++){
printf("%d ",i);
if(i==3)
break;
}
return 0;
}
Output: 0 1 2 3
(b)
#include<stdio.h>
int main(){
int i;
for(i=5;0 ;i++){
printf("%d ",i);
}
return 0;
}
Output: 5
Expression 3:
It is called as
instrumentation expression. Task of this expression is to increment the
variable. Properties:
1. We can
increment more than one variable at the same time in the expression3. For
example
(a)
#include<stdio.h>
int main(){
int i,j,k;
for(i=0,j=0,k=0;i<=5,j<=4,k<=3;i++,++j,k+=2){
printf("%d ",i+j+k);
}
return 0;
}
Output: 0 4
(b)
#include<stdio.h>
void main(){
int i,j=0;
for(i=0;i<=3;++i,i++,++j ){
printf("%d %d ",i,j);
}
return 0;
}
Output: 0 0 2 1
2. Expression 3 is also optional. For
example
#include<stdio.h>
int main(){
int i;
for(i=0;i<=3; ){
printf("%d ",i++);
}
return 0;
}
Output: 0 1 2 3
Loop
body:
Loop body
contains the part of code which we have to execute multiple numbers of times.
Properties of loop body:
1. If loop body
contain only one statement then brace is optional. For example:
(a)
#include<stdio.h>
int main(){
int i,j=0;
for(i=0;i<=3;++i,i++,++j )
printf("%d %d ",i,j);
}
return 0;
}
Output: 0 0 2 1
(b)
#include<stdio.h>
int main(){
int x,y=5;
for(x=0;x<3;x++)
if(y>=5)
printf(" %d",x);
return 0;
}
Output: 0 1 2
2. Loop without body is possible. For
example
#include<stdio.h>
int main(){
int i;
for(i=0;i<=10;i++);
printf("%d",i);
return 0;
}
Output: 11
3. Braces of loop body behave as block.
For example
#include<stdio.h>
int main(){
int i;
for(i=0;i<=2;i++){
int i=8;
printf("%d ",i);
}
printf("%d",i);
return 0;
}
0 comments:
Feel free to contact the admin for any suggestions and help.