0% found this document useful (0 votes)
22 views32 pages

Decision Statement 2

Uploaded by

rsgtd dhdfjd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views32 pages

Decision Statement 2

Uploaded by

rsgtd dhdfjd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

D E C I S I O N S TAT E M E N T

TOPICS TO B E C O V E R E D

4.1. Develop programs using decision making


statements in ‘C’ language.
 Unconditional branching: goto statement

 Conditional branching statements: If statement

 If-else statement

 Nested If-else statement

 If-else-if Ladder statement

 break, continue and goto statements

 switch statements
I N T R O D U C T IO N
 Decision making statement in C language are as
follows:
1) if statement
2) switch statement
3) conditional operator statement
4) goto statement
In C this statements are known as control
statements.
IF STATEMENT
 if statement is powerful decision making
statement & used to control the flow of execution
of statement.
 It is a two-way decision making statement.
 Syntax:
if( test expression)
 It allows the computer to evaluate the expression
first and then, depending on the value of the
expression is ‘true’( non zero) or ‘false’( zero), it
transfer the control to a particular statement.
Entry

test False
expression
?

True
Flow of if
statement
DIFFERENT F ORM OF IF STATEMENTS:

1) Simple if statement
2) if…..else statement
3) Nested if….else statement
4) else if ladder
SIMPLE IF STATEMENT
 General Form:
If( test expression )
{
statement-block;
}
Statement-x;

If the test expression is true then the statement-block will


be executed; otherwise the statement-block will be
skipped and the execution will jump to the statement-x.
FLOWCHART OF SIMPLE IF :
Entry

test True
expression
?
Statement-block
False
Statement-x

Next statement
EXAMPLE
If( a>b)
{
printf(“ a is greater than b ”);
}
THE I F … . EL S E STATEMENT
 General Form :
if( test expression)
{  If the test expression is
true then the true-clock
true-block statement statement are executed
} otherwise the false-
clock statement are
else executed.
{
false-block statement
}
FLOWCHART OF IF….ELSE :

Entry

test
False True
expression
?

false-block true-block
statement statement

Statement-x
EXAMPLE
if(n%2==0)
{
printf(“ n is even ”);
}
else
{
printf(“ n is odd ”);
}
NESTING OF I F … E L S E STATEMENT
 Used when we need series of decisions.
 General Form : if( test condition1)
{
if( test condition2)
{
statement1;
}
else
{
statement2;
}
} else
{
statement3;
}
statement x;
FLOWCHART OF NESTED IF E L S E STATEMENT
 If the condition1 is false then the statement3 is
executed, otherwise it continues to perform the
second test, if condition2 is true then the
statement1 will be executed; otherwise
statement2 will be executed and then the control
is transferred to statement x.
EXAMPLE

If(a>b) else
{ {
if(a>c) if(b>c)
{ {
printf(“ a is max printf(“ b is max
”); ”);
} }
else else
{ {
printf(“ c is max printf(“ c is max
”); ”);
} }
} }
THE E L S E IF LADDER

 Used when we need multipath decisions.


 General Form:
if(condition1)
statement1;
else if(condition2)
statement2;
else if(condition3)
statement3;
else
default-statement;
statement-x;
THE E L SE IF LADDER
 In this, the condition are evaluated from top to
downwards.

 When all the n conditions are become false, then


the final else containing the default statement
will be executed.
EXAMPLE
if( marks>84 )
Grade=“AA”;
else if( marks>74 )
Grade=“AB”;
else if( marks>64 )
Grade=“BB”;
else if( marks>54 )
Grade=“BC”;

else
Grade=“Fail”;
THE SWITCH STATEMENT
 We uses an if statement to control the selection.
However, the complexity of such a program increases
when the number of alternatives increases.
 And the program becomes more difficult to read and
follow.
 The switch statement tests the value of a given variable
against a list of case values and when a match is found,
a block of statements associated with that case is
executed.
FLOWCHART OF SWITCH C A SE
 General Form
switch (expression)
{
case value1:
block-1;
break;
case value2:
block-2;
break;

default:
default-block;
break;
}
statement-x;
 Where, the expression is an integer expression or
characters.
 Value1, value2….. Are constants or constant
expression and are known as case labels.
 Case labels end with a colon(:)

 When the switch is executed, the value of the


expression is successfully compared against the
values. If a case is found whose value matches with
the value of the expression, then the block of
statement that follows the case are executed.
 The break statement at the end of each block
signals the end of a particular case and causes an
exit from the switch statement transferring the
control to the statement-x following the switch.
 The default is an optional case. When present, it
will be executed if the value of the expression does
not match with any of the case values.
 If not present, no action takes place if all matches
fail and the control goes to the statement-x.
EXAMPLE
switch( op)
{
case +:
ans = a + b;
break;
case -:
ans = a - b;
break;
default:
printf(“ wrong choice ”);
break;
}
printf(“ Answer is : %d”, ans);
THE ? : OPERATOR
 It is known as conditional operator and it takes three
operands.
 General Form:

conditional expression ? exp1 : exp2


 The conditional expression is evaluated first.

 If the result is non-zero, exp1 is evaluated and is


returned as the value of the conditional expression.
Otherwise, exp2 is evaluated and its value is
returned.
 Example: ans = (a>b) ? a : b ;
 Advantage:
When the conditional operator
is used, the code becomes more concise and
efficient.

 Disadvantage:
Readability is poor.
THE GOTO STATEMENT
 C supports the goto statements to branch
unconditionally from one point to another in the
program.
 The goto requires a label in order to identify the
place where the branch is to be made.
 Label must be followed by colon(:).

 The label is placed immediately before the statement


where the control is to be transferred.
G E N E R A L FORM:

goto label; label:


statement;

label:
statement; goto label;

Forward J u m p Backward J u m p
 The goto statement breaks the normal sequential
execution of the program.
 Use:

1) Used at the end of a program to


direct the control to go to the input statement, to
read further data.

2) Used to transfer the control out of a


loop when certain peculiar conditions are
encountered.
Thank you

You might also like