You are on page 1of 7

Workshop 5

Repeating Statements via for and


while

5.1 Objective
It is expected to gain skills of repeating a statement by using for and while control structures (called loops).

5.2 for
Exercise 5.1 How to display Hello, World!?

Exercise 5.2 How to display Hello, World! for 5 times?


Exercise 5.3 How to display Hello, World! for 1000 times?

Listing 5.1: Repeat statement by using for loop

columns
columns
# include < stdio .h > co
columns
columns co
columns
columns
int main ( void ) co
{ int i ;
columns
columns co
columns
columns co
columns
columns
for ( i =0; i <5; i = i + 1) co
columns
columns
{ co
columns
columns
printf ( " Hello , World !\ n " ) ; co
columns
columns
} co
columns
columns co
return 0;
columns
columns co
columns
columns
} co

The for in the Listing 5.1 functions as follows.

• The initializer expression i=0 is executed once.


• The conditional expression i<5 is evaluated.

• If i<5 is true, firstly, the statement printf("Hello, World!\n"); is executed and then secondly, the
update expression i = i + 1 is executed.
• Then the conditional expression i<5 is re-evaluated, and if true, the statement printf("Hello, World!\n");
is executed again.
• When i<5 becomes false, the loop ends, and the execution continues at the statement that follows the
loop.
• General form of for control statement is given in Figure 5.1.

1
Figure 5.1: Floawchart of for control statement

5.2.1 Display Series of Numbers/Characters


Programs in Listing 5.2, Listing 5.3 and Listing 5.4 display numbers; from 0 to 100, from 100 to 1, and from
1 to 100 in steps of 5, respectively.
Exercise 5.4 Write programs by using for loops to display the following.
(a) -50 to 50
(b) multiples of 10 from 0 to 1000.
(c) 0 to 100 in steps of 0.5.
(d) 1 to a user input number.
(e) even numbers from 1 to 1000
(f) odd numbers from 1 to 1000
(g) even and odd numbers from 1 to 1000 in two columns.
(h) first 20 triangular numbers
(i) first 10 square numbers
(j) first 20 numbers of the series 2, 4, 8, 16, 32, 64,...
(k) table of the Products of 2, from 2 to 100.
(l) table of ASCII characters.
(m) characters from ’a’ to ’z’

Listing 5.2: Display numbers from 1 to 100.

columns
columns
# include < stdio .h > co
columns
columns
main () co
columns
columns
{ co
columns
columns
int i ; co
columns
columns
for ( i = 1; i <= 100; i ++) co
columns
columns
{ co
columns
columns
printf ( " % d \ n " ,i ) ; co
}
columns
columns co
columns
columns
} co

Listing 5.3: Display numbers from 100 to 1.

columns
columns
# include < stdio .h > co
columns
columns
main () co
columns
columns
{ co
columns
columns
int i ; co
columns
columns
for ( i = 100; i > 0; i - -) co
{
columns
columns co
columns
columns
printf ( " % d \ n " ,i ) ; co
columns
columns
} co
columns
columns
} co
columns
columns co
2
Listing 5.4: Display multiples of five from 0 to 100.

# include < stdio .h >


columns
columns co
columns
columns
main () co
columns
columns
{ co
int i ;
columns
columns co
columns
columnsfor ( i = 0; i <= 100; i +=5) co
columns{
columns co
columns
columns printf ( " % d \ n " ,i ) ; co
columns}
columns co
columns
columns
} co
columns
columns co

5.2.2 Iterative Calculation


The Listing 5.5 shows how to use for loop to calculate the sum of integers from 1 to 100 by using the iterative
nature (execution of the same statement for a given number of times) of the loop.

Listing 5.5: Calculate the sum of integers from 1 to 100

columns
columns
# include < stdio .h > co
columns
columns co
main ()
columns
columns co
columns
columns
{ co
int i , sum ;
columns
columns co
columns
columnsfor ( i = 0 , sum =0; i <= 100; i +=5) co
columns{
columns co
columns
columns sum = sum + i ; co
columns}
columns co
columns
columns co
columns
columnsprintf ( " \ nSum of integers from 1 to 100 is % d \ n " , sum ) ; co
columns
columns
} co
columns
columns co

Exercise 5.5 Write programs by using for loops to calculate the following.
(a) Sum of odd numbers between 0 and 1000
(b) Sum of even numbers between 0 and 1000
(c) table of the Products of 2, from 2 to 100.
(d) difference between the sum of first 20 triangular numbers and the sum of first 10 square
numbers

5.3 while
the following statement, known as while loop, is also can be used to repeatedly execute statements.

Listing 5.6: Format of while statement

columns
columns
while ( Expression ) co
columns
columns
{ co
columns
columns
Statement ; co
columns
columns
} co

The functionality of while loop, as given in the flowchart in Figure 5.2, is as follows.
• The Expression is evaluated and if true the Statement is executed.
• Above is repeated until Expression becomes false.

Exercise 5.6 Execute the programs in Listings 5.7, 5.9 and ??

3
Figure 5.2: Flow Chart of while statement

Listing 5.7: Repeat statement by using while loop.

columns
columns
# include < stdio .h > co
main ()
columns
columns co
columns
columns
{ co
int i = 1;
columns
columns co
columns
columns
while ( i <= 10) co
{
columns
columns co
columns
columns printf ( " Hello , World ! " ) ; co
columns
columns i ++; co
columns
columns
} co
columns
columns
} co
columns
columns co

5.4 do - while
The loop do - while has the format
do
{
Statement;
}
while(Expression);
It executes the Statement, then evaluates the Expression. If true, this is repeated. If false, the loop is
terminated.

Exercise 5.7 Execute the programs in Listings 5.10.

Listing 5.8: Display numbers from 100 to 0.

# include < stdio .h >


columns
columns co
columns
columns
main () co
columns
columns
{ co
int i = 1;
columns
columns co
columns
columns
while ( i <= 100) co
columns
columns
{ co
columns
columns printf ( " % d \ n " ,i ) ; co
columns
columns i ++; co
columns
columns
} co
columns
columns
} co
columns
columns co

4
Listing 5.9: Continuous display.

columns
columns
# include < stdio .h > co
columns
columns
main () co
{
columns
columns co
columns
columns
char key ; co
printf ( " Press Q to exit " ) ;
columns
columns co
columns
columns
scanf ( " % c " ,& key ) ; co
while ( key != ’Q ’)
columns
columns co
columns
columns
{ printf ( " Press Q to exit " ) ; co
columns
columns
scanf ( " % c " ,& key ) ; co
columns
columns
} co
columns
columns
} co
columns
columns co

Listing 5.10: Continuous addition. Use of do - while loop.

columns
columns
# include < stdio .h > co
columns
columns co
main ()
columns
columns co
columns
columns
{ co
double n , sum =0;
columns
columns co
columns
columns co
printf ( " \ nCalculator of Total " ) ;
columns
columns co
columns
columns
printf ( " \ n = == = = == = = == = = == = = == " ) ; co
columns
columns co
columns
columns
printf ( " \ nEnter positive number N , ( or 0 to Quit ) " ) ; co
columns
columns co
columns
columns
do co
columns
columns
{ co
columns
columns
printf ( " \ nEnter a number : " ) ; co
columns
columns
scanf ( " % lf " , & n ) ; co
columns
columns co
columns
columns
sum += n ; co
columns
columns co
columns
columns
printf ( " \ nCurrent total = % lf " , sum ) ; co
columns
columns co
columns
columns
} co
columns
columns
while ( n > 0.0) ; co
columns
columns co
columns
columns
} co

5.5 Assignments
5.1 Display the table of multiplication up to 10 for the given number. Example:
Enter a number : 8
8x1=8
8 x 2 = 16
8 x 3 = 24
8 x 4 = 32
8 x 5 = 40
8 x 6 = 48
8 x 7 = 56
8 x 8 = 64
8 x 9 = 72
8 x 10 = 80
5.2 Celsius values for user given range of Fahrenheit values. The incremental step also given by the user.
5.3 Consider the factorial n!
n1 = 1
5
n2 = 1 × 2
n3 = 1 × 2 × 3
...
ni = ni−1 × i
Display ni for i = 1, 2 . . . N for user given N .

5.4 the Fibonacci the series given as


n2 = n1 + n0
n3 = n2 + n1
n4 = n3 + n2
...
ni = ni−1 + ni−2
where, ni for i = 1, 2 . . . N for user given N . Assume n0 = n1 = 1.

—-

6
References

[1] Brian Kernighan and Dennis Ritchie (1998): The C Programming Language, Second Edition. Prentice
Hall, NJ, USA. ISBN 0-13-110362-8.

You might also like