Decision control instructions

What is the decision control instructions?
   Decision control instruction is also known as a selection control instruction. C language         provides three ways to implement this instruction:
  Using decision control statements we can control the flow of the program in such a          way so that it executes certain statements based on the outcome of a condition (i.e. true       or false)
  • if
  • if-else
  • Conditional operator
 

if

Following is the syntax of if statement:

int main()
{
..…
…..
if(some condition)
{
Statement1;
Statement2;
….
}

}

if is a keyword which let the compiler know the decision control statement begins. Immediately after if keyword, some condition is there in the parenthesis. This condition can be any valid expression of C language. Condition is always evaluated as true or false. If the result of an expression is non-zero it is considered as TRUE otherwise FALSE.
Immediately after this condition, there is a block of code. This block is known as if block. Whatever we write in if block will be executed only when condition is TRUE.
When the condition is false control skip if block and execute statements written after if block.
Example
:
int main()
{
int marks;
printf(“Enter marks “);
scanf(“%d”,&marks);
if(marks>=33)
{
printf(“You are PASS”);
}
if(marks<33) { printf(“You are FAIL”); } return(0); }

Sample Output:
Enter marks 45
You are PASS
Sample Output:
Enter marks 23
You are FAIL
In this program, output depends on the value given by the user. Variable marks hold the value entered by the user. We have used two if statements. In the first if statement we use the condition marks>=33, thus if the marks is greater than or equal to 33 conditions becomes TRUE and if block executed, otherwise if block is skipped.
Whatever may the result of first if condition, control has to reach second if statement.
If marks are less than 33 condition is TRUE and execute if block otherwise if block is skipped.

if-else

Following is the syntax of the if-else statement:

int main()
{
..…
…..
if(some condition)
{
Statement1;
Statement2;
….
}
else
{
Statement1;
Statement2;
….
}

}

This is similar to if but the else block is new add on. If the condition of if is TRUE if block is executed and if the condition of if is FALSE else block is executed.
You can use if statement without else block but else must have paired with if.
Else block should appear immediately after if block otherwise an error occurred during the compilation
Example

int main()
{
int marks;
printf(“Enter marks “);
scanf(“%d”,&marks);
if(marks>=33)
{
printf(“You are PASS”);
}
else
{
printf(“You are FAIL”);
}
return(0);
}

Conditional Operator ( ?: )

The conditional operator is the only operator in C language which requires three operands, hence known as the ternary operator. Following is the syntax of the conditional operator:
Expression1? expression2: expression3;
Expression 1 is a condition, evaluated as true or false. When expression 1 is true expression 2 is selected otherwise expression 3 is selected.
Example

int main()
{
int x,y;
printf(“Enter two numbers”);
scanf(“%d%d”,&x,&y);
x>y ? printf(“%d is greater”,x) : printf(“%d is greater”,y);
return(0);
}

Output:
Enter two numbers45
33
45 is greater
Example

main()
{
int x,y,max;
printf(“Enter two numbers”);
scanf(“%d%d”,&x,&y);
max=x>y ? x : y;
printf(“Greater number is %d”,max);
}

Nested if-else

When if-else statements written in if block or else block, it is called nested if-else
Example: Program to print greater among three numbers

int main()
{
int a,b,c;
printf(“Enter three numbers: “);
scanf(“%d%d%d”,&a,&b,&c);
if(a>b)
{
if( a>c)
printf(“%d is greater”,a);
else
printf(“%d is greater”,c);
}
else
{
if( b>c)
printf(“%d is greater”,b);
else
printf(“%d is greater”,c);
}
return(0);
}

else if ladder

Else if ladder is nothing but a special case of nesting where if-else resides only in else block.
Syntax of else if ladder:

if()
{
—————
————
}
else if( )
{
—————
————
}
else if( )
{
—————
————
}
else
{
—————
————
}

Only one block is selected for execution.
Example: Program to check whether a year is a leap year or not:

int main()
{
int year;
printf(“Enter a year”);
scanf(“%d”,&year);
if(year%4!=0)
printf(“Not a Leap year”);
else if(year%100!=0)
printf(“Leap year”);
else if(year%400!=0)
printf(“Not a Leap Year”);
else
printf(“Leap Year”);
return(0);
}

No comments:

Post a Comment

Featured Post

Core and Advance Python

                      Language Fundamentals