Nested Loops. Control statements - Break

Comprehensive study notes, diagrams, and exam preparation for Nested Loops. Control statements - Break.

Nested Loops and Control Statements - Break

Definition

A nested loop is a loop structure in which one loop runs inside the body of another loop. The outer loop controls how many times the inner loop executes.

A break statement is a control statement that stops the execution of the current loop immediately and transfers control to the first statement after the loop.


Main Content

1. Nested Loops

Meaning and structure

  • : A nested loop is formed when one loop is written inside another loop. The outer loop repeats a certain number of times, and for every single repetition of the outer loop, the inner loop completes all of its repetitions.

Example:

  for (int i = 1; i <= 3; i++) {
      for (int j = 1; j <= 2; j++) {
          printf("i = %d, j = %d\n", i, j);
      }
  }

Here, for each value of i, the inner loop runs completely for all values of j.

Common uses

  • : Nested loops are used in printing patterns, traversing 2D arrays, generating multiplication tables, creating grids, and handling problems that require repeated repetition inside another repetition. They are especially useful when data has two or more dimensions.

Example in matrix traversal:

  for (int row = 0; row < 3; row++) {
      for (int col = 0; col < 3; col++) {
          printf("%d ", matrix[row][col]);
      }
      printf("\n");
  }

2. Loop Control Using Break

Purpose of break

  • : The break statement is used when a loop should end earlier than its normal completion. It is often applied when the required item is found, when an invalid input appears, or when continuing the loop is no longer necessary.

Example:

  for (int i = 1; i <= 10; i++) {
      if (i == 5) {
          break;
      }
      printf("%d ", i);
  }

Output: 1 2 3 4

Behavior inside nested loops

  • : When break appears inside an inner loop, it terminates only that inner loop, not the outer loop. The outer loop continues with its next iteration unless another break is encountered there too.

Example:

  for (int i = 1; i <= 3; i++) {
      for (int j = 1; j <= 3; j++) {
          if (j == 2) {
              break;
          }
          printf("i=%d, j=%d\n", i, j);
      }
  }

In this case, the inner loop stops when j == 2, but the outer loop still repeats.

3. Nested Loops with Break in Practice

Pattern and search problems

  • : Nested loops are often combined with break to stop searching once a condition is satisfied. This saves time and improves readability when the goal is to stop after finding a match.

Example:

  int found = 0;
  for (int i = 0; i < 5; i++) {
      for (int j = 0; j < 5; j++) {
          if (matrix[i][j] == 10) {
              found = 1;
              break;
          }
      }
      if (found) {
          break;
      }
  }

This stops both loops once the value 10 is found.

Flow of execution in nested loops

  • : Understanding the execution flow is essential. The outer loop starts one iteration, the inner loop runs fully or until broken, then control returns to the outer loop. If break is used, only the nearest loop is exited.

Simple flow:

  Outer loop starts
      Inner loop starts
          Condition checked
          If true -> break inner loop
      Outer loop continues

Working / Process

1. Initialize the outer loop

  • The outer loop begins and controls the number of major repetitions.
  • It may represent rows, passes, or groups depending on the problem.

2. Execute the inner loop for each outer iteration

  • For every cycle of the outer loop, the inner loop starts from its beginning and runs through its own set of iterations.
  • This is the main feature that makes the loop structure “nested.”

3. Apply break when a stop condition is reached

  • If a condition inside the loop becomes true, break immediately stops the current loop.
  • In nested loops, only the loop containing the break is stopped unless the outer loop also has a separate stopping condition.

Advantages / Applications

Useful for multi-dimensional data processing

  • : Nested loops are ideal for matrices, tables, grids, and other 2D or 3D data structures.

Efficient early termination

  • : The break statement prevents unnecessary iterations, saving execution time when a result is found early.

Common in real-world programming tasks

  • : These concepts are used in searching, pattern generation, menu handling, validation, simulations, and game logic.

Summary

  • Nested loops place one loop inside another to handle repeated repeated tasks.
  • break stops the nearest loop immediately when a condition is met.
  • Together, they help manage complex repetition and improve efficiency.

Important terms to remember

  • Nested loop
  • Outer loop
  • Inner loop
  • break statement