Control Statements in C Language
Nesting of Loops:-
एक लूप के अंदर दूसरे लूप को यूज करने की प्रक्रिया को नेस्टिंग करते हैं। अर्थात जब एक लूप के अंदर दूसरा लूप हो सकता है इसे लूप की नेस्टिंग करते हैं।
Structure of nested loop:-
for(initialization; test condition; increment/ decrement){
..............................
..............................
for(initialization; test condition; increment/ decrement){
..............................
..............................
}
}
Example:-
Output:-
*
* *
* * *
* * * *
* * * * *
Explain example:-
ऊपर दिए गए उदाहरण में सबसे पहले दो int type के वेरिएबल (a, x) declare किए गए हैं। इसके बाद में एक for लूप है। forलूप के के अंदर a को 1 से initialize किया गया है। तथा कंडीशन a<=5 दी गई है, साथ ही साथ a को एक से increment भी किया गया है। जब प्रोग्राम का control इस for लूप पर पहली बार आएगा तब a की वैल्यू 1 initialize होगी।
फिर कंडीशन check होगी चूंकि a<=5
यानी a<=5
सही है अतः इसका कंट्रोल for
लूप के अंदर चला जाएगा।
for लूप के अंदर एक और for लूप है। यहां पर x को 1 से initialize किया गया है तथा कंडीशन x<=a
x<=a दी गई है।
इसका अर्थ ये हुआ कि जब तक x
का मान a
के बराबर नहीं हो जाता तब तक यह loop
loop चलता रहेगा,
और एक ही लाइन में *
प्रिंट करेगा। इसके बाद में x का मान जैसे ही a से बड़ा होगा। वैसे ही प्रोग्राम का कंट्रोल इस for
लूप से बाहर आ जाएगा तथा उसके बाद में printf("\n")
चलेगा यानी कसर नहीं लाइन में आ जाएगा।
और अब फिर से external लुप चलेगा और यह तब तक चलेगा जब तक a का मान 5 ना हो जाए
Example:-
1
12
123
1234
12345
Output:-
1
12
123
1234
12345
Explain Example:-
👆 ऊपर दिए गए उदाहरण में ध्यान दें कि आंतरिक लुप 1
से लेकर वेरिएबल a
के मान तक चलेगा जब आंतरिक लुप पूरा चल जाएगा तो प्रोग्राम का प्रवाह वापस बाहरी रूप में जाकर वेरिएबल a
के मान में वृद्धि कर देगा। c
जब अगली बार चूंकि वेरिएबल a
के मान में वृद्धि हो चुकी होगी अतः आंतरिक रुप एक बार अधिक चलेगा और एक अंक अतिरिक्त प्रिंट होगा। यहां पर वेरिएबल c
का मान प्रिंट करवाया गया है।
Example: 👇 Output प्रिन्ट करवाना :-
1
01
101
0101
10101
Output:-
1
01
101
0101
10101
Explain Example:-
ऊपर दिए गए उदाहरण में बाहरी लूप 5
बार चलाया गया है, तथा लूप के अंत होने से पहले printf("\n")
के माध्यम से पांच अलग-अलग जा रही है। आंतरिक लूप में चूंकि प्रथम बार वेरिएबल c
की वैल्यू 1
होगी अतः लूप एक बार रन होगा। इस प्रकार यह कहा जा सकता है कि वेरिएबल c पंक्ति संख्या दर्शा है तथा उतनी ही बार आंतरिक लूप चल रहा है। if(a==1)
के माध्यम से वेरिएबल a
की वैल्यू एक बार 0 तथा अगली बार 1
की जा रही है।
Example: यूजर से एक नंबर का इनपुट लेकर पिरामिड प्रिंट करवाना। 👇
*
***
*****
*******
*********
***********
*************
Output:-
Enter total Number Of Rows : 7
Explain Example:-
👆 ऊपर दिए गए उदाहरण में यूज़र से Row की कुल संख्या इनपुट में लेते हुए उतनी ही बार चलाया गया है। इस लूप के अंदर प्रथम लूप स्पेस को प्रिंट कर रहा है तथा द्वितीय लूप स्टार (*)
को प्रिंट कर रहा है।
0 Comments