C में लूप: For, While, Do While लूपping कथन [उदाहरण]
⚡ स्मार्ट सारांश
सी में लूप स्टेटमेंट के एक ब्लॉक को तब तक दोहराते हैं जब तक कि एक नियंत्रण स्थिति गलत नहीं हो जाती, और भाषा प्रवेश और निकास नियंत्रित दोहराव के लिए तीन संरचनाएं प्रदान करती है - व्हाइल लूप, डू-व्हाइल लूप और फॉर लूप।
सी में लूप क्या है?
अस्तरping C में स्टेटमेंट्स एक दूसरे के क्रम को तब तक दोहराते हैं जब तक कि निर्दिष्ट शर्त गलत न हो जाए। C में लूप के दो भाग होते हैं: लूप का बॉडी और कंट्रोल स्टेटमेंट। कंट्रोल स्टेटमेंट कुछ शर्तों का संयोजन होता है जो लूप के बॉडी को तब तक निष्पादित करने का निर्देश देता है जब तक कि निर्दिष्ट शर्त गलत न हो जाए। C लूप का उद्देश्य एक ही कोड को कई बार दोहराना है।
सी में लूप के प्रकार
प्रोग्राम में नियंत्रण कथन की स्थिति के आधार पर,ping सी भाषा में स्टेटमेंट को दो प्रकारों में वर्गीकृत किया गया है:
- प्रवेश नियंत्रित लूप
- निकास नियंत्रित लूप
C भाषा में एंट्री कंट्रोल लूप में, लूप के बॉडी को निष्पादित करने से पहले एक कंडीशन की जाँच की जाती है। इसे प्री-चेकिंग लूप भी कहा जाता है।
एग्जिट कंट्रोल्ड लूप में, लूप के बॉडी को निष्पादित करने के बाद एक कंडीशन की जाँच की जाती है। इसे पोस्ट-चेकिंग लूप भी कहा जाता है।
नमूना लूप
नियंत्रण शर्तें अच्छी तरह से परिभाषित और निर्दिष्ट होनी चाहिए, अन्यथा लूप अनंत बार चलता रहेगा। जो लूप लगातार चलता रहता है और स्टेटमेंट को बार-बार प्रोसेस करता है, उसे अनंत लूप कहते हैं। अनंत लूप को "अंतहीन लूप" भी कहा जाता है। अनंत लूप की कुछ विशेषताएं निम्नलिखित हैं:
- समाप्ति की कोई शर्त निर्दिष्ट नहीं है।
- निर्धारित शर्तें कभी पूरी नहीं होतीं।
निर्दिष्ट शर्त यह निर्धारित करती है कि लूप बॉडी को निष्पादित किया जाए या नहीं।
'सी' प्रोग्रामिंग भाषा हमें तीन प्रकार के लूप निर्माण प्रदान करती है:
- while लूप
- डू-व्हाइल लूप
- फॉर लूप
| क्रमांक। | पाश प्रकार | विवरण |
|---|---|---|
| 1. | घुमाव के दौरान | while loop में, loop की body को प्रोसेस करने से पहले condition का मूल्यांकन किया जाता है। अगर condition true है तो और केवल तभी loop की body को निष्पादित किया जाता है। |
| 2. | डू-व्हाइल लूप | Do…while लूप में, कंडीशन हमेशा लूप की बॉडी के बाद निष्पादित होती है। इसे एग्जिट-कंट्रोल्ड लूप भी कहा जाता है। |
| 3. | पाश के लिए | एक फ़ॉर लूप में, प्रारंभिक मान की जाँच केवल एक बार की जाती है, फिर प्रत्येक पुनरावृति के बाद स्थिति की जाँच की जाती है और काउंटर की तुलना एक निश्चित मान से की जाती है, और फिर लूप रुक जाता है।ping जब false रिटर्न होता है तो for लूप काम करना बंद कर देता है। |
जबकि C . में लूप
व्हाइल लूप सबसे सरल लूप हैping संरचना। सी प्रोग्रामिंग भाषा में व्हाइल लूप का सिंटैक्स इस प्रकार है:
C में While Loop का सिंटैक्स
while (condition) {
statements;
}
यह एक एंट्री-नियंत्रित लूप है। While लूप में, लूप के बॉडी को प्रोसेस करने से पहले कंडीशन का मूल्यांकन किया जाता है। यदि कंडीशन सत्य है, तो और केवल तभी लूप के बॉडी को निष्पादित किया जाता है। लूप के बॉडी के निष्पादित होने के बाद नियंत्रण फिर से शुरुआत में वापस चला जाता है, और कंडीशन की जाँच की जाती है यदि यह सत्य है, तो वही प्रक्रिया तब तक निष्पादित होती है जब तक कंडीशन गलत नहीं हो जाती। एक बार जब कंडीशन गलत हो जाती है, तो नियंत्रण लूप से बाहर चला जाता है।
लूप से बाहर निकलने के बाद, नियंत्रण उन कथनों पर जाता है जो लूप के तुरंत बाद होते हैं। लूप के मुख्य भाग में एक से अधिक कथन हो सकते हैं। यदि इसमें केवल एक कथन है, तो कर्ली ब्रेसेज़ अनिवार्य नहीं हैं। हालाँकि, कर्ली ब्रेसेज़ का उपयोग करना एक अच्छा अभ्यास है, भले ही हमारे पास मुख्य भाग में एक ही कथन हो।
while loop में, अगर condition true नहीं है, तो loop की body एक बार भी निष्पादित नहीं होगी। do while loop में यह अलग है जिसे हम जल्दी ही देखेंगे।
निम्नलिखित प्रोग्राम C प्रोग्रामिंग उदाहरण में while लूप को दर्शाता है:
#include<stdio.h> #include<conio.h> int main() { int num=1; //initializing the variable while(num<=10) //while loop with condition { printf("%d\n",num); num++; //incrementing operation } return 0; }
आउटपुट:
1 2 3 4 5 6 7 8 9 10
उपरोक्त प्रोग्राम while loop के उपयोग को दर्शाता है। उपरोक्त प्रोग्राम में, हमने while loop का उपयोग करके 1 से 10 तक की संख्याओं की श्रृंखला को प्रिंट किया है।
सी प्रोग्रामिंग में While लूप
- हमने एक आरंभ किया है परिवर्तनशील num नाम के एक वेरिएबल का मान 1 है। हम 1 से 10 तक की संख्याएँ प्रिंट करने जा रहे हैं, इसलिए वेरिएबल को 1 मान से इनिशियलाइज़ किया गया है। यदि आप 0 से प्रिंट करना चाहते हैं, तो इनिशियलाइज़ेशन के दौरान 0 मान असाइन करें।
- while लूप में, हमने एक शर्त (num<=10) प्रदान की है, जिसका अर्थ है कि लूप बॉडी को तब तक निष्पादित करेगा जब तक num का मान 10 नहीं हो जाता। उसके बाद, लूप समाप्त हो जाएगा, और नियंत्रण लूप के बाहर हो जाएगा।
- लूप के मुख्य भाग में, हमारे पास अपना नंबर प्रिंट करने के लिए एक प्रिंट फ़ंक्शन और लूप के प्रत्येक निष्पादन के लिए मान बढ़ाने के लिए एक वृद्धि ऑपरेशन होता है। num का प्रारंभिक मान 1 है, निष्पादन के बाद, यह 2 हो जाएगा, और अगले निष्पादन के दौरान, यह 3 हो जाएगा। यह प्रक्रिया तब तक जारी रहेगी जब तक कि मान 10 न हो जाए और फिर यह कंसोल पर श्रृंखला प्रिंट करेगा और लूप को समाप्त कर देगा।
'\n' का उपयोग फॉर्मेटिंग के लिए किया जाता है, जिसका अर्थ है कि मान नई पंक्ति पर मुद्रित होगा।
C में Do-While लूप
C में do…while लूप while लूप के समान ही होता है, सिवाय इसके कि कंडीशन हमेशा लूप की बॉडी के बाद निष्पादित होती है। इसे एक्जिट-नियंत्रित लूप भी कहा जाता है।
सी प्रोग्रामिंग भाषा में do while loop का सिंटैक्स इस प्रकार है:
C में Do-While लूप का सिंटैक्स
do { statements } while (expression);
जैसा कि हमने while loop में देखा, body तभी निष्पादित होती है जब और केवल तभी जब condition true हो। कुछ मामलों में, हमें loop की body को कम से कम एक बार निष्पादित करना पड़ता है, भले ही condition false हो। इस प्रकार का ऑपरेशन do-while loop का उपयोग करके प्राप्त किया जा सकता है।
Do-while लूप में, लूप की बॉडी हमेशा कम से कम एक बार निष्पादित होती है। बॉडी के निष्पादित होने के बाद, यह कंडीशन की जांच करता है। यदि कंडीशन सत्य है, तो यह फिर से लूप की बॉडी को निष्पादित करेगा अन्यथा नियंत्रण लूप से बाहर स्थानांतरित हो जाता है।
While लूप के समान, जब नियंत्रण लूप से बाहर चला जाता है तो लूप के तुरंत बाद के कथन निष्पादित हो जाते हैं।
while और do-while लूप के बीच महत्वपूर्ण अंतर यह है कि while लूप में while को शुरुआत में लिखा जाता है। do-while लूप में while कंडीशन को अंत में लिखा जाता है और सेमी-कोलन (;) के साथ समाप्त होता है।
C में निम्नलिखित लूप प्रोग्राम do-while लूप की कार्यप्रणाली को दर्शाता है:
नीचे C उदाहरण में संख्या 2 की तालिका मुद्रित करने के लिए do-while लूप दिया गया है:
#include<stdio.h> #include<conio.h> int main() { int num=1; //initializing the variable do //do-while loop { printf("%d\n",2*num); num++; //incrementing operation }while(num<=10); return 0; }
आउटपुट:
2 4 6 8 10 12 14 16 18 20
ऊपर दिए गए उदाहरण में, हमने do-while लूप का उपयोग करके 2 की गुणन सारणी प्रिंट की है। आइए देखें कि प्रोग्राम किस तरह से श्रृंखला प्रिंट करने में सक्षम था।
सी प्रोग्रामिंग में डू-व्हाइल लूप
- सबसे पहले, हमने एक वेरिएबल 'num' को मान 1 के साथ आरंभीकृत किया है। फिर हमने एक do-while लूप लिखा है।
- लूप में, हमारे पास एक प्रिंट फ़ंक्शन है जो num के मान को 2 से गुणा करके श्रृंखला को प्रिंट करेगा।
- प्रत्येक वृद्धि के बाद, num का मान 1 से बढ़ जाएगा, और यह स्क्रीन पर प्रिंट हो जाएगा।
- शुरुआत में, num का मान 1 है। लूप के किसी भाग में, प्रिंट फ़ंक्शन इस तरह से निष्पादित किया जाएगा: 2*num जहाँ num=1 है, फिर 2*1=2 इसलिए मान दो प्रिंट किया जाएगा। यह तब तक चलता रहेगा जब तक num का मान 10 नहीं हो जाता। उसके बाद लूप समाप्त हो जाएगा और लूप के तुरंत बाद वाला कथन निष्पादित किया जाएगा। इस मामले में 0 लौटाएँ।
C में फॉर लूप
'C' प्रोग्रामिंग में फ़ॉर लूप एक अधिक कुशल लूप संरचना है। C में फ़ॉर लूप सिंटैक्स की सामान्य संरचना इस प्रकार है:
C में फॉर लूप का सिंटैक्स
for (initial value; condition; incrementation or decrementation ) { statements; }
- फॉर लूप का प्रारंभिक मान केवल एक बार निष्पादित किया जाता है।
- यह शर्त एक बूलियन अभिव्यक्ति है जो प्रत्येक पुनरावृति के बाद काउंटर की जांच करती है और उसकी तुलना एक निश्चित मान से करती है, और फिर रुक जाती है।ping जब false रिटर्न होता है तो for लूप काम करना बंद कर देता है।
- वृद्धि/कमी काउंटर को एक निर्धारित मान से बढ़ाती (या घटाती) है।
निम्नलिखित प्रोग्राम C प्रोग्रामिंग उदाहरण में for loop को दर्शाता है:
#include<stdio.h> int main() { int number; for(number=1;number<=10;number++) //for loop to print 1-10 numbers { printf("%d\n",number); //to print the number } return 0; }
आउटपुट:
1 2 3 4 5 6 7 8 9 10
उपरोक्त प्रोग्राम for loop का उपयोग करके 1-10 तक की संख्या श्रृंखला को प्रिंट करता है।
सी प्रोग्रामिंग में फॉर लूप
- हमने मानों को संग्रहीत करने के लिए int डेटा प्रकार का एक चर घोषित किया है।
- फॉर लूप में, इनिशियलाइज़ेशन भाग में, हमने वेरिएबल नंबर को 1 मान दिया है। कंडीशन भाग में, हमने अपनी कंडीशन और फिर इंक्रीमेंट भाग निर्दिष्ट किया है।
- लूप के मुख्य भाग में, हमारे पास कंसोल में नई लाइन पर संख्याओं को प्रिंट करने के लिए एक प्रिंट फ़ंक्शन है। हमारे पास number में संग्रहीत मान एक है, पहले पुनरावृत्ति के बाद मान में वृद्धि होगी, और यह 2 हो जाएगा। अब variable number का मान 2 है। शर्त की फिर से जाँच की जाएगी और चूँकि शर्त सत्य है, इसलिए loop निष्पादित होगा, और यह स्क्रीन पर दो प्रिंट करेगा। यह loop तब तक निष्पादित होता रहेगा जब तक variable का मान 10 नहीं हो जाता। उसके बाद, loop समाप्त हो जाएगा, और स्क्रीन पर 1-10 की एक श्रृंखला प्रिंट हो जाएगी।
C में, for लूप के प्रत्येक भाग में अल्पविराम द्वारा अलग किए गए एकाधिक अभिव्यक्तियाँ हो सकती हैं।
उदाहरण के लिए:
for (x = 0, y = num; x < y; i++, y--) { statements; }
इसके अलावा, हम अर्धविराम जोड़कर प्रारंभिक मान अभिव्यक्ति, शर्त और/या वृद्धि को छोड़ सकते हैं।
उदाहरण के लिए:
int i=0; int max = 10; for (; i < max; i++) { printf("%d\n", i); }
ध्यान दें कि लूप को नेस्ट भी किया जा सकता है जहाँ एक बाहरी लूप और एक आंतरिक लूप होता है। बाहरी लूप के प्रत्येक पुनरावृत्ति के लिए, आंतरिक लूप अपने पूरे चक्र को दोहराता है।
फॉर लूप में कई शर्तों के साथ निम्नलिखित उदाहरण पर विचार करें, जो गुणन तालिका आउटपुट करने के लिए C प्रोग्रामिंग में नेस्टेड फॉर लूप का उपयोग करता है:
#include <stdio.h> int main() { int i, j; int table = 2; int max = 5; for (i = 1; i <= table; i++) { // outer loop for (j = 0; j <= max; j++) { // inner loop printf("%d x %d = %d\n", i, j, i*j); } printf("\n"); /* blank line between tables */ }}
आउटपुट:
1 x 0 = 0 1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5 2 x 0 = 0 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10
फ़ॉर लूप्स में किसी भी स्तर तक नेस्टिंग की जा सकती है। कोड को पठनीय बनाने के लिए नेस्टेड लूप्स को उचित रूप से इंडेंट किया जाना चाहिए। 'सी' के कुछ संस्करणों में नेस्टिंग 15 लूप्स तक सीमित है, लेकिन कुछ में इससे अधिक की सीमा होती है।
नेस्टेड लूप्स का उपयोग ज्यादातर ऐरे अनुप्रयोगों में किया जाता है जिसे हम आगे के ट्यूटोरियल में देखेंगे।
तीन प्रकार के लूप के अलावा, C में दो ऐसे स्टेटमेंट भी हैं जो लूप के चलने के तरीके को अंदर से बदल देते हैं।
C में ब्रेक स्टेटमेंट
ब्रेक स्टेटमेंट का प्रयोग मुख्यतः किया जाता है स्विच कथनयह तुरंत रोकने के लिए भी उपयोगी है।ping एक लूप।
हम निम्नलिखित प्रोग्राम पर विचार करते हैं जो while लूप से बाहर निकलने के लिए break प्रस्तुत करता है:
#include <stdio.h> int main() { int num = 5; while (num > 0) { if (num == 3) break; printf("%d\n", num); num--; }}
आउटपुट:
5 4
C में Continue कथन
जब आप अगले पुनरावृत्ति पर जाना चाहते हैं लेकिन लूप में बने रहना चाहते हैं, तो आपको continue कथन का उपयोग करना चाहिए।
उदाहरण के लिए:
#include <stdio.h> int main() { int nb = 7; while (nb > 0) { nb--; if (nb == 5) continue; printf("%d\n", nb); }}
आउटपुट:
6 4 3 2 1
अतः, मान 5 छोड़ दिया गया है।
कौन सा लूप चुनें?
लूप का चयन करना हमेशा एक प्रोग्रामर के लिए कठिन कार्य होता है, लूप का चयन करने के लिए निम्नलिखित चरण करें:
- समस्या का विश्लेषण करें और जाँचें कि क्या इसके लिए पूर्व-परीक्षण या पश्च-परीक्षण लूप की आवश्यकता है।
- यदि पूर्व-परीक्षण आवश्यक हो, तो while या for लूप का उपयोग करें।
- यदि पोस्ट-टेस्ट आवश्यक हो तो do-while लूप का उपयोग करें।





