0% found this document useful (0 votes)
175 views40 pages

Presentation Decision Making and Branching and Loop 1518762275 277498

The document discusses different types of decision making and looping statements in C language. It explains if, if-else, nested if-else, else-if ladder, switch, goto statements for decision making. It also covers for, while, do-while loops along with break and continue statements for looping. Examples and flowcharts are provided to illustrate the syntax and usage of these statements.

Uploaded by

Darshini B
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)
175 views40 pages

Presentation Decision Making and Branching and Loop 1518762275 277498

The document discusses different types of decision making and looping statements in C language. It explains if, if-else, nested if-else, else-if ladder, switch, goto statements for decision making. It also covers for, while, do-while loops along with break and continue statements for looping. Examples and flowcharts are provided to illustrate the syntax and usage of these statements.

Uploaded by

Darshini B
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/ 40

DECISION MAKING

&
BRANCHING
INTRODUCTION

 Instruction of a programs are executed either


 Sequential manner
 Branching

 C language supports the following decision making


statements.
 if statement
 switch statement
 conditional operator
 goto statement
if statement
• It is used to control flow of execution of statement.
• It is two-way decision statement and is used in conjuction with an
expression
Syntax- if (condition)
{ statement 1; Entry
……………..
} Test expression
? False

Ex: if (age is more than 55) True


Person is retired
DIFFERENT FORMS OF IF STATEMENT

simple if if-else nested if-else else if ladder


Simple if statement
Syntax- if ( Condition)
{ entry
statement block; true
} Test expression?

statement x ;
Ex: if ( category == sports) false Statement block
{
marks=marks+bonus; Statement x
}
printf ( “%f”,marks);
Program of simple if statement
main()
{
int a,b,c,d;
float ratio;
printf(“\n enter four integer value”);
scanf(“%d %d %d”,&a,&b,&c);
if(c-d !=0)
{
ratio= (float) (a+b)/(float)(c-d);
printf(“Ratio= %f”, ratio);
}
} Output- enter four integer values
12 23 34 45
Ratio= -3.181818
The if…else statement entry
Syntax- if( Condition)
{ true Condition
true block statement; false
}
else True block statement False block statement
{
false block statement;
}
Statement x
statement x;

Ex-: if (code== 1) if (code==1)


boy=boy+ 1; boy=boy+1;
if ( code== 2) else
girl=girl+1; girl=girl+1;
Program for if…else statement
main()
{
int a;
printf(“Enter an integer”);
scanf(“%d”,&a);
if(a%2==0)
printf(“ %d is even number”,a);
else
printf(“%d is an odd number”,a);
}
output- Enter an integer
46
46 is an even number
NESTING OF IF…ELSE STATEMENT
Syntax-
if( test condition 1)
{
if (test condition 2)
{
statement 1;
}
else
{
statement 2;
}
}
else
{
statement 3;
}
statement x ;
PROGRAM FOR NESTED IF…ELSE STATEMENT
The else if ladder
syntax-:
if ( condition 1)
statement 1 ;
else if ( condition 2)
statement 2 ;
else if ( condition 3)
statement 3 ;
else if( condition n)
statement n ;
else
default statement ;
statement x;
FLOWCHART OF ELSE….IF LADDER
Program for else…if ladder
THE SWITCH STATEMENT

• The complexity of a program increases by


increasing no. of if statement.

• To overcome this C has a built in multiway


decision statement known as switch.
SYNTAX
switch (expression)
{
case value-1: case labels (257 case labels)
block1;
break;
case value-2:
block2;
break;
.
.
.
default:
default block;
break;
}
statement x;
FLOWCHART FOR SWITCH STATEMENT
PROGRAM FOR SWITCH STATEMENT

main() case 6:
{ grade=“First Division”;
int grade,mark,index; break;
printf(“Enter ur marks \n”); case 5:
scanf(“%d”,&mark); grade=“Second Division”;
index=mark/10; break;
switch(index)
{ case 4:
case 10: grade=“First Division”;
case 9: break;
case 8: default:
grade=“Honours”; grade=“Fail”;
break; break;
case 7: }
printf(“%s”,grade);
}
THE GOTO STATEMENT
• The goto statement is used for branching unconditionally.
• The goto statement breaks normal sequential execution of the program.
• The goto requires label to where it will transfer a control.
• Label is a valid variable name followed by a colon( : ).

goto label: label:

-------------- statement;

------------- ----------------------

-------------- -----------------------

label: ----------------------

statement; goto label;;

FORWARD JUMP BACKWARD JUMP


PROGRAM TO CALCULATE SUM OF SQUARES OF
ALL INTEGERS
main()
{
int sum=0,n=1;
loop:
sum=sum+n*n;
if( n==10)
goto print;
else
{
n=n+1;
goto loop;
}
print:
printf(“\n Sum=%d”,sum);
}
LOOPING
LOOPS

• A loop allows a program to repeat a group of statements, either any number


of times or until some loop condition occurs

• Convenient if the exact number of repetitions are known

• Loop Consists of
• Body of the loop
• Control Statement
Body of Loop
False
Test
Condition

False
True Test
Condition

Body of Loop
True

Entry Controlled/Pre-Test Loop Exit Controlled/Post-Test Loop


STEPS IN LOOPING

• Initialization of condition variable


• Execution of body of the loop
• Test the control statement
• Updating the condition variable
COMMON LOOPS

for while do while


Repetition occurs as long as a condition is true

false

true
Body
FOR

Syntax:

for (expr1; expr2; expr3)


statement;
 expr1 controls the looping action,

 expr2 represents a condition that ensures loop


continuation,

 expr3 modifies the value of the control variable


initially assigned by expr1
keyword final value of control variable
for which the condition is true
control variable i

for (i=1; i <= n; i = i + 1)


initial value
of control increment of control variable
variable

loop continuation
condition
EXAMPLES

 Vary the control variable from 1 to 100 in increments of 1


for (i = 1; i <= 100; i++)

 Vary the control variable from 100 to 1 in increments of -1


for (i = 100; i >= 1; i--)

 Vary the control variable from 5 to 55 in increments of 5


for (i = 5; i <= 55; i+=5)
EXAMPLES 2

#include <stdio.h>

void main()
{
/* a program to produce a Celsius to Fahrenheit conversion chart for the
numbers 1 to 100 */
int celsius;
for (celsius = 0; celsius <= 100; celsius++)
printf(“Celsius: %d Fahrenheit: %d\n”, celsius, (celsius * 9) / 5 + 32);
}
NESTED FOR LOOPS

• Nested means there is a loop within a loop

• Executed from the inside out


• Each loop is like a layer and has its own counter variable, its own loop expression
and its own loop body

• In a nested loop, for each value of the outermost counter variable, the complete
inner loop will be executed once
General form

for (loop1_exprs) {
loop_body_1a

for (loop2_exprs) {
loop_body_2
}
loop_body_1b
}
WHILE

expression 1; initialization
while (expression 2) condition checking
{
statements;
expression 3; updation of condition
}
 The statement is executed repeatedly as long as the expression is true (non
zero)

 The cycle continues until expression becomes zero, at which point execution
resumes after statement
 If the test expression in a while loop is false initially, the
while loop will never be executed

int i = 1, sum = 0;
while (i <= 10)
{
sum = sum + i;
i= i + 1;
}
printf(“Sum = %d\n”, sum);
FOR AND WHILE

for(expr1; expr2; expr3)


statement;

expr1;
while(expr2)
{
statement;
expr3;
}
BREAK AND CONTINUE

• These interrupt normal flow of control

• break causes an exit from the innermost enclosing loop

• continue causes the current iteration of a loop to stop and the next iteration
to begin immediately
while (expression)
{
statements;
if(condition)
break;
more_statements
}

while (expression)
{
statements
continue;
more_statements
}
DO-WHILE

 When a loop is constructed using while, the test for


continuation is carried out at the beginning of each
pass
 With do-while the test for continuation takes place at
the end of each pass
do
{
statement
} while (expression);
EXAMPLE

int i = 1, sum = 0;
do
{
sum = sum + i;
i= i + 1;
}while(i<=10);
printf(“Sum = %d\n”, sum);
WHILE VS. DO-WHILE

 while -- the expression is tested first, if the result is false, the loop body is
never executed

 do-while -- the loop body is always executed once. After that, the expression
is tested, if the result is false, the loop body is not executed again

You might also like