ITERATION, FOR LOOPS
The basic format of the for statement is,
for( start condition; continue condition; re-evaulation ) program statement;
/* sample program using a for statement */
#include <stdio.h>
main() /* Program introduces the for statement, counts to ten */
{
int count;
for( count = 1; count <= 10; count = count + 1 )
printf("%d ", count );
printf("\n");
}
Sample Program Output
1 2 3 4 5 6 7 8 9 10
The program declares an integer variable count. The first part of the for statement
for( count = 1;
initialises the value of count to 1. The for loop continues whilst the condition
count <= 10;
evaluates as TRUE. As the variable count has just been initialised to 1, this condition is TRUE and so the program statement
printf("%d ", count );
is executed, which prints the value of count to the screen, followed by a space character.
Next, the remaining statement of the for is executed
count = count + 1 );
which adds one to the current value of count. Control now passes back to the conditional test,
count <= 10;
which evaluates as true, so the program statement
printf("%d ", count );
is executed. Count is incremented again, the condition re-evaluated etc, until count reaches a value of 11.
When this occurs, the conditional test
count <= 10;
evaluates as FALSE, and the for loop terminates, and program control passes to the statement
printf("\n");
which prints a newline, and then the program terminates, as there are no more statements left to execute.
/* sample program using a for statement */
#include <stdio.h>
main()
{
int n, t_number;
t_number = 0;
for( n = 1; n <= 200; n = n + 1 )
t_number = t_number + n;
printf("The 200th triangular_number is %d\n", t_number);
}
Sample Program Output
The 200th triangular_number is 20100
The above program uses a for loop to calculate the sum of the numbers from 1 to 200 inclusive (said to be the triangular number).
The following diagram shows the order of processing each part of a for
An example of using a for loop to print out characters
#include <stdio.h>
main()
{
char letter;
for( letter = 'A'; letter <= 'E'; letter = letter + 1 ) {
printf("%c ", letter);
}
}
Sample Program Output
A B C D E
An example of using a for loop to count numbers, using two initialisations
#include <stdio.h>
main()
{
int total, loop;
for( total = 0, loop = 1; loop <= 10; loop = loop + 1 ){
total = total + loop;
}
printf("Total = %d\n", total );
}
Sample Program Output
Total = 55
In the above example, the variable total is initialised to 0 as the first part of the for loop. The two statements,
for( total = 0, loop = 1;
are part of the initialisation. This illustrates that more than one statement is allowed, as long as they are separated by commas.