FUNDAMENTALS OF PROGRAMMING
CS-114
Lecture 6: LOOPS (For Loop, Nested Loop)
Objectives
2
From this Lecture you will:
Learn about repetition (looping) control structures
Explore how to construct and use count-controlled,
sentinel-controlled, flag-controlled, and EOF-
controlled repetition structures
Examine break and continue statements
Discover how to form and use nested control
structures
Why Is Repetition Needed?
3
Repetition allows you to efficiently use variables
Can input, add, and average multiple numbers
using a limited number of variables
For example, to add five numbers:
Declare a variable for each number, input the numbers and
add the variables together
Create a loop that reads a number into a variable and
adds it to a variable that contains the sum of the numbers
The for Loop
4
The general form of the for statement is:
for (initial statement; loop condition;
update statement)
statement
The initial statement, loop condition, and update
statement are called for loop control statements
The for Loop …. Cont.
5
The for Loop …. Cont.
6
The for loop executes as follows:
1. The initial statement executes.
2. The loop condition is evaluated. If the loop condition
evaluates to true
i. Execute the for loop statement.
ii. Execute the update statement (the third expression
in the parentheses).
3. Repeat Step 2 until the loop condition evaluates to false.
The initial statement usually initializes a variable (called the for
loop control, or for indexed, variable).
In C++, for is a reserved word.
Practice Examples
7
Practice Examples
8
The for Loop (comments)
9
The following are some comments on for loops:
If the loop condition is initially false, the loop body does
not execute.
The update expression, when executed, changes the value of
the loop control variable (initialized by the initial
expression), which eventually sets the value of the loop
condition to false.
The for loop body executes indefinitely if the loop
condition is always true.
C++ allows you to use fractional values for loop control
variables of the double type (or any real data type).
Because different computers can give these loop control
variables different results, you should avoid using such
variables.
The for Loop (comments)
10
A semicolon at the end of the for statement (just before
the body of the loop) is a semantic error. In this case, the
action of the for loop is empty.
In the for statement, if the loop condition is omitted, it is
assumed to be true.
In a for statement, you can omit all three statements—
initial statement, loop condition, and update statement. The
following is a legal for loop:
for (;;)
cout << "Hello" << endl;
Practice Examples
11
break & continue Statements
12
break and continue alter the flow of control
When the break statement executes in a
repetition structure, it immediately exits
The break statement, in a switch structure,
provides an immediate exit
The break statement can be used in while,
for, and do...while loops
break & continue Statements
(continued)
13
The break statement is used for two purposes:
1. To exit early from a loop
2. To skip the remainder of the switch structure
After the break statement executes, the
program continues with the first statement after
the structure
The use of a break statement in a loop can
eliminate the use of certain (flag) variables
break & continue Statements
(continued)
14
continue is used in while, for, and
do…while structures
When executed in a loop
Itskips remaining statements and proceeds
with the next iteration of the loop
break & continue Statements
(continued)
15
In a while and do…while structure
Expression (loop-continue test) is evaluated
immediately after the continue statement
In a for structure, the update statement is executed
after the continue statement
Then the loop condition executes
Break and Continue … Cont.
16
while ( - - - ) while ( - - - )
{ {
statement 1; statement 1;
if( - - - ) if( - - - )
continue
break
statement 2;
} statement 2;
statement 3; }
statement 3;
Nested Control Structures
17
Suppose we want to create the following pattern
*
**
***
****
*****
In the first line, we want to print one star, in the
second line two stars and so on
Nested Control Structures
(continued)
18
Since five lines are to be printed, we start with the
following for statement
for (i = 1; i <= 5 ; i++)
The value of i in the first iteration is 1, in the
second iteration it is 2, and so on
Can use the value of i as limit condition in another
for loop nested within this loop to control the
number of starts in a line
Practice Examples
19
The syntax is:
for (i = 1; i <= 5 ; i++)
{
for (j = 1; j <= i; j++)
cout << "*";
cout << endl;
}
Nested Control Structures
20
(continued)
What pattern does the code produce if we
replace the first for statement with the
following?
for (i = 5; i >= 1; i--)
While vs For Loop Comparision
21