Sunday, 29 January 2017

Decision making in C

Decision making is about deciding the order of execution of statements based on certain conditions or repeat a group of statements until certain specified conditions are met. C language handles decision-making by supporting the following statements,
·         if statement
·         switch statement
·         conditional operator statement
·         goto statement

·         Decision making with if statement:

The if statement may be implemented in different forms depending on the complexity of conditions to be tested. The different forms are:
1.     Simple if statement
2.    If....else statement
3.    Nested if....else statement
4.    else if statement

1.  Simple if statement:

The general form of a simple if statement is,
if (expression)
{
 statement inside;
}
 statement outside;
If the expression is true, then 'statement-inside' it will be executed, otherwise 'statement-inside' is skipped and only 'statement-outside' is executed.
Example:
#include <stdio.h>
void main( )
{
  int x,y;
  x=15;
  y=13;
  if (x > y )
  {
    printf("x is greater than y");
  }
}

Output:
x is greater than y

2.  if...else statement:

The general form of a simple if...else statement is,
if (expression)
{
 statement block1;
}
else
{
 statement block2;
}
If the 'expression' is true, the 'statement-block1' is executed, else 'statement-block1' is skipped and 'statement-block2' is executed.
Example:
#include <stdio.h>
void main( )
{
 int x,y;
 x=15;
 y=18;
 if (x > y )
 {
  printf("x is greater than y");
 }
 else
 {
  printf("y is greater than x");
 }
}
Output:
y is greater than x

3.  Nested if....else statement:

The general form of a nested if...else statement is,
if (expression)
{
  if (expression1)
   {
     statement block1;
   }
  else
   {
     statement block2;
   }
}
else
{
 statement block3;
}
if 'expression' is false the 'statement-block3' will be executed, otherwise it continues to perform the test for 'expression 1' . If the 'expression 1' is true the 'statement-block1' is executed otherwise 'statement-block2' is executed.
Example:
#include <stdio.h>
#include <conio.h>
void main( )
{
 int a,b,c;
 clrscr();
 printf("enter 3 number");
 scanf("%d %d %d", &a, &b, &c);
 if(a>b)
 {
  if( a > c)
  {
    printf("a is greatest");
  }
  else
  {
    printf("c is greatest");
  }
 }
 else
 {
  if( b> c)
   {
     printf("b is greatest");
   }
  else
   {
     printf("c is greatest");
   }
  }
getch();
}

4.  else-if ladder

The general form of else-if ladder is,
if (expression1)
{
 statement block1;
}
else if (expression2)
{
 statement block2;
}
else if (expression3)
{
 statement block3;
}
else
 default statement;
The expression is tested from the top (of the ladder) downwards. As soon as the true condition is found, the statement associated with it is executed.
Example:
#include <stdio.h>
#include <conio.h>
void main( )
{
 int a;
 printf("enter a number");
 scanf("%d", &a);
 if (a%5==0 && a%8==0)
 {
  printf("divisible by both 5 and 8");
 } 
 else if( a%8==0 )
 {
  printf("divisible by 8");
 }
 else if(a%5==0)
 {
  printf("divisible by 5");
 }
 else
 {
  printf("divisible by none");
 }
getch();
}

Points to Remember:

1.     In if statement, a single statement can be included without enclosing it into curly braces { }
int a = 5;
if(a > 4)
  printf("success");
No curly braces are required in the above case, but if we have more than one statement inside if condition, then we must enclose them inside curly braces.
2.    == must be used for comparison in the expression of if condition, if you use = the expression will always return true, because it performs assignment not comparison.
3.    Other than 0(zero), all other values are considered as true.
if(27)
 printf("hello");
In above example, hello will be printed.

No comments:

Post a Comment