Looping statement
Statements के किसी ब्लॉक को बार-बार execute(एग्जीक्यूट) करने की प्रक्रिया को looping(लूपिंग) कहते हैं। एक स्टेटमेंट ब्लॉक को loop की सहायता से कई बार execute(एग्जीक्यूट) करवाया जा सकता है। लूपिंग में स्टेटमेंट का ब्लॉक तब तक एग्जीक्यूट होता है जब तक रूप में दी गई कंडीशन true रहती है। सी लैंग्वेज में लूट के मुख्य 2 भाग होते हैं:-
(i) लूप की बॉडी(body) या block
(ii) कंट्रोल स्टेटमेंट (control statement)
(a) entry controlled loop
(b) exit controlled loop
C language में looping के लिए तीन control statement होते हैं।
(1) while स्टेटमेंट
(2) do स्टेटमेंट
(3) for स्टेटमेंट
(1) while Loop:-
while लूप entry controlled loop की श्रेणी में आता है क्योंकि इसमें रूप में प्रवेश करने से पहले कंडीशन की जांच(check) होती है। इस रूप में जब तक कंडीशन true होती है तब तक इसकी Body में दी हुई statements(स्टेटमेंट्स) execute(एग्जीक्यूट) होती है। यह प्रक्रिया तब तक चलती है जब तक की कंडीशन false ना हो जाए। while प्रारूप के निम्न प्रकार होता है:-
Initialization section;
while(test condition)
{
Statement 1;
Statement 2;
.........
..........
Statement n;
}
ऊपर दिए गए Initialization section में test condition में प्रयोग किया जाने वाले वेरिएबल को प्रारंभ में वैल्यू दी जाती है। टेस्ट कंडीशन में उस वेरिएबल को प्रयोग करते हुए कंडीशन की जांच की जाती है।
जैसे यदि हम बिना किसी लूप की मदद के 10 बार hello C Language प्रिंट करवाना हो तो हम 10 बार printf(...) फंक्शन लिखेंगे और इसमें हम hello C Language या एक printf(...) फंक्शन के अंदर 10 बार hello C Language लिखेंगे।
इसी तरह से यदि हमें किसी स्टेटमेंट को बहुत बड़ी मात्रा में प्रिंट करवाना हो जैसे 1000-2000 बार प्रिंट करवाना हो तो हमारा प्रोग्राम बहुत ज्यादा heavy हो जाएगा।
जिससे प्रोग्राम को रन कराने के लिए बहुत ज्यादा टाइम लगेगा। और इसी के साथ में लाइन ऑफ कोड भी बहुत ज्यादा लिखना पड़ेगा।
यदि हम इसी को loop की मदद से प्रिंट करवाएं तो हमें केवल दो या तीन लाइन नहीं लिखनी पड़ेगी।
Example:-
Output:-
Hello C Language
Hello C Language
Hello C Language
Hello C Language
Hello C Language
Explain Example:-
ऊपर दिए गए प्रोग्राम में जब प्रोग्राम का प्रवाह while(x<=5)
पर पहुंचेगा तो x कमान एक होगा। चूंकि 1<=5)
कंडीशन true
होती है, अच्छा प्रोग्राम का प्रवाह while ब्लॉक में हो जाएगा और Hello C Language
प्रिंट हो जाएगा। तत्पश्चात x++
वेरिएबल x के मान में वृद्धि कर उसका मान 2 कर देगा।
जब प्रवाह while
ब्लॉक के अंत में } आएगा तो प्रवाह को वापस while स्टेटमेंट पर भेज दिया जाएगा। अब चूंकि (x<=5)
अर्थात x<=5
का परिणाम वापस true
है, अतः प्रोग्राम का कंट्रोल वापस while
ब्लॉक में प्रवेश कर जाएगा। यह प्रक्रिया तब तक चलेगी जब तक कीx
का मान 5
से अधिक ना हो जाता।
1 से 10 तक संख्या प्रिंट करने का प्रोग्राम
Output:-
a = 1
a = 2
a = 3
a = 4
a = 5
a = 6
a = 7
a = 8
a = 9
a = 10
(2) do स्टेटमेंट/ do..while loop:-
do लूप exit controlled loop की श्रेणी में आता है, क्योंकि इसमें लुफ्त से बाहर निकलते समय कंडीशन की जांच(check) होती है। while लुप की भाति यह लूप भी तब तक एग्जीक्यूट होता है जब तक कंडीशन true होती है। यह लुप कम से कम एक बार अवश्य रन होता है। वही while लूप हो सकता है कि किसी कंडीशन में एक बार भी रहना हो।
do स्टेटमेंट का प्रारूप में निम्नलिखित होता है:-
Initialization section;
do
{
Statement 1;
Statement 2;
...........
...........
Statement n;
} while(test condition);
do..while लूप की बॉडी एक बार अवश्य execute होती है चाहे condition true हो या false, जबकि while लूप में यदि कंडीशन false है तो लूप की body एक बार भी execute नहीं होगी।
Example:-
Output:-
W3 Coding Club
W3 Coding Club
W3 Coding Club
W3 Coding Club
W3 Coding Club
W3 Coding Club
Explain Example:-
उपरोक्त प्रोग्राम में यदि i का मान प्रारंभ में 7 भी कर दिया जाए तो भी वह कम से कम एक बारW3 Coding Club
जरूर प्रिंट करेगा। ध्यान रखें कि यदि उपरोक्त प्रोग्राम में से i++
हटा दिया जाए तो i
का मान 1
ही रहेगा और दी की कंडीशन कभी भी false
नहीं होगी। इससे यह प्रोग्राम कभी नहीं रुकेगा। अतः लुप का प्रयोग करते समय यह ध्यान रखें कि लूप को नियंत्रण करने वाले वेरिएबल की वैल्यू कभी ना कभी false जरूर हो।
1 से 10 तक संख्या प्रिंट करने का प्रोग्राम Using do...while लूप
Output:-
a = 1
a = 2
a = 3
a = 4
a = 5
a = 6
a = 7
a = 8
a = 9
a = 10
Explain Example:-
यह प्रोग्राम भी इससे पहले वाले प्रोग्राम पर आधारित है। कंडीशन के आधार पर while लुप क ब्लॉक 10 बार रन होगा। इस ब्लॉक में लूप को नियंत्रित करने वाले वेरिएबल a ही मान प्रिंट भी कराया गया है।
(3) for Loop:-
for loop, एक Entry controlled लूप होता है। इस लूप प्रोग्रामर द्वारा सबसे अधिक यूज में लिया जाता है। इसमें initialization, test condition, और increment/ it recruitment एक ही जगह पर होता है।
Structure of for loop:-
for(initialization; test condition; increment/ decrement)
{
Statement 1;
Statement 2;
...........
...........
Statement n;
}
Example:-
for लूप की मदद से W3 Coding Club को 5 बार प्रिंट करवाना:-
Output:-
W3 Coding Club
W3 Coding Club
W3 Coding Club
W3 Coding Club
W3 Coding Club
👆👆 ऊपर दिए गए प्रोग्राम में a प्रारंभिक वैल्यू for लूप में ही दी गई है। साथ ही साथ a के मान में वृद्धि भी for लूप में दी गई है।
for लूप में initialization हम for लूप के बाहर भी कर सकते हैं।
Example:-
इस उदाहरण में initialization का प्रयोग for loop में किए बिना 1 से 5 तक संख्या प्रिंट की गई है।
Output:-
a = 1
a = 2
a = 3
a = 4
a = 5
इस example में वेरिएबल a को प्रारंभ for स्टेटमेंट के पहले ही दे दी गई है इसी कारण से for लूप में initialization section खाली रखा गया है।
इसी के साथ-साथ हम initialization तथा increment/ decrement का प्रयोग for लूप में किए बिना भी स्टेटमेंट को रन कर सकता है
Example:-
इस example में initialization तथा increment/ decrement का प्रयोग for लूप में किए बिना 1 से 5 तक संख्या प्रिंट करवाई गई है।
Output:-
a = 1
a = 2
a = 3
a = 4
a = 5
Explain Example:-
इसे उदाहरण में भी वेरिएबल a को प्रारंभिक वैल्यू तथा इसमें increment अथवा Decrement for लूप में नहीं किया गया है यह दोनों ही कार्य क्रमशः for के पहले तथा for स्टेटमेंट के ब्लॉक में किए गए हैं।
Example:-
इस उदाहरण में एक से अधिक वेरिएबलों को initialize तथा increment/decrement करते हुए 1 से 5 तथा 5 से 1 तक संख्याएं प्रिंट की गई है।
Output:-
a = 1 b = 5
a = 2 b = 4
a = 3 b = 3
a = 4 b = 2
a = 5 b = 1
उपरोक्त उदाहरण में दो वेरिएबल(a तथा b)
प्रयोग किए गए हैं। एक वेरिएबल (a) का मान प्रत्येक लूप में बढ़ रहा है तथा दूसरे(b) का मान प्रत्येक लूप में घट रहा है।
ध्यान दें कि initialization section में एक से अधिक वेरिएबल को initialize किया जा सकता है। इसी कारण दोनों वेरिएबल के मान में परिवर्तन भीfor
स्टेटमेंट में एक साथ किया गया है। यह भी ध्यान रखें कि 1 से अधिक variable को प्रयोग करने के लिए separator(सेपरेटर) के रूप मेंकॉमा(,)
का प्रयोग किया जाता है।
0 Comments