Iterative Statements In C Language

Understanding Loops in Programming


Loops play a crucial role in programming by allowing the execution of a set of instructions repeatedly until a specific condition is met. There are two main types of loops: variable loops and fixed loops.

A program loop consists of two segments:

Body of the Loop: This segment contains the statements to be executed until the condition is satisfied.
Control Statement: This statement checks the condition and directs the program to execute the body until the condition is true.

Loop Structures

Entry Control Loop:
In an entry control loop, the test condition is checked first, and the body of the loop is executed only if the condition is true. If the condition is false, the body of the loop will not be executed.

Exit Control Loop:
The body of the loop is executed without checking the condition for the first time. Then, the test condition is checked. In an exit control loop, the body of the loop will be executed at least once.

While Loop:

The while loop, also known as an entry-controlled loop, is used to execute a block of code as long as a given condition is true. If the condition is false from the start, the block of code is not executed at all. This loop tests the condition before execution, making it an entry control loop.

Syntax:
Initialization;

while(test-condition){
    statement 1;
    statement 2;
    increment/decrement;
}
The while loop generally follows these steps:
  1. Initialize the counter.
  2. Check the test condition.
  3. Execute the body of the loop.
  4. Increment the counter and go back to checking the condition.
Note: The test condition in a while loop may use relational and logical operators. It must become false at some point to avoid an infinite loop.
Example:
#include <stdio.h>

    int main() {
        int count = 1;

        while (count <= 100) {
            printf("%d\n", count);
            count += 1;
        }

        return 0;
    }
Remember not to use semicolons (;) after the while loop statements.

Do-While Loop:

The do-while loop, an exit control loop, executes a block of code as long as a condition is satisfied. Unlike the while loop, it tests the condition after the first execution.

Syntax:
Initialization;

do{
    statement 1;
    statement n;
}while(condition);
Note the semicolon at the end of the do-while loop.
Example:
#include <stdio.h>

    int main() {
        int i = 1;

        do {
            printf("%d\n", i);
            i++;
        } while (i <= 10);

        return 0;
    }

For Loop:

The for loop executes a block of code for a fixed or given number of times. It initializes a value, checks a condition, and increments or decrements until the target is achieved.

Syntax:
for(initialization; test-condition; increment/decrement){
    statement_1;
    statement_2;
    // ...
    statement_n;
}
Example:
#include <stdio.h>

    int main() {
        for (int count = 1; count <= 10; count++) {
            printf("%d\n", count);
        }

        return 0;
    }

Nested For Loops:

Nested loops contain another looping statement within a single loop, allowing for more complex control flow.

Syntax:
for(initialization; test-condition; increment/decrement){
    // outer loop body (statement1)
    
    for(initialization; test-condition; increment/decrement){
        // inner loop body (statement1)
    }
    
    // outer loop body (statement2)
}

Jump Statements:

Jump statements, including continue, break, and goto, alter the program's control flow.

Continue Statement:

Used within the body of a loop, it skips the remaining part and continues with the next iteration.
Example:
#include <stdio.h>

    int main() {
        int a;

        for (a = 1; a <= 10; a++) {
            if (a == 5 || a == 7)
                continue;

            printf("%d\n", a);
        }

        return 0;
    }
This prints a series from 1 to 10, skipping values 5 and 7.

Break Statement:

Terminates a sequence of statements or a loop when encountered.
Example:
#include <stdio.h>

    int main() {
        int a;

        for (a = 1; a <= 10; a++) {
            if (a == 5)
                break;

            printf("%d\n", a);
        }

        return 0;
    }

Goto Statement:

Alters the sequence of program execution by transferring control to another part of the program.
Example:
#include <stdio.h>

    int main() {
        int a = 1;

    check:
        if (a <= 10)
            goto inc;
        else
            goto end;

    inc:
        printf("%d\n", a++);
        goto check;

    end:
        return 0;
    }

Conclusion:

Understanding loops is fundamental in programming, offering powerful tools for efficient and controlled code execution. Whether it's while, do-while, for, or nested loops, mastering these constructs is key to becoming a proficient programmer. Additionally, judicious use of jump statements enhances flexibility in managing program flow.
Experiment with the provided examples and consider real-world scenarios where each loop type and jump statement might be most useful. Happy coding!