While Statement
 while (condition) { body of loop }
    
     i=0; 
   
     while (i<10) 
     {        printf (“%f”, i*i);
               i++;         }
      ans = ‘y’;
 while (ans==‘y’)    {/*process*/ 
 printf (“Do you want to continue y/n”)
          scanf(“%c”, ans); }
Do While Loop
 do {body of the loop} while (condition);
 It’s exit controlled loop
     i=0;
     do 
         { printf (“%f”, i*i); i++; }
     while (i<10);
 
while (number > 0 && number < 12)
 The de Morgan's law
For Statement
 for(initialization; condition; increment)
    for(i=0;i<10;++i) {printf (“%d”,i);}
    for(i=10; i>0; --i) {printf (%d”, i);}
    for(i=0,j=0;i<10;i++)
    for(i=0,j =0;i<10;i++,j++)
    for(i=0,j=0; i<50 || j <10;j++)
    for (i=0;i<10000;i++)    ;
Execution of For Loop
- Initialization of control variable is done first
- The value of control variable is tested then
- If the test condition value is true, the loop executes, otherwise the body gets skipped
- After the first execution of the loop the control goes to the third part of for
-  for (total=0;ans=“n”; total = total + marks) {scanf (“%f”, marks; /* ask for yes no*/}
Different Ways to Use For
 i = 5;
for ( ; i < 10 ; i++ )
 i = 5;
 for (; i<10; ) { … ; i++; …}
 for (; ;) { … } /* The infinite loop */
 for (row =0; row < rowmax; ++row)
  { for (col = 0; col < colmax; ++ col;)
      printf( “%d”, row * col;);  }
/* Above is known as nesting */
Jumps in Loops
- break and goto for jumping out
- goto for jumping anywhere from anywhere!
- Skipping next bunch of statements and continue with next iteration by continue
- continue does not breaks out of loop
- In while and do loops, continue causes control to go to condition, in for it goes to increment section and then to condition
Continue Graphically
Avoiding goto
- It generates less efficient code
- Careful program design can usually avoid use of goto
- Many of goto will make the program logic complicated and less readable
- In case any goto is absolutely necessary, it should be properly documented
goto Which Causes Problems
Concise Test Expressions
if (expression = 0) can be rewritten as 
if (!expression)
if (expression != 0) can be rewritten as
if (expression)
- The second form is more common in professional C programs
- It does not use any relational operators