यहां हम C या C++ में do-while लूप और while लूप के मूल अंतर देखेंगे।
C प्रोग्रामिंग में एक while लूप तब तक एक लक्ष्य स्टेटमेंट को बार-बार निष्पादित करता है जब तक दी गई शर्त सच है। सिंटैक्स नीचे जैसा है।
while(condition) { statement(s); }
यहां, statement(s) एक स्टेटमेंट या स्टेटमेंट्स का ब्लॉक हो सकता है। शर्त कोई भी एक्सप्रेशन हो सकती है, और सच कोई भी नॉन-जीरो मान है। लूप तब तक इटरेट करता है जब तक शर्त सच है।
जब शर्त गलत हो जाती है, तो प्रोग्राम कंट्रोल लूप के तुरंत बाद की लाइन पर चला जाता है।
उदाहरण
#include <stdio.h> int main () { int a = 10; // स्थानीय वेरिएबल घोषणा: do { // do लूप निष्पादन printf("value of a: %d\n", a); a = a + 1; } while( a < 20 ); return 0; }
आउटपुट
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: 18 value of a: 19
अब देखते हैं do-while लूप।
for और while लूप के विपरीत, जो लूप के शीर्ष पर लूप शर्त का परीक्षण करते हैं, do...while लूप लूप के नीचे अपनी शर्त की जांच करता है।
एक do...while लूप while लूप के समान है, सिवाय इसके कि एक do...while लूप कम से कम एक बार निष्पादित होने की गारंटी देता है।
do { statement(s); } while( condition );
ध्यान दें कि सशर्त एक्सप्रेशन लूप के अंत में दिखाई देता है, इसलिए लूप में स्टेटमेंट(स) शर्त का परीक्षण किए जाने से पहले एक बार निष्पादित होते हैं।
यदि शर्त सच है, तो कंट्रोल फ्लो do पर वापस कूदता है, और लूप में स्टेटमेंट(स) फिर से निष्पादित होते हैं। यह प्रक्रिया तब तक दोहराई जाती है जब तक दी गई शर्त गलत नहीं हो जाती।
उदाहरण
#include <stdio.h> int main () { /* स्थानीय वेरिएबल परिभाषा */ int a = 10; /* while लूप निष्पादन */ while( a < 20 ) { printf("value of a: %d\n", a); a++; } return 0; }
आउटपुट
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: 18 value of a: 19
इसलिए अंतर निम्नलिखित तालिका में संक्षेपित हैं -
| While Loop | Do-While Loop |
|---|---|
| यह एंट्री कंट्रोल्ड लूप है। लूप में प्रवेश करने से पहले शर्त की जांच करता है | यह एग्जिट कंट्रोल लूप है। लूप से बाहर आते समय शर्त की जांच करता है |
| while लूप शून्य या अधिक बार चल सकता है | Do-While एक से अधिक बार चल सकता है लेकिन कम से कम एक बार। |
| टेस्ट कंडीशन का वेरिएबल लूप में प्रवेश करने से पहले इनिशियलाइज़ होना चाहिए | लूप कंडीशन के लिए वेरिएबल को लूप के अंदर भी इनिशियलाइज़ किया जा सकता है। |
while(condition){ //statement } |
do{ //statement }while(condition); |