C For Loop


For Loop

When you know exactly how many times you want to loop through a block of code, use the for loop instead of a while loop:

Syntax

for (statement 1; statement 2; statement 3) {
  // code block to be executed
}

Statement 1 is executed (one time) before the execution of the code block.

Statement 2 defines the condition for executing the code block.

Statement 3 is executed (every time) after the code block has been executed.

The example below will print the numbers 0 to 4:

Example

int i;

for (i = 0; i < 5; i++) {
  printf("%d\n", i);
}
Try it Yourself »

Example explained

Statement 1 sets a variable before the loop starts (int i = 0).

Statement 2 defines the condition for the loop to run (i must be less than 5). If the condition is true, the loop will start over again, if it is false, the loop will end.

Statement 3 increases a value (i++) each time the code block in the loop has been executed.


Another Example

This example will only print even values between 0 and 10:

Example

for (i = 0; i <= 10; i = i + 2) {
  printf("%d\n", i);
}
Try it Yourself »

Nested Loops

It is also possible to place a loop inside another loop. This is called a nested loop.

The "inner loop" will be executed one time for each iteration of the "outer loop":

Example

int i, j;

// Outer loop
for (i = 1; i <= 2; ++i) {
  printf("Outer: %d\n", i);  // Executes 2 times

  // Inner loop
  for (j = 1; j <= 3; ++j) {
    printf(" Inner: %d\n", j);  // Executes 6 times (2 * 3)
  }
}
Try it Yourself »

Real-Life Example

To demonstrate a practical example of the for loop, let's create a program that prints the multiplication table for a specified number:

Example

int number = 2;
int i;

// Print the multiplication table for the number 2
for (i = 1; i <= 10; i++) {
  printf("%d x %d = %d\n", number, i, number * i);
}

return 0;
Try it Yourself »

C Exercises

Test Yourself With Exercises

Exercise:

Use a for loop to print "Yes" 5 times:

 (int i = 0; i < 5; ) {
  printf("Yes\n");
}

Start the Exercise



Copyright 1999-2023 by Refsnes Data. All Rights Reserved.