C Programs में सभी statements के run होने का flow (order) sequential होता है और अगर आप इस flow को control करना चाहते हो तो उसके लिए हम conditional statements और loop का use करते हैं.
if, else if …, else conditional statements के बारे में तो हम पहले ही पढ़ चुके हैं और इस tutorial में हम C Programming में for loop कैसे use करते हैं ये examples के साथ सीखेंगे.
कभी-कभी हमें अपने programs में कुछ statements को same या कुछ changes के साथ एक से ज्यादा बार repeat करना होता है और इसके लिए हम loops का use करते हैं.
C programming में loops three types के होते हैं:
- for loop
- while loop
- do while loop
हम इस tutorial में सिर्फ for loop का use करना सीखेंगे और next tutorials में हम while और do while loop के बारे में सीखेंगे.
for loop क्या है और for loop कैसे काम करता है?
मुझे personally ये लगता है की अगर students को for loop समझ आ जाए तो उन्हें while और do while loop समझने में ज्यादा time नहीं लगता है और इसलिए हम सबसे पहले for loop का use सीख रहें हैं.
for loop एक entry controlled loop है यानी for loop के अंदर के statements execute होने से पहले ही condition चेक हो जाती है और जब तक ये condition true होती रहती है for loop के अंदर के statements run होते रहते हैं.
for loop को कैसे काम करता है उसके लिए आपको बस नीचे दिए गये syntax और उसकी explanation को समझना है.
for loop syntax execution process:
Initialization: for loop की शुरुआत होती है variable initialization के साथ यानी इस expression में variable को initial value assign की जाती है और ये step सिर्फ एक बार ही execute होता है.
for loop Initialization examples:
i = 0; num = 25; n = 1;
Condition: Variable initialization के बाद for loop में दूसरा step होता है condition check होने का. Condition expression के लिए हम ज्यादातर relational operators का use करते हैं.
for loop कितनी बार चलेगा ये condition expression पर ही depend करता है. जब तक for loop की condition true होती रहेगी तब तक loop के अंदर के statements चलते रहेंगे.
लेकिन जब for loop की condition false हो जाएगी तब for loop जा चलना रुक जाएगा और program का control loop के बहार चला जाएगा.
for loop condition examples:
i<=10; num >= 5; i <= n; x != 5
Increment/Decrement:
जब for loop की condition true हो जाती है तो program का flow loop के अंदर चला जाता है और फिर loop के अंदर के सभी statements run होते है.
जब for loop के सभी statements run हो जाते तब program का control loop के बहार नहीं आता है बल्कि वो जाता है increment और decrement expression पर.
इस step को हम variable updation भी बोलते हैं क्योंकि इस step में variable को value में increment या decrement करके उसे update किया जाता है.
अगर आप इस step में variable की value में सिर्फ 1 number कम या ज्यादा करना चाहते हो आप उसके लिए increment and decrement का use कर सकते हो.
अगर आप variable के value में 1 number से ज्यादा value update करना चाहते हो तो आप assignment operator का use कर सकते हो.
for loop increment and decrement examples:
i++; x--; n = n + 2; i = i - 3;
Variable में increment या decrement करने बाद for loop का flow फिर से condition वाले step पर जाता है और condition true होने पर फिर से statements run होते है.
Statements run होने के बाद फिर से increment या decrement और इसी तरह से for loop चलता रहता है जब तक for loop की condition false नहीं हो जाती.
for loop example program:
#include <stdio.h>
int main()
{
int i;
for(i=1;i<=5;i++)
{
printf("%d ",i);
}
return 0;
}
Output:
1 2 3 4 5
Explanation:
Step 1: सबसे पहले हमने variable i को value 1 initialize की.
Step 2: अब हमने ये condition चेक की क्या variable i की value 5 से कम या उसके बराबर है. अब क्योंकि i की value 1 है इसलिए हमारी condition (1<=5) true हो जाएगी.
Step 3: Condition true होते ही program का flow loop की body में चला जाएगा और printf function की help से variable i की value print हो जाएगी.
Step 4: जब for loop की body का statement run हो जाएगा तो program का flow जाएगा updation पर जहाँ पर हमने variable i की value को 1 number से increment किया है.
variable i की value पहले 1 थी जो अब increment होकर 2 हो जाएगी और उसके बाद फिर से program का flow step 2 पर जाएगा और condition को चेक करेगा की क्या variable i की value 5 से कम या उसके बराबर है.
अब क्योंकि i की value 2 है इसलिए हमारी condition (2<=5) फिर से true हो जाएगी और फिर से हमारे program का flow step 3 पर जाएगा और फिर step 4 पर.
ये repetition तब तक होता रहेगा जब step 2 पर condition false नहीं हो जाती और ये तब होगा जब i की value 5 से increment होकर 6 हो जाएगी और step 2 पर condition (6<=5) false हो जाएगी.
Loops से related कुछ अन्य important points
infinite loop
जैसा की आप जानते ही होंगे की infinite का हिंदी मतलब होता है अनंत यानी कभी न खत्म होने वाला.
अब आप सोचिए अगर आपका loop (for, while, do while) भी ऐसा हो जिसकी condition कभी false ही ना हो और उसके statements repeat होते रहे ऐसे loop को हम infinite loop कहते हैं.
जब भी आप loop use करते हो तो सबसे जरूरी होता है उसकी condition define करना क्योंकि अगर आपने condition को define करते वक्त अधिक ध्यान नहीं दिया तो आपका loop infinte loop बन जाएगा.
मैंने नीचे कुछ infinite loop के examples को समझाया है.
for( i=1; i<=5; i-- )
Loop की शुरुआत में हमने variable i की value 1 initialize की है अब इसके बाद जब condition (1<=5) check होगी तो true हो जाएगा और program का control loop के अंदर चला जाएगा.
Loop एक statements run करने बाद जब variable i की value decrement होगी तो उसकी value 1 से 0 हो जाएगा और फिर से condition (0<=5) चेक होगी और true हो जाएगा.
इसी तरह से variable i की value एक-एक करके decrement (0 से -1, -2, -3, … ) होने की वजह से हमेशा less than 5 रहेगी और जिसकी वजह से loop की condition कभी भी false नहीं होगी.
for( i=10; i>=1; i++ )
इस example में variable i की value एक-एक करके increment (10 से 11, 12, 13, … ) होने की वजह से हमेशा greater than 1 रहेगी और जिसकी वजह से loop की condition कभी भी false नहीं होगी.
Expression inside for Loop
for loop को use करते वक्त आप अपनी आवश्यकता अनुसार loop में multiple initialization, condition और updation कर सकते हैं.
for loop में एक से ज्यादा initialization, condition और updation करते वक्त कुछ rules follow करते हैं जिनकी list मैंने नीचे दी है.
- जब एक साथ एक से ज्यादा variable initialization या updation करें तो उनको separate करने के लिए comma( , ) का use करते हैं.
- जब एक साथ एक से ज्यादा condition define करें तो उनको separate करने के लिए AND ( && ) या OR ( || ) logical operators का use करते हैं.
for( i=1, j=1; i<=5 && j<=5; i++, j++ )
इसके अलावा for loop को use करते वक्त आप अपनी आवश्यकता अनुसार loop में initialization, condition या updation expression को skip कर सकते हैं.
इन तीनों में से कुछ भी skip करते वक्त ये जरूर ध्यान रखें की आपको उसका semicolon (;) skip नहीं करना है.
जैसे की आप for loop में initialization part skip करना चाहते हो तो आपको condition से पहले semicolon (;) लगाना ही पड़ेगा.
for( ; i<=5; i++ )
ऐसे ही अगर आप for loop में updation part skip करना चाहते हो तो आपको condition के बाद semicolon (;) लगाना ही पड़ेगा.
for( i=1; i<=5; )
What’s Next: इस tutorial में हमने C For Loop के बारे में पढ़ा. Next tutorial में हम C programming में While Loop का use करना सीखेंगे.