MohammedRazi K
razikallayi@gmail.com
www.facebook.com/razikallayi
twitter.com/razikallayi
in.linkedin.com/in/razikallayi
9746730324
Control Structures in C
Disclaimer: This presentation is prepared by trainees of
baabtra as a part of mentoring program. This is not official
document of baabtra –Mentoring Partner
Baabtra-Mentoring Partner is the mentoring division of baabte System Technologies Pvt . Ltd
Flow of control
• Unless specified, the order of statement
execution is linear: one statement after another
in sequence
• A control structure is any mechanism that
departs from the default straight-line
execution.
2
1
3
Selection statements
• Used to choose which statement to be executed next
• Therefore they are sometimes called conditional statements
• Conditional statements give us the power to make basic
decisions
• The C conditional statements are the:
– if statement
– if-else statement
– switch statement
The if Statement
The if statement has the following syntax:
if ( condition )
statement;
• if is a C reserved keyword.
• The condition must be a boolean expression. It is evaluated to
either true or false.
• If the condition is true, the statement is executed.
• If it is false, the statement is skipped.
The if-else Statement
• If the condition is true, statement1 is executed; if
the condition is false, statement2 is execute
if ( condition )
statement1;
else
statement2;
Consider the following example,
int grade=76;
if ( grade >= 60 )
printf( "Passedn");
else
printf( "Failedn");
The above code will produce an
output:
Passed
Since the true statement only executes
• An if statement which is within another
if or else is called nested if.
• Braces can be used to specify the if
statement to which an else clause
belongs
Nested if statements
Syntax of nested if:
if(condition1)
{
if(condition2)
do this;
else //this else with condition2
{
do this;
and this;
}
}
else //this else with condition1
do this;
Note that in C an else statement always refers to the
nearest if that is within the same block of else.
An example for nested if:
if(avg>=90)
printf("Student %s gets an A grade",name);
else if(avg>=80 &&avg<90)
printf("Student %s gets a B grade",name);
else if(avg>=70 &&avg<0)
printf("Student %s gets a C grade",name);
else if(avg>=60 &&avg<70)
printf("Student %s gets a D grade",name);
else if(avg<60)
printf("Student %s failed");
Nested if (contd…)
The Switch statement
• The switch statement provides another way to
decide which statement to execute next
• The switch statement evaluates an expression, then
attempts to match the result to one of several
possible cases
• Each case contains a value and a list of statements
• The flow of control transfers to statement associated
with the first case value that matches
• Often a break statement is used as the last statement
in each case's statement list
• A break statement causes control to transfer to the
end of the switch statement
• If a break statement is not used, the flow of control
will continue into the next case
• Sometimes this may be appropriate, but often we want
to execute only the statements associated with one
case
The Switch statement(Contd…)
• A switch statement can have an optional
default case
• If the default case is present, control will
transfer to it if no other case value matches
• If there is no default case, and no other
value matches, control falls through to the
statement after the switch
The Switch statement(Contd…)
• The expression of a switch statement must result in
an integral type, meaning an integer (byte, short,
int,) or a char
• It cannot be a floating point value (float or double)
• The implicit test condition in a switch statement is
equality
• You cannot perform relational checks with a switch
statement
The Switch statement(Contd…)
The general syntax of a switch statement is:
switch ( expression )
{
case value1 :
statement-list1
case value2 :
statement-list2
case value3 :
statement-list3
default:
statement
}
switch
and
case
are
reserved
words
If expression
matches value2,
control jumps
to here
The Switch statement(Contd…)
switch (option)
{
case 'A':
aCount++;
break;
case 'B':
bCount++;
break;
case 'C':
cCount++;
break;
default:
otherCount++;
break;
}
The Switch statement(Contd…)
An example for switch statement:
Iteration Statements
• Also known as loops
• It allow a set of instructions to be executed
until a certain condition is met.
• The loop structures available in C are:
• For loop
• While loop
• Do while loop
The for Loop
• The syntax of for statement in C:
for (initialization expression;loop repetition condition;update expression)
{
statement
}
• The initialization expression set the initial value of the loop
control variable.
• The loop repetition condition test the value of the loop control
variable.
• The update expression update the loop control variable.
Nested Loops
• Nested loops consist of an outer loop with one or more
inner loops.
• e.g.,
for (i=1;i<=100;i++){
for(j=1;j<=50;j++){
…
}
}
• The above loop will run for 100*50 iterations.
5-22
Inner loop
Outer loop
For loop: An example
/*For loop to print even numbers below 100*/
for(i=2;i<100;i=i+2)
{
printf("%d,",i);
}
The While loop
• The syntax of do-while statement in C:
do
statement
while (loop repetition condition);
• The statement is first executed.
• If the loop repetition condition is true, the
statement is repeated.
• Otherwise, the loop is exited.
An Example of the do-while Loop
/* Find even number input */
do{
printf(“Enter a value: ”);
scanf(“%d”, &num);
}while (num % 2 !=0)
5-25
This loop will repeat if the user
inputs odd number.
Jump Statements
• Also called unconditional branching.
• It means transfer of control to a specified
statement.
• C has four statements that perform
unconditional branch
– Call/return
– Goto
– Break
– Continue
The return statement
• Used to return fro a function
• It returns to the point at which the function is
called.
• It can have a value with it.
• General form: return (expression);
• The expression is optional
• Function can have more than one return
statement, but will return at the first return
statement
The goto statement
• Allows to transfer control to any other
statement in the function.
• General form
label:statement
goto label;
The break statement
• It can be used to terminate a case in switch
statement.
• Can used to force immediate loop termination
by checking a condition
• Here, loop will terminate when i=10
for(i=0;i<=100;i++)
{
if(i==10)
{
break;
}
printf(“%d”,i);
}
The Continue Statement
• It allows to skip the current iteration and
hence wont run the remaining statements in
the loop.
for(i=0;i<=100;i++)
{
if(i==10)
{
break;
}
printf(“%d”,i);
}
• Here, loop will skip the printf statement when i=10 and incement i to 11
thank you
Doubts…?
Want to learn more about programming or Looking to become a good programmer?
Are you wasting time on searching so many contents online?
Do you want to learn things quickly?
Tired of spending huge amount of money to become a Software professional?
Do an online course
@ baabtra.com
We put industry standards to practice. Our structured, activity based courses are so designed
to make a quick, good software professional out of anybody who holds a passion for coding.
Follow us @ twitter.com/baabtra
Like us @ facebook.com/baabtra
Subscribe to us @ youtube.com/baabtra
Become a follower @ slideshare.net/BaabtraMentoringPartner
Connect to us @ in.linkedin.com/in/baabtra
Give a feedback @ massbaab.com/baabtra
Thanks in advance
www.baabtra.com | www.massbaab.com |www.baabte.com
Emarald Mall (Big Bazar Building)
Mavoor Road, Kozhikode,
Kerala, India.
Ph: + 91 – 495 40 25 550
NC Complex, Near Bus Stand
Mukkam, Kozhikode,
Kerala, India.
Ph: + 91 – 495 40 25 550
Cafit Square,
Hilite Business Park,
Near Pantheerankavu,
Kozhikode
Start up Village
Eranakulam,
Kerala, India.
Email: info@baabtra.com
Contact Us

Control structures in C

  • 2.
  • 3.
    Disclaimer: This presentationis prepared by trainees of baabtra as a part of mentoring program. This is not official document of baabtra –Mentoring Partner Baabtra-Mentoring Partner is the mentoring division of baabte System Technologies Pvt . Ltd
  • 4.
    Flow of control •Unless specified, the order of statement execution is linear: one statement after another in sequence • A control structure is any mechanism that departs from the default straight-line execution.
  • 5.
  • 6.
    Selection statements • Usedto choose which statement to be executed next • Therefore they are sometimes called conditional statements • Conditional statements give us the power to make basic decisions • The C conditional statements are the: – if statement – if-else statement – switch statement
  • 7.
    The if Statement Theif statement has the following syntax: if ( condition ) statement; • if is a C reserved keyword. • The condition must be a boolean expression. It is evaluated to either true or false. • If the condition is true, the statement is executed. • If it is false, the statement is skipped.
  • 8.
    The if-else Statement •If the condition is true, statement1 is executed; if the condition is false, statement2 is execute if ( condition ) statement1; else statement2;
  • 9.
    Consider the followingexample, int grade=76; if ( grade >= 60 ) printf( "Passedn"); else printf( "Failedn"); The above code will produce an output: Passed Since the true statement only executes
  • 10.
    • An ifstatement which is within another if or else is called nested if. • Braces can be used to specify the if statement to which an else clause belongs Nested if statements
  • 11.
    Syntax of nestedif: if(condition1) { if(condition2) do this; else //this else with condition2 { do this; and this; } } else //this else with condition1 do this; Note that in C an else statement always refers to the nearest if that is within the same block of else.
  • 12.
    An example fornested if: if(avg>=90) printf("Student %s gets an A grade",name); else if(avg>=80 &&avg<90) printf("Student %s gets a B grade",name); else if(avg>=70 &&avg<0) printf("Student %s gets a C grade",name); else if(avg>=60 &&avg<70) printf("Student %s gets a D grade",name); else if(avg<60) printf("Student %s failed"); Nested if (contd…)
  • 13.
    The Switch statement •The switch statement provides another way to decide which statement to execute next • The switch statement evaluates an expression, then attempts to match the result to one of several possible cases • Each case contains a value and a list of statements • The flow of control transfers to statement associated with the first case value that matches
  • 14.
    • Often abreak statement is used as the last statement in each case's statement list • A break statement causes control to transfer to the end of the switch statement • If a break statement is not used, the flow of control will continue into the next case • Sometimes this may be appropriate, but often we want to execute only the statements associated with one case The Switch statement(Contd…)
  • 15.
    • A switchstatement can have an optional default case • If the default case is present, control will transfer to it if no other case value matches • If there is no default case, and no other value matches, control falls through to the statement after the switch The Switch statement(Contd…)
  • 16.
    • The expressionof a switch statement must result in an integral type, meaning an integer (byte, short, int,) or a char • It cannot be a floating point value (float or double) • The implicit test condition in a switch statement is equality • You cannot perform relational checks with a switch statement The Switch statement(Contd…)
  • 17.
    The general syntaxof a switch statement is: switch ( expression ) { case value1 : statement-list1 case value2 : statement-list2 case value3 : statement-list3 default: statement } switch and case are reserved words If expression matches value2, control jumps to here The Switch statement(Contd…)
  • 18.
    switch (option) { case 'A': aCount++; break; case'B': bCount++; break; case 'C': cCount++; break; default: otherCount++; break; } The Switch statement(Contd…) An example for switch statement:
  • 19.
    Iteration Statements • Alsoknown as loops • It allow a set of instructions to be executed until a certain condition is met. • The loop structures available in C are: • For loop • While loop • Do while loop
  • 20.
    The for Loop •The syntax of for statement in C: for (initialization expression;loop repetition condition;update expression) { statement } • The initialization expression set the initial value of the loop control variable. • The loop repetition condition test the value of the loop control variable. • The update expression update the loop control variable.
  • 21.
    Nested Loops • Nestedloops consist of an outer loop with one or more inner loops. • e.g., for (i=1;i<=100;i++){ for(j=1;j<=50;j++){ … } } • The above loop will run for 100*50 iterations. 5-22 Inner loop Outer loop
  • 22.
    For loop: Anexample /*For loop to print even numbers below 100*/ for(i=2;i<100;i=i+2) { printf("%d,",i); }
  • 23.
    The While loop •The syntax of do-while statement in C: do statement while (loop repetition condition); • The statement is first executed. • If the loop repetition condition is true, the statement is repeated. • Otherwise, the loop is exited.
  • 24.
    An Example ofthe do-while Loop /* Find even number input */ do{ printf(“Enter a value: ”); scanf(“%d”, &num); }while (num % 2 !=0) 5-25 This loop will repeat if the user inputs odd number.
  • 25.
    Jump Statements • Alsocalled unconditional branching. • It means transfer of control to a specified statement. • C has four statements that perform unconditional branch – Call/return – Goto – Break – Continue
  • 26.
    The return statement •Used to return fro a function • It returns to the point at which the function is called. • It can have a value with it. • General form: return (expression); • The expression is optional • Function can have more than one return statement, but will return at the first return statement
  • 27.
    The goto statement •Allows to transfer control to any other statement in the function. • General form label:statement goto label;
  • 28.
    The break statement •It can be used to terminate a case in switch statement. • Can used to force immediate loop termination by checking a condition
  • 29.
    • Here, loopwill terminate when i=10 for(i=0;i<=100;i++) { if(i==10) { break; } printf(“%d”,i); }
  • 30.
    The Continue Statement •It allows to skip the current iteration and hence wont run the remaining statements in the loop.
  • 31.
    for(i=0;i<=100;i++) { if(i==10) { break; } printf(“%d”,i); } • Here, loopwill skip the printf statement when i=10 and incement i to 11
  • 32.
  • 33.
  • 34.
    Want to learnmore about programming or Looking to become a good programmer? Are you wasting time on searching so many contents online? Do you want to learn things quickly? Tired of spending huge amount of money to become a Software professional? Do an online course @ baabtra.com We put industry standards to practice. Our structured, activity based courses are so designed to make a quick, good software professional out of anybody who holds a passion for coding.
  • 35.
    Follow us @twitter.com/baabtra Like us @ facebook.com/baabtra Subscribe to us @ youtube.com/baabtra Become a follower @ slideshare.net/BaabtraMentoringPartner Connect to us @ in.linkedin.com/in/baabtra Give a feedback @ massbaab.com/baabtra Thanks in advance www.baabtra.com | www.massbaab.com |www.baabte.com
  • 36.
    Emarald Mall (BigBazar Building) Mavoor Road, Kozhikode, Kerala, India. Ph: + 91 – 495 40 25 550 NC Complex, Near Bus Stand Mukkam, Kozhikode, Kerala, India. Ph: + 91 – 495 40 25 550 Cafit Square, Hilite Business Park, Near Pantheerankavu, Kozhikode Start up Village Eranakulam, Kerala, India. Email: info@baabtra.com Contact Us

Editor's Notes

  • #5 There are 3 types of control structures in C. 1) Decision or conditional statements: if, if else, nested if, switch case 2) Looping statements: while, do while, for, nested for 3) Jumping statements: -> Conditional jumping: break, continue. -> Unconditional jumping: return, goto