लू

लूप में C++

12 अभ्यास

लूप के बारे में

किसी लॉजिक को बार-बार चलाने के लिए लूप का उपयोग किया जाता है। सबसे आम दो तरह हैं while loop (जो अनिश्चित बार चलता है) और for loop (जो निश्चित, यानी गिनी हुई बार चलता है)। एक for each लूप भी है, जो आगे के किसी कॉन्सेप्ट में आएगा।

सामान्य सिंटैक्स

for loop एक हेडर और एक कोड ब्लॉक से मिलता है। उस कोड ब्लॉक में लूप के अंदर का कोड कर्ली ब्रैकेट में लपेटकर रखा जाता है। हेडर में 3 हिस्से होते हैं, जिन्हें सेमीकोलन ; से अलग किया जाता है: इनिट स्टेटमेंट, शर्त, और एक और एक्सप्रेशन। इनमें से हर एक हिस्सा खाली हो सकता है।

for (init-statement; condition; expression) {
  some_statement;
}
  • इनिट वाला हिस्सा कुछ कोड होता है, जो लूप शुरू होने से पहले सिर्फ एक बार चलता है।
  • शर्त वाला हिस्सा एक ऐसा एक्सप्रेशन होना चाहिए जिसका मान बूलियन हो और जो तय करता है कि लूप कब रुकना चाहिए। जब तक यह शर्त सही रहती है, लूप के अंदर का कोड चलता रहता है। जैसे ही यह एक्सप्रेशन गलत होता है, लूप का कोई और इटरेशन नहीं चलता।
  • एक्सप्रेशन वाला हिस्सा कुछ कोड होता है, जो हर इटरेशन के अंत में चलता है।

while loop अपने अंदर का कोड तब तक चलाता है, जब तक उसकी शर्त की जाँच सही रहती है। नीचे दिया गया कोड दिखाता है कि एक for लूप को while लूप में कैसे बदला जाए।

init-statement;
while(condition) {
    some_statement;
    expression;
}

बीच में: इंक्रीमेंट और डिक्रीमेंट

लूप के साथ काम करते समय अक्सर किसी काउंटर वेरिएबल में 1 जोड़ना या 1 घटाना पड़ता है। यह इतना आम है कि इस काम के लिए खास ऑपरेटर हैं: ++ और --।

ये प्रीफिक्स और पोस्टफिक्स, दो रूपों में आते हैं। प्रीफिक्स रूप स्टेटमेंट में इस्तेमाल होने से पहले वेरिएबल को बदल देता है, और पोस्टफिक्स रूप उसके बाद। ज़्यादातर मौकों पर आपको प्रीफिक्स रूप ही चाहिए होगा।

int a{3};
int b{--a};
// b is 2, a is now 2
int c{a++};
// c is 2, a is now 3

for लूप: एक उदाहरण

इनिट वाला हिस्सा आम तौर पर एक काउंटर वेरिएबल तैयार करता है। शर्त वाला हिस्सा जाँचता है कि लूप जारी रहना चाहिए या रुकना। अंतिम हिस्सा आम तौर पर हर दोहराव के अंत में काउंटर बढ़ा देता है।

int sum{0};
for (int i{1}; i < 10; ++i) {
  sum += i;
}

यह लूप 1 से 9 तक की संख्याओं को जोड़ता है (9 भी शामिल है)।

break और continue

लूप के अंदर के कोड में आप break कीवर्ड का इस्तेमाल करके लूप को पूरी तरह रोक सकते हैं:

int sum{2};
while(true) {
    sum *= 2;
    if (sum > 1000)
        break;
}
// sum is now 1024

इसके उलट, continue कीवर्ड सिर्फ मौजूदा इटरेशन को रोकता है और अगले के साथ आगे बढ़ जाता है:

int equal_sum{0};
for (int i{1}; i < 7; ++i) {
  if  (n%2 == 1) {
    continue;
  }
  equal_sum += i;
}
// equal_sum is now 12

ध्यान दें: लूप के लॉजिक को समझना आम तौर पर तब आसान होता है, जब break और continue का इस्तेमाल कम से कम किया जाए या पूरी तरह टाल दिया जाए।

GitHub के ज़रिए संपादित करें यह लिंक नई विंडो या टैब में खुलता है।

लूप सीखिए

अभ्यास लॉक है

लूप पर अभ्यास करने के लिए 4 और अभ्यास अनलॉक कीजिए