0% found this document useful (0 votes)
22 views

CO1003 - Chapter 5 - Iterative Statements

The document discusses repetition statements in C programming. It introduces while, do-while, and for loops. The while loop repeats statements as long as a condition is true. The do-while loop repeats statements at least once, then checks a condition. The for loop allows initialization, a condition, and an increment in one statement. Examples are given to find minimum values, calculate sums and factorials, and generate Fibonacci sequences using repetition statements. Nested loops are also mentioned.
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)
22 views

CO1003 - Chapter 5 - Iterative Statements

The document discusses repetition statements in C programming. It introduces while, do-while, and for loops. The while loop repeats statements as long as a condition is true. The do-while loop repeats statements at least once, then checks a condition. The for loop allows initialization, a condition, and an increment in one statement. Examples are given to find minimum values, calculate sums and factorials, and generate Fibonacci sequences using repetition statements. Nested loops are also mentioned.
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/ 43

Ho Chi Minh City University of Technology

Faculty of Computer Science and Engineering

Chapter 5: Repetition Statements

Introduction to Computer Programming


(C language)

Phạm Hoàng Anh


([email protected])

2021 – 2022, Semester 1


Course Content
p C.1. Introduction to Computers and
Programming
p C.2. C Program Structure and its
Components
p C.3. Variables and Basic Data Types
p C.4. Selection Statements
p C.5. Repetition Statements
p C.6. Functions
p C.7. Arrays
p C.8. Pointers
p C.9. File Processing 2
References

p [1] “C: How to Program”, 7th Ed. – Paul


Deitel and Harvey Deitel, Prentice Hall, 2012.
p [2] “The C Programming Language”, 2nd Ed.
– Brian W. Kernighan and Dennis M. Ritchie,
Prentice Hall, 1988
p and others, especially those on the Internet

3
Content
p Introduction

p while.. Statements
p do..while.. Statements
p for.. Statements
p Nested Repetition Statements
p continue Statements
p break Statements
p Summary
4
Introduction
p Control statements in C
n Sequence
p Assignment
p Function calling
p …
n Selection
p if
p if..else..
p switch..case..
n Repetition
p for..
p while..
p do..while..
5
Introduction
p Given a void main() {
double positiveNumber[10] = {2, 1, 3, 10, 8, 3, 4, 5, 9, 12};
set of n
int n = 10;
positive double minNumber = positiveNumber[0];
int iteration = 1;
numbers,
while (iteration < n) {
find the if (minNumber <= positiveNumber[iteration])
iteration = iteration + 1;
smallest
else {
one. minNumber = positiveNumber[iteration];
iteration = iteration + 1;
(Chapter 1 –
}

Real code in C) } Control Statements for Repetition


}
6
Introduction
p A repetition statement allows you to specify
that an action is to be repeated while some
condition remains true.
p Example 1: Input validation
n Ask a user to input a value
n While his/her input value is invalid, ask him/her
to input a value.
p Example 2: Search for any of you who didn’t
submit homework (i.e. no attachment exists)
p Example 3: Count the number of occurrences
of an important keyword in a text 7
while.. Statements
while (<Condition>) <Statement>;
false (= 0)
<Condition>
while (<Condition>) {
<Statement1>; true ( 0)

<Statements>
<Statementk>;
}

p 1. <Condition> is evaluated.
p 2. If <Condition> is true ( 0), <Statements> are performed
and then go to step 3. Otherwise, i.e. if <Condition> is false
(=0), go to step 4.
p 3. Go back to step 1.
p 4. End the repetition statement and move forward. 8
while.. Statements
false (= 0)
i<=3

true ( 0)
printf(…);
i++;

false (= 0)
i>=3

true ( 0)
printf(…);
i++;
9
while.. Statements
Write a program to receive a natural number from a user. If an invalid
value is entered, ask the user to input again until a valid one is obtained.

10
while.. Statements
Given N, the number of the first natural numbers
greater than 0, calculate and print the total sum of
these N first natural numbers.

11
while.. Statements
Given N, a natural number greater than 0, calculate and print the
factorial of N: N! = 1*2*..*N = (N-1)!*N

12
Given a natural number N

while.. Statements
greater than 0, list a series of
Fibonacci numbers smaller than N.

13
do..while.. Statements
do {
<Statement1>;
<Statements>

<Statementk>; true( 0)
} <Condition>

while (<Condition>); false(=0)

<Statements> are always


p 1. <Statements> are performed.
performed at least once!
p 2. <Condition> is evaluated.
p 3. If <Condition> is true ( 0), go to step 1. Otherwise, i.e. if
<Condition> is false (=0), go to step 4.
p 4. End the repetition statement and move forward.
14
do..while.. Statements

printf(…);
i++;

true( 0)
i<=3

false(=0)

printf(…);
i++;
true( 0)
i>=3

false(=0)
do..while.. Statements
Write a program to receive a natural number from a user. If an invalid
value is entered, ask the user to input again until a valid one is obtained.

16
do..while.. Statements
Given N, the number of the first natural numbers
greater than 0, calculate and print the total sum of
these N first natural numbers.

17
do..while.. Statements
Given N, a natural number greater than 0, calculate and print the
factorial of N: N! = 1*2*..*N = (N-1)!*N

18
Given a sequence of N numbers input sequentially
by a user, find the minimum one.

19
for.. Statements
<expression_1>

false (=0)
<expression_2>

true ( 0)

<Statements> <expression_3>

for (<expression_1>; <expression_2>; <expression_3>) <Statement>;

for (<expression_1>; <expression_2>; <expression_3>) {


<Statement1>;

<Statementk>;
} 20
for.. Statements
<expression_1>

false (=0)
<expression_2>

true ( 0)

<Statements> <expression_3>

1. <expression_1> is evaluated.
2. <expression_2> is evaluated.
3. If <expression_2> is true ( 0), <Statements> are performed,
<expression_3> is evaluated, and then go to step 2. Otherwise, i.e.
if <expression_2> is false (=0), go to step 4.
4. End the repetition statement and move forward. 21
for.. Statements
for (<expression_1>; <expression_2>; <expression_3>) <Statement>;

is regarded as:
<expression_1>;
while (<expression_2>) {
<Statement>;
<expression_3>;
}

for (<expression_1>; <expression_2>; <expression_3>) {


<Statement1>;

<Statementk>;
}
is regarded as:
<expression_1>;
while (<expression_2>) {
<Statement1>;

<Statementk>;
<expression_3>;
} 22
for.. Statements
i=1;

false (=0)
i<=3

true ( 0)

printf(…); i++;

No printing result exists due to a false value of the expression “i>=3”. 23


for.. Statements
Given N, the number of the first natural numbers greater than 0,
calculate and print the total sum of these N first natural numbers.

24
for.. Statements
Given N, a natural number greater than 0, calculate and print the
factorial of N: N! = 1*2*..*N = (N-1)!*N

25
for.. Statements
Given a natural number N greater than 0, list all the squared numbers
smaller than the given number.

26
for.. Statements

27
while (<expression_1>) { Nested Repetition

do {

Statements
}
while (<expression_2>);

for(<expression_3>;<expression_4>;<expression_5>) {

}

}

for (…; …; …) { A repetition statement



for (…; …; …) {
… can contain other
}

while (…) {
repetition statements in

} many various

}
… combination ways.
28
Nested Repetition Statements
Given a size of a window (N is an odd number and N>=5),
print a star of stars: diagonal and center lines

29
Nested Repetition Statements
Given a natural number N greater than 0, print a
triangle full of stars. N is the height of the star triangle.

N=4
30
Given a natural number greater than 0,

Nested Repetition Statements


print two squared isosceles triangles of
stars.

N=5

31
continue Statements

p the continue statement for skipping the


remainder of the body of a repetition
statement and proceeding with the next
iteration of the loop
n while.. statements

n do.. while.. statements

n for.. statements

32
continue Statements

The second loop has been skipped!

33
break Statements

p the break statement for exiting immediately


from certain control statements
n switch..case statements

n while.. statements

n do.. while.. statements

n for.. statements

34
break Statements

All the loops from the second loop


have been skipped!

A corresponding repetition statement


is then ended.

35
Infinite Loops
while (1) <Statement>; do {
<Statement1>;
while (1) {

<Statement1>;
<Statementk>;

}
<Statementk>;
while (1);
}
for (<expression_1>; 1;<expression_3>)
for (; ;) <Statement>;
<Statement>;
for (; ;) {
<Statement1>; for (<expression_1>; 1;<expression_3>)
{ <Statement1>;

<Statementk>; …
} <Statementk>;
} 36
Infinite Loops

37
Put them all together
Write a program to compute an approximation of e with
a positive number N input by a user. Print the
approximated value and its difference from a commonly
used value which is 2.71828. It is given that: 0! = 1! = 1.

Natural number e is approximated:

38
Put them all together
Write a program to compute an
approximation of the power x of e
where there is no use of a true value
of e. Accuracy of an approximation is
dependent on how large n is.

39
Put them all together
p Given problem: print the first NxN natural
numbers greater than 0 in a spiral-shaped
matrix with a given N.
Given N = 4, a printed spiral-shaped matrix is as follows:

1 2 3 4 0
12 13 14 5 12
11 16 15 6
10 9 8 7

Given N = 5, a printed spiral-shaped matrix is as follows:

1 2 3 4 5 0
16 17 18 19 6 16
15 24 25 20 7 24
14 23 22 21 8
13 12 11 10 9 40
N=10

N=9

How to start the spiral at


any given position (i,j)? 41
Summary
p Three control statement types of repetition
n while..
n do.. while..
n for...
à Repeat actions in connection with conditions
p break and continue statements
n Important and helpful for controlling the loops in
repetition
p Infinite loops
n Check the conditions for repetition carefully 42
Chapter 5: Repetition Statements

43

You might also like