In the world of C programming, the ‘while’ keyword is a fundamental building block for creating loops that repeat a block of code until a specified condition is met. This comprehensive article aims to elucidate the ‘while’ keyword, explaining its purpose, usage, and providing real-world examples with outputs. By the end, you’ll have a deep understanding of how ‘while’ empowers you to create efficient and versatile loops in your C code.
The Purpose of the ‘while’ Keyword
The ‘while’ keyword in C serves the purpose of creating loops that repeatedly execute a block of code as long as a specified condition remains true. It is used for scenarios where you want to perform a task multiple times until a certain condition is no longer met.
Usage of the ‘while’ Keyword
To use ‘while’ effectively, you provide a condition that is evaluated before each iteration of the loop. If the condition is true, the loop continues; if it’s false, the loop terminates, and the program proceeds to the next statement.
Example 1: Basic ‘while’ Loop
Let’s start with a simple ‘while’ loop that counts from 1 to 5 and prints the numbers:
#include <stdio.h>
int main() {
int count = 1;
while (count <= 5) {
printf("%d ", count);
count++;
}
printf("\n");
return 0;
}
In this example, the ‘while’ loop continues to execute as long as the ‘count’ variable is less than or equal to 5.
Output:
1 2 3 4 5
Example 2: Using ‘while’ for User Input Validation
Here, we demonstrate how ‘while’ can be used to validate user input for a positive integer:
#include <stdio.h>
int main() {
int number;
printf("Enter a positive integer: ");
while (1) {
scanf("%d", &number);
if (number > 0) {
break; // Exit the loop if the input is positive
} else {
printf("Invalid input. Please enter a positive integer: ");
}
}
printf("You entered: %d\n", number);
return 0;
}
In this example, the ‘while’ loop repeatedly asks the user for input until a positive integer is provided.
Output:
Enter a positive integer: -5
Invalid input. Please enter a positive integer: 0
Invalid input. Please enter a positive integer: 42
You entered: 42