लूप कंट्रोल स्टेटमेंट्स स्टेटमेंट्स के सेट को दोहराने के लिए उपयोग किए जाते हैं। वे हैं:
- for लूप
- while लूप
- do-while लूप
for लूप
सिंटैक्स
for(initialization; condition; increment/decrement) {
// लूप बॉडी
}
फ्लो चार्ट
+-----------+
| Init |
+-----------+
|
v
+-----------+ False +------------------+
| Condition |-------------->| Exit Loop |
+-----------+ +------------------+
|
True
|
v
+-----------+
| Loop Body |
+-----------+
|
v
+-----------+
| Inc/Dec |
+-----------+
|
+--------> (Condition पर वापस)
- आरंभीकरण - आमतौर पर एक असाइनमेंट स्टेटमेंट जो लूप कंट्रोल वेरिएबल सेट करता है।
- शर्त - एक रिलेशनल एक्सप्रेशन जो निर्धारित करता है कि लूप कब बाहर निकलेगा।
- इन्क्रीमेंट/डिक्रीमेंट - परिभाषित करता है कि लूप कंट्रोल वेरिएबल प्रत्येक पुनरावृत्ति में कैसे बदलेगा।
- लूप तब तक चलता रहता है जब तक शर्त सत्य है।
- एक बार शर्त असत्य होने पर, प्रोग्राम for लूप के बाद अगले स्टेटमेंट के साथ जारी रहता है।
उदाहरण: for लूप
#include <stdio.h>
int main() {
int k;
for(k = 1; k <= 5; k++) {
printf("%d ", k);
}
return 0;
}
आउटपुट
1 2 3 4 5
while लूप
सिंटैक्स
while(condition) {
// लूप बॉडी
}
फ्लो चार्ट
+-----------+
| Init | (लूप से पहले)
+-----------+
|
v
+-----------+ False +------------------+
| Condition |-------------->| Exit Loop |
+-----------+ +------------------+
|
True
|
v
+-----------+
| Loop Body |
+-----------+
|
v
+-----------+
| Inc/Dec | (लूप बॉडी के अंदर)
+-----------+
|
+--------> (Condition पर वापस)
- आरंभीकरण लूप से पहले किया जाता है।
- लूप तब तक चलता है जब तक शर्त सत्य है।
- इन्क्रीमेंट/डिक्रीमेंट भाग लूप के अंदर किया जाता है।
उदाहरण: while लूप
#include <stdio.h>
int main() {
int k = 1;
while(k <= 5) {
printf("%d ", k);
k++;
}
return 0;
}
आउटपुट
1 2 3 4 5
do-while लूप
सिंटैक्स
initialization;
do {
// लूप बॉडी
inc/dec;
} while(condition);
फ्लो चार्ट
+-----------+
| Init |
+-----------+
|
v
+-----------+
| Loop Body |
+-----------+
|
v
+-----------+
| Inc/Dec |
+-----------+
|
v
+-----------+ False +------------------+
| Condition |-------------->| Exit Loop |
+-----------+ +------------------+
|
True
|
+--------> (Loop Body पर वापस)
मुख्य अंतर
- for/while: एंट्री-कंट्रोल्ड लूप्स (शर्त पहले चेक होती है, बॉडी शून्य बार चल सकती है)
- do-while: एग्जिट-कंट्रोल्ड लूप (बॉडी कम से कम एक बार चलती है, शर्त बाद में चेक होती है)
उदाहरण: do-while लूप
#include <stdio.h>
int main() {
int k = 1;
do {
printf("%d ", k);
k++;
} while(k <= 5);
return 0;
}
आउटपुट
1 2 3 4 5
तुलना तालिका
| विशेषता | for | while | do-while |
|---|---|---|---|
| नियंत्रण प्रकार | एंट्री-कंट्रोल्ड | एंट्री-कंट्रोल्ड | एग्जिट-कंट्रोल्ड |
| न्यूनतम इटरेशन्स | 0 | 0 | 1 |
| आरंभीकरण | हेडर में | लूप से पहले | लूप से पहले |
| इन्क्रीमेंट | हेडर में | बॉडी में | बॉडी में |
| उपयोग मामला | ज्ञात इटरेशन्स | अज्ञात इटरेशन्स | कम से कम एक बार चलना |
नेस्टेड लूप्स
// पैटर्न प्रिंटिंग
for(i = 1; i <= 5; i++) {
for(j = 1; j <= i; j++) {
printf("*");
}
printf("\n");
}
अनंत लूप
for(;;) { } // for अनंत लूप
while(1) { } // while अनंत लूप
do { } while(1); // do-while अनंत लूप