C Control Flow

The term flow of control refers to the order in which a program's statments are executed. Following are the control flow statements in C language, which can be used to control the flow of a program.

   

  • if-else-if
  • ternary
  • switch
  • while
  • for
  • break
  • continue
   

  if-else-if

The if statement has the same function as other languages. It has three basic forms:

   

  • if (expression) { statement }
  • if (expression) { statement } else { statement }
  • if (expression) { statement } else if { statement } else { statement }
   

  ternary

The ? (ternary condition) operator is a more efficient form for expressing simple if statements. It has the following form:

   

expression1 ? expression2: expression3

   

It simply states:

   

if expression1 then expression2 else expression3

   

  switch

The C switch is similar to Pascal's case statement and it allows multiple choice of a selection of items at one level of a conditional where it is a far neater way of writing multiple if statements:

   


  1 switch (expression) {
  2  case item1:
  3 		 statement1;
  4 		 break;
  5  case item2:
  6 		 statement2;
  7 		 break;
  8                  .
  9                  .
 10                  .
 11                  .
 12                  .
 13                  .
 14                  .
 15  case itemn:
 16 		 statementn;
 17 		 break;
 18  default:
 19 		 statement;
 20 		 break;
 21 }
You could download file switch.c here
   

In each case the value of itemi must be a constant, variables are not allowed.

   

The break is needed if you want to terminate the switch after execution of one choice. Otherwise the next case would get evaluated. Note: This is unlike most other languages.

   

We can also have null statements by just including a ; or let the switch statement fall through by omitting any statements (see e.g. below).

   

The default case is optional and catches any other cases.

   

  while

The while statement is similar to those used in other languages although more can be done with the expression statement -- a standard feature of C.

   

while(expression)

statement

   

Because the while loop can accept expressions, not just conditions, the following are all legal

   

  • while (x-)
  • while (x=x+1)
  • while (x+=5)
   

Using this type of expression, only when the result of x-, x=x+1, or x+=5, evaluates to 0 will the while condition fail and the loop be exited.

   

  for

The C for statement has the following form:

   

for (expression1; expression2; expression3)

statement;

or {block of statements}

   

expression1 initialises; expression2 is the terminate test; expression3 is the modifier (which may be more than just simple increment);

   

  break

We have already met break in the discussion of the switch statement. It is used to exit from a loop or a switch, control passing to the first statement beyond the loop or a switch.

   

With loops, break can be used to force an early exit from the loop, or to implement a loop with a test to exit in the middle of the loop body. A break within a loop should always be protected within an if statement which provides the test to control the exit condition.

   

  continue

This is similar to break but is encountered less frequently. It only works within loops where its effect is to force an immediate jump to the loop control statement.

   

  • In a while loop, jump to the test statement.
  • In a do while loop, jump to the test statement.
  • In a for loop, jump to the test, and perform the iteration.
   

Like a break, continue should be protected by an if statement. You are unlikely to use it very often.

   

   

  

Copyright © 1998-2006

Deepak Kumar Tala - All rights reserved

Do you have any Comment? mail me at:deepak@asic-world.com