0% found this document useful (0 votes)
7 views57 pages

Chapter 2

This document covers the fundamentals of loop structures in programming, including while, for, and do-while statements. It discusses various loop types such as counter-controlled and condition-controlled loops, as well as techniques for computing sums and averages. Additionally, it addresses common programming errors related to loops and provides case studies on loop programming techniques.

Uploaded by

Haftu Mesele
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views57 pages

Chapter 2

This document covers the fundamentals of loop structures in programming, including while, for, and do-while statements. It discusses various loop types such as counter-controlled and condition-controlled loops, as well as techniques for computing sums and averages. Additionally, it addresses common programming errors related to loops and provides case studies on loop programming techniques.

Uploaded by

Haftu Mesele
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 57

Chapter-02_B

Repetition
Objectives

• Basic Loop Structures


• The while Statement
• Computing Sums and Averages Using a while
Loop
• The for Statement
Objectives (continued)

• Case Studies: Loop Programming Techniques


• Nested Loops
• The do-while Statement
• Common Programming and Compiler Errors
Introduction

• A section of code that is repeated is called a loop,


because after the last statement in the code is
executed, the program branches, or loops, back to
the first statement and starts another repetition
through the code
• Each repetition is also called an iteration or pass
through the loop
Basic Loop Structures
• Constructing a repeating section of code requires
that four elements be present:
– Repetition statement
• while statement
• for statement
• do-while statement
– Condition
– A statement that initially sets the condition being
tested
– A statement within the repeating section of code that
alters the condition so that it eventually becomes
false
Pretest and Posttest Loops
Pretest and Posttest Loops
(continued)
Counter-Controlled and
Condition-Controlled Loops
• Counter-controlled loop: the condition is used to
keep track of the number of repetitions
– Also known as a fixed-count loop
• Condition-controlled loop: the tested condition
does not depend on a count being achieved, but
rather on a specific value being encountered
Basic Loop Structures
The while Statement

• The general form of the while statement is


while (expression)
statement;
• The transfer of control back to the start of a while
statement to reevaluate the expression is known as
a program loop
• The following is a valid but infinite loop:
while (count <= 10)
printf("%d ",count);
The while Statement (continued)
The while Statement (continued)

Output is:
1 2 3 4 5 6 7 8 9 10
The while Statement (continued)

Output is:
10 9 8 7 6 5 4 3 2 1
The while Statement (continued)
Output is:
NUMBER SQUARE CUBE
------ ------ ----
1 1 1
2 4 8
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
9 81 729
10 100 1000
The while Statement (continued)

Condition-controlled loop
Output is:
DEGREES DEGREES
CELSIUS FAHRENHEIT
------- ----------
5 41.00
10 50.00
15 59.00
20 68.00
25 77.00
30 86.00
35 95.00
40 104.00
45 113.00
50 122.00
Computing Sums and Averages Using
a while Loop
Computing Sums and Averages Using
a while Loop (continued)
Computing Sums and Averages Using
a while Loop (continued)
Computing Sums and Averages Using
a while Loop (continued)
Computing Sums and Averages Using
a while Loop (continued)

Ensures that any previous value present in the storage


locations assigned to the variable total is overwritten and
the total starts at a correct value

Accumulating statement
Computing Sums and Averages Using
a while Loop (continued)

Calculating an average
Sentinels

• A program, such as Program 5.7, can be made


much more general by removing the restriction that
exactly four numbers are to be entered
– The user enters a value for how many numbers will
be averaged
– You can use a sentinel (a data value used to signal
either the start or end of a data series)
• The sentinel values must be selected so as not to
conflict with legitimate data values
Sentinels (continued)
Sentinels (continued)

• One useful sentinel in C is the named constant


EOF (End Of File)
– The actual value of EOF is compiler-dependent, but
it is always assigned a code that is not used by any
other character
– EOF is defined in stdio.h
Sentinels (continued)
Sentinels (continued)
The break and continue
Statements
• A break forces an immediate exit from while,
switch, for, and do-while statements only
while(count <= 10)
{
printf("Enter a number: ");
scanf("%f", &num);
if (num > 76)
{
printf("You lose!");
break; /* break out of the loop */
}
else
printf("Keep on truckin!");
}
/* break jumps to here */
The break and continue
Statements (continued)
• The continue applies to loops only; when a
continue statement is encountered in a loop, the
next iteration of the loop begins immediately
while (count < 30)
{
printf("Enter a grade: ");
scanf("%f", &grade);
if(grade < 0 || grade > 100)
continue;
total = total + grade;
count = count + 1;
}
The Null Statement

• A semicolon with nothing preceding it is also a valid


statement, called the null statement
;
• Use the null statement where a statement is
syntactically required, but no action is needed
• Null statements typically are used either with
while or for statements
The for Statement
• The for statement combines all four elements
required to easily produce a loop on the same line
for (initializing list; tested expression; altering
list)
statement;
• This statement does not require that any of the
items in parentheses be present or that they
actually be used for initializing or altering the
values in the expression statements
– However, the two semicolons must be present
• for ( ; count <= 20;) is valid
• Omitting tested expression results in infinite loop
The for Statement (continued)
The for Statement (continued)

• Output is:
2 4 6 8 10 12 14 16 18 20
The for Statement (continued)
The for Statement (continued)
The for Statement (continued)

Comma-separated list
The for Statement (continued)

(compare with Program 5.3)


Computing Sums and Averages Using
a for Loop
Case Studies: Loop Programming
Techniques
• Technique 1: Selection within a loop
• Technique 2: Input data validation
• Technique 3: Interactive loop control
• Technique 4: Evaluating equations
Technique 1: Selection within a Loop
Technique 2: Input Data Validation

Same code used


in lines 6-7!
Technique 2: Input Data Validation
(continued)
Technique 3: Interactive Loop Control
Technique 4: Evaluating Equations
Technique 4: Evaluating Equations
(continued)
Nested Loops
Nested Loops (continued)

• Sample run:
i is now 1
j = 1 j = 2 j = 3 j = 4
i is now 2
j = 1 j = 2 j = 3 j = 4
i is now 3
j = 1 j = 2 j = 3 j = 4
i is now 4
j = 1 j = 2 j = 3 j = 4
i is now 5
j = 1 j = 2 j = 3 j = 4
Nested Loops (continued)
Nested Loops (continued)
The do-while Statement
The do-while Statement (continued)

• The general form of the do statement is


do
statement;
while (expression);

• do-while is a posttest loop


• One type of application is ideally suited for a
posttest loop:
– Input data validation application
The do-while Statement (continued)
do
{
printf("\nEnter an ID number: ");
scanf("%f", &idNum);
} while (idNum < 1000 || idNum > 1999);
The do-while Statement (continued)
Common Programming Errors
• “Off by one” error, in which the loop executes either
one too many or one too few times than intended
• Using the assignment operator, =, instead of the
equality operator, ==, in the tested expression
• As with the if statement, repetition statements
should not use the equality operator, ==, when
testing single-precision or double-precision
operands
Common Programming Errors
(continued)
• Placing a semicolon at the end of the for’s
parentheses (creates a do-nothing loop)
• Using commas to separate the items in a for
statement instead of the required semicolons
• Omitting the final semicolon from the do statement
Common Compiler Errors
Summary
• A section of repeating code is called a loop
• The three C repetition statements are while, for and
do-while
• Loops are also classified as to the type of tested
condition
• The most commonly used syntax for a while loop is
while (expression)
{
statements;
}
Summary (continued)
• A for statement performs the same functions as
the while statement, but uses a different form
• The for statement is extremely useful in creating
counter-controlled loops
• The do-while statement is used to create
posttest loops because it checks its expression at
the end of the loop

You might also like