3 C++ Flow Control - Handout 3 PDF
3 C++ Flow Control - Handout 3 PDF
#include <iostream>
using namespace std;
int main() {
int number;
Page 1 of 14
C++ Programming Handout 3
}
Output 1
Enter an integer: 5
You entered a positive number: 5
This statement is always executed.
When the user enters 5, the condition number > 0 is evaluated to true and the statement inside the body of
if is executed.
Output 2
Enter a number: -5
This statement is always executed.
When the user enters -5, the condition number > 0 is evaluated to false and the statement inside the body
of if is not executed.
C++ if...else
The if statement can have an optional else clause. Its syntax is:
if (condition) {
// block of code if condition is true
}
else {
// block of code if condition is false
}
The if..else statement evaluates the condition inside the parenthesis.
#include <iostream>
using namespace std;
int main() {
int number;
Page 2 of 14
C++ Programming Handout 3
Page 3 of 14
C++ Programming Handout 3
#include <iostream>
using namespace std;
int main() {
int number;
Page 4 of 14
C++ Programming Handout 3
If the number is greater than 0, the code inside the if block is executed. If the number is less than 0, the
code inside the else if block is executed. Otherwise, the code inside the else block is executed.
// inner if statement
if (condition2) {
// statements
}
}
Notes:
•We can add else and else if statements to the inner if statement as required.
•The inner if statement can also be inserted inside the outer else or else if statements (if they
exist).
• We can nest multiple layers of if statements.
Example 4: C++ Nested if
// C++ program to find if an integer is even or odd or neither (0)
// using nested if statements
#include <iostream>
using namespace std;
int main() {
int num;
// outer if condition
if (num != 0) {
// inner if condition
if ((num % 2) == 0) {
cout << "The number is even." << endl;
}
// inner else condition
else {
cout << "The number is odd." << endl;
}
}
// outer else condition
else {
cout << "The number is 0 and it is neither even nor odd." << endl;
}
cout << "This line is always printed." << endl;
}
Output 1
Enter an integer: 34
The number is even.
This line is always printed.
Page 5 of 14
C++ Programming Handout 3
Output 2
Enter an integer: 35
The number is odd.
This line is always printed.
Output 3
Enter an integer: 0
The number is 0 and it is neither even nor odd.
This line is always printed.
In the above example,
• We take an integer as an input from the user and store it in the variable num.
• We then use an if...else statement to check whether num is not equal to 0.
o If true, then the inner if...else statement is executed.
o If false, the code inside the outer else condition is executed, which prints "The number is
0 and neither even nor odd."
• The inner if...else statement checks whether the input number is divisible by 2.
o If true, then we print a statement saying that the number is even.
o If false, we print that the number is odd.
Notice that 0 is also divisible by 2, but it is actually not an even number. This is why we first make sure that
the input number is not 0 in the outer if condition.
Note: As you can see, nested if...else makes your logic complicated. If possible, you should always try
to avoid nested if...else.
if (number > 0) {
cout << "The number is positive." << endl;
}
else {
cout << "The number is negative." << endl;
}
with
int number = 5;
if (number > 0)
cout << "The number is positive." << endl;
else
cout << "The number is negative." << endl;
The output of both programs will be the same.
Note: Although it's not necessary to use { } if the body of if...else has only one statement, using { }
makes your code more readable.
int main() {
for (int i = 1; i <= 5; ++i) {
cout << i << " ";
}
return 0;
}
Page 7 of 14
C++ Programming Handout 3
Output
1 2 3 4 5
Here is how this program works
Iteration Variable i <= 5 Action
1st i = 1 true 1 is printed. i is increased to 2.
2nd i = 2 true 2 is printed. i is increased to 3.
3rd i = 3 true 3 is printed. i is increased to 4.
4th i = 4 true 4 is printed. i is increased to 5.
5th i = 5 true 5 is printed. i is increased to 6.
6th i = 6 false The loop is terminated
Example 2: Display a text 5 times
// C++ Program to display a text 5 times
#include <iostream>
int main() {
for (int i = 1; i <= 5; ++i) {
cout << "Hello World! " << endl;
}
return 0;
}
Output
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Here is how this program works
Iteration Variable i <= 5 Action
1st i = 1 true Hello World! is printed and i is increased to 2.
2nd i = 2 true Hello World! is printed and i is increased to 3.
3rd i = 3 true Hello World! is printed and i is increased to 4.
4th i = 4 true Hello World! is printed and i is increased to 5.
5th i = 5 true Hello World! is printed and i is increased to 6.
6th i = 6 false The loop is terminated
Example 3: Find the sum of first n Natural Numbers
// C++ program to find the sum of first n natural numbers
// positive integers such as 1,2,3,...n are known as natural numbers
#include <iostream>
int main() {
int num, sum;
sum = 0;
Page 8 of 14
C++ Programming Handout 3
for (int i = 1; i <= num; ++i) {
sum += i;
}
return 0;
}
Output
Enter a positive integer: 10
Sum = 55
In the above example, we have two variables num and sum. The sum variable is assigned with 0 and the num
variable is assigned with the value provided by the user.
Note that we have used a for loop.
for(int i = 1; i <= num; ++i)
Here,
• int i = 1: initializes the i variable
• i <= num: runs the loop as long as i is less than or equal to num
• ++i: increases the i variable by 1 in each iteration
When i becomes 11, the condition is false and sum will be equal to 0 + 1 + 2 + ... + 10.
int main() {
return 0;
}
Output
1 2 3 4 5 6 7 8 9 10
In the above program, we have declared and initialized an int array named num_array. It has 10 items.
Here, we have used a range-based for loop to access all the items in the array.
C++ Infinite for loop
If the condition in a for loop is always true, it runs forever (until memory is full). For example,
// infinite for loop
for(int i = 1; i > 0; i++) {
// block of code
}
In the above program, the condition is always true which will then run the code for infinite times.
Read more about these loops below
Page 9 of 14
C++ Programming Handout 3
#include <iostream>
int main() {
int i = 1;
return 0;
}
Page 10 of 14
C++ Programming Handout 3
Output
1 2 3 4 5
Here is how the program works.
Iteration Variable i <= 5 Action
1st i = 1 true 1 is printed and i is increased to 2.
2nd i = 2 true 2 is printed and i is increased to 3.
3rd i = 3 true 3 is printed and i is increased to 4
4th i = 4 true 4 is printed and i is increased to 5.
5th i = 5 true 5 is printed and i is increased to 6.
6th i = 6 false The loop is terminated
Example 2: Sum of Positive Numbers Only
// program to find the sum of positive numbers
// if the user enters a negative number, the loop ends
// the negative number entered is not added to the sum
#include <iostream>
using namespace std;
int main() {
int number;
int sum = 0;
return 0;
}
Output
Enter a number: 6
Enter a number: 12
Enter a number: 7
Enter a number: 0
Enter a number: -2
The sum is 25
In this program, the user is prompted to enter a number, which is stored in the variable number.
In order to store the sum of the numbers, we declare a variable sum and initialize it to the value of 0.
The while loop continues until the user enters a negative number. During each iteration, the number entered
by the user is added to the sum variable.
When the user enters a negative number, the loop terminates. Finally, the total sum is displayed.
Page 11 of 14
C++ Programming Handout 3
C++ do...while Loop
The do...while loop is a variant of the while loop with one important difference: the body of do...while
loop is executed once before the condition is checked.
Its syntax is:
do {
// body of loop;
}
while (condition);
Here,
• The body of the loop is executed at first. Then the condition is evaluated.
• If the condition evaluates to true, the body of the loop inside the do statement is executed again.
• The condition is evaluated once again.
• If the condition evaluates to true, the body of the loop inside the do statement is executed again.
• This process continues until the condition evaluates to false. Then the loop stops.
Flowchart of do...while Loop
#include <iostream>
int main() {
int i = 1;
return 0;
}
Output
1 2 3 4 5
Here is how the program works.
Iteration Variable i <= 5 Action
Page 12 of 14
C++ Programming Handout 3
i = 1not checked 1 is printed and i is increased to 2
1st i = 2 true 2 is printed and i is increased to 3
2nd i = 3 true 3 is printed and i is increased to 4
3rd i = 4 true 4 is printed and i is increased to 5
4th i = 5 true 5 is printed and i is increased to 6
5th i = 6 false The loop is terminated
Example 4: Sum of Positive Numbers Only
// program to find the sum of positive numbers
// If the user enters a negative number, the loop ends
// the negative number entered is not added to the sum
#include <iostream>
using namespace std;
int main() {
int number = 0;
int sum = 0;
do {
sum += number;
return 0;
}
Output 1
Enter a number: 6
Enter a number: 12
Enter a number: 7
Enter a number: 0
Enter a number: -2
The sum is 25
Here, the do...while loop continues until the user enters a negative number. When the number is negative,
the loop terminates; the negative number is not added to the sum variable.
Output 2
Enter a number: -6
The sum is 0.
The body of the do...while loop runs only once if the user enters a negative number.
int count = 1;
do {
// body of loop
}
while(count == 1);
In the above programs, the condition is always true. Hence, the loop body will run for infinite times.
Page 14 of 14