C++ Controlstructure
C++ Controlstructure
ANIL KUMAR
https://www.facebook.com/AniLK0221
https://www.facebook.com/AniLK0221
Control Structures
• Programs are written using three basic structures
– Sequence
• a sequence is a series of statements that execute one
after another
– Repetition(loop or iteration)
• repetition (looping) is used to repeat statements while
certain conditions are met.
– Selection(branching)
• selection (branch) is used to execute different
statements depending on certain conditions
• Called control structures or logic structures
https://www.facebook.com/AniLK0221
Sequence
https://www.facebook.com/AniLK0221
Selection
(Branch)
• Selection structure:
makes a decision
and then takes an
appropriate action
based on that
decision
– Also called the
decision structure
https://www.facebook.com/AniLK0221
Repetition (Loop)
• Repetition structure:
directs computer to
repeat one or more
instructions until some
condition is met
– Also called a loop or
iteration
https://www.facebook.com/AniLK0221
Flow Control
• How the computer moves through the
program
• Many keywords are for "flow control"
https://www.facebook.com/AniLK0221
Normal flow
Statement 1;
Statement 2;
Statement 3;
Statement 4;
https://www.facebook.com/AniLK0221
Flow control
Selection (Branch)
if
if-else
nested if
(goto)
switch
Repetition (Loop)
while
do-while
For
nesting
https://www.facebook.com/AniLK0221
Conditional Statements
• if
• if else
• nested if (if – else if – else if – else)
• statement blocks ({…})
• (goto)
• switch (case, default, break)
https://www.facebook.com/AniLK0221
if
• if(condition)statement
if (x==100)
cout<<“x is 100”;
If the condition is true, statement is
executed.
If the condition is false, statement is not
executed.
https://www.facebook.com/AniLK0221
if flow
https://www.facebook.com/AniLK0221
if else
if (condition)statement1
else statement2
if (x==100)
cout<<“x is 100”;
else
cout<<“x is not 100”;
If the statement1 is true, then print out on the screen x is
100
If the statement2 is true, then print out on the screen x is
not 100
https://www.facebook.com/AniLK0221
if else flow
else Statement
https://www.facebook.com/AniLK0221
Statement Blocks
If we want more than a single instruction is executed, we must
group them in a in a block of statements by using curly brackets
({…})
if (x>0)
{
cout<<“x is positive”;
}
else
{
cout<<“x is negative”;
}
https://www.facebook.com/AniLK0221
Nested if statements
When if statement occurs with in another if statement, then such type of if statement is called nested if statement.
if (condition1)
if (condition2)
statement-1;
else
statement-2;
else
statement-3;
https://www.facebook.com/AniLK0221
Nested if statements
if(a>=b && a>=c)
In this program the
statement if(a>c) is nested cout<<“a is
with in the if(a>b). biggest”;
if (a>b) is true only then elseif(b>=a &&
the second if statement b>=c)
if(a>c) is executed.
cout<<“b is
If the first if condition is
biggest”;
false then program control
shifts to the statement Else
after corresponding else cout<<“c is
statement. biggest”;
https://www.facebook.com/AniLK0221
Nested if flow
if Condititional Statement 1
true
false
Else Statement
https://www.facebook.com/AniLK0221
goto
• It allows making an absolute jump to another point in the
program.
• "Go to" part of a program
#include<iostream.h>
int main()
{
int n=10;
loop:
cout<<n<<“,”;
n--;
if(n>0) goto loop;
cout << “FIRE!“;
return 0;
}
https://www.facebook.com/AniLK0221
Switch Statement
https://www.facebook.com/AniLK0221
Switch flow
switch
https://www.facebook.com/AniLK0221
Switch statement
switch(expression) {
case constant1:
block of instructions 1
break;
case constant2:
block of instructions 2
break;
default:
default block of instructions
}
https://www.facebook.com/AniLK0221
Switch statement
Switch evaluates expression and checks if it is equivalent to
constant1, if it is, it executes block of instructions 1 until it
finds the break keyword, then the program will jump to the
end of the switch selective structure.
If expression was not equivalent to constant1, it will check if
expression is equivalent to constant2. if it is, it executes block
of instructions 2 until it finds the break keyword.
Finally if the value of expression has not matched any of the
specified constants, the program will execute the instructions
included in the default: section, if this one exists, since it is
optional.
https://www.facebook.com/AniLK0221
Switch statement
switch(x) {
case 1:
cout<<“x is 1”;
break;
case 2:
cout<<“x is 2”;
break;
default:
cout<<“value of x is unknown”;
}
https://www.facebook.com/AniLK0221
Loops and iterations
• Loops have as objective to repeat a certain number of
times or while a condition is fulfilled. When a single
statement or a group of statements will be executed
again and again in the program then such type of
processing is called loop. Loop is divided into two parts
Body of loop
Control of loop
https://www.facebook.com/AniLK0221
Loops and iterations
Control of loop is divided into two parts:
Entry control loop- in this first of all condition is checked
if it is true then body of the loop is executed. Otherwise
we can exit from the loop when the condition becomes
false. Entry control loop is also called base loop.
Example- While loop and for loop
Exit control loop- in this first body is executed and then
condition is checked. If condition is true, then again body
of loop is executed. If condition is false, then control will
move out from the loop. Exit control loop is also called
Derived loop. Example- Do-while
https://www.facebook.com/AniLK0221
Loops and iterations
• The loops in statements in C++ language are-
While loop
Do loop/Do-while loop
For loop
Nested for loop
https://www.facebook.com/AniLK0221
While Loop
https://www.facebook.com/AniLK0221
While loop
#include<iostream.h>
int main()
{
int n;
cout<<“Enter the starting number”;
cin>>n;
while(n>0){
cout<<n<<“,”;
n--;
}
cout << “FIRE!“;
return 0;
} https://www.facebook.com/AniLK0221
For loop
• For loop is an Entry control loop when action is to be
repeated for a predetermined number of times.
• Most used – most complicated
• Normally used for counting
• Four parts
– Initialise expression
– Test expression
– Body
– Increment expression
for(initialization;condition;increment)
https://www.facebook.com/AniLK0221
for loop
initialisation
increment
continuation body
test true statements
false
https://www.facebook.com/AniLK0221
For loop
int main()
{
int count;
for (count=1; count<=10; count++)
{
cout <<count<<“,”;
}
cout<<“FIRE”;
return 0;
} https://www.facebook.com/AniLK0221
Do-While Loop
• do statement while (expression)
• Do-while is an exit control loop. Based on a condition,
the control is transferred back to a particular point in the
program.
– Similar to the while loop except that condition in
the do while is check is at end of loop not the start
do {
action1;
}
while (condition is true);
action2;
https://www.facebook.com/AniLK0221
Do Flow
do
condititional statements
while(…)
true
false
https://www.facebook.com/AniLK0221
Nesting of Loops
• A loop can be inside another loop. C++ can
have at least 256 levels of nesting.
for(init;condition;increment)
{
for(init;condition;increment)
}
statement(s);
}
statement(s);
} https://www.facebook.com/AniLK0221
Break Statement
Goes straight to the end of a do, while or for
loop or a switch statement block,
#include<iostream.h>
int main(){
int n;
for(n=10;n>0;n--){
cout<<n<<“,”;
if(n==5){
cout<<“count down aborted!”;
break;}}
return 0;}
O/P: 10,9,8,7,6,5,count down
https://www.facebook.com/AniLK0221
aborted!
Continue Statement
Goes straight back to the start of a do, while or
for loop,
#include<iostream.h>
int main()
{
int n;
for(n=10;n>0;n--){
if(n==5)continue;
cout<<n<<“,”;}
cout << “FIRE!“;
return 0;}
O/P: 10,9,8,7,6,4,3,2,1,FIRE!
https://www.facebook.com/AniLK0221
Summary
Programs: step-by-step instructions that tell a
computer how to perform a task
Programmers use programming languages to
communicate with the computer
First programming languages were machine languages
High-level languages can be used to create procedure-
oriented programs or object-oriented programs
Algorithm: step-by-step instructions that accomplish a
task (not written in a programming language)
Algorithms contain one or more of the following control
structures: sequence, selection, and repetition
https://www.facebook.com/AniLK0221
Summary (continued)
• Sequence structure: process the instructions,
one after another, in the order listed
• Repetition structure: repeat one or more
instructions until some condition is met
• Selection structure: directs the computer to
make a decision, and then to select an
appropriate action based on that decision
https://www.facebook.com/AniLK0221