Loop Control Statements
Loop Control Statements
Loop control statements change execution from its normal sequence. When execution leaves a
scope, all automatic objects that were created in that scope are destroyed.
When the break statement is encountered inside a loop, the loop is immediately
terminated and program control resumes at the next statement following the loop.
It can be used to terminate a case in the switch statement (covered in the next chapter).
If you are using nested loops (i.e., one loop inside another loop), the break statement will stop the
execution of the innermost loop and start executing the next line of code after the block.
Syntax
The syntax of a break statement in C++ is −
break;
Flow Diagram
GABRIEL © OOP 1
Example
#include <iostream>
int main () {
int a = 10;
// do loop execution
do {
a = a + 1;
break;
} while( a < 20 );
return 0;
When the above code is compiled and executed, it produces the following result −
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
GABRIEL © OOP 2
C++ continue statement
The continue statement works somewhat like the break statement. Instead of forcing termination,
however, continue forces the next iteration of the loop to take place, skipping any code in
between.
For the for loop, continue causes the conditional test and increment portions of the loop to
execute. For the while and do...while loops, program control passes to the conditional tests.
Syntax
The syntax of a continue statement in C++ is −
continue;
Flow Diagram
Example
#include <iostream>
GABRIEL © OOP 3
int main () {
int a = 10;
// do loop execution
do {
if( a == 15) {
a = a + 1;
continue;
a = a + 1;
while( a < 20 );
return 0;
When the above code is compiled and executed, it produces the following result −
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 16
value of a: 17
value of a: 18
value of a: 19
GABRIEL © OOP 4
C++ goto statement
A goto statement provides an unconditional jump from the goto to a labeled statement in the same
function.
NOTE − Use of goto statement is highly discouraged because it makes difficult to trace the
control flow of a program, making the program hard to understand and hard to modify. Any
program that uses a goto can be rewritten so that it doesn't need the goto.
Syntax
The syntax of a goto statement in C++ is −
goto label;
..
.
label: statement;
Where label is an identifier that identifies a labeled statement. A labeled statement is any
statement that is preceded by an identifier followed by a colon (:).
Flow Diagram
Example
#include <iostream>
GABRIEL © OOP 5
int main () {
int a = 10;
// do loop execution
LOOP:do {
if( a == 15) {
a = a + 1;
goto LOOP;
a = a + 1;
while( a < 20 );
return 0;
When the above code is compiled and executed, it produces the following result −
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 16
value of a: 17
value of a: 18
value of a: 19
One good use of goto is to exit from a deeply nested routine. For example, consider the following
code fragment −
GABRIEL © OOP 6
for(...) {
for(...) {
while(...) {
if(...) goto stop;
.
.
.
}
}
}
stop:
cout << "Error in program.\n";
Eliminating the goto would force a number of additional tests to be performed. A
simple break statement would not work here, because it would only cause the program to exit
from the innermost loop.
#include <iostream>
int main () {
for( ; ; ) {
return 0;
When the conditional expression is absent, it is assumed to be true. You may have an initialization
and increment expression, but C++ programmers more commonly use the ‘for (;;)’ construct to
signify an infinite loop.
GABRIEL © OOP 7
NOTE − You can terminate an infinite loop by pressing Ctrl + C keys.
GABRIEL © OOP 8