Continue Statement
Continue Statement
इस
Statement
का प्रयोग तब किया जाता है जब हम किसी खास परिस्थिति में Loop
के किसी दोहराने में Block के Statements
को Execute करना नहीं चाहते हैं |
ध्यान
दें कि जहां break का प्रयोग Program Control
को Loop से ही बाहर निकाल देता वहां Continue
का प्रयोग हमें Loop से बाहर नहीं निकालता
बल्कि केवल उस Condition के सत्य होने पर मात्र पर हमें Loop
के उस Iteration से बाहर निकालता है |
निचे
break
व Continue Statement के प्रयोग से प्रोग्राम
बनाया गया है जिससे इन्हें आसानी से समझा जा सकता है |
/*Use of Break and Condition Statement */
#include<stdio.h>
main()
{
int a;
for(a=1; a<=20; a++)
{
if(a==10)
break;
printf("\t%d",a);
}
printf("\n");
for(a=1; a<10; a++)
{
if(a==10)
continue;
printf("\t%d",a);
}
getch();
}
इस
प्रोग्राम का Output ऊपर बताए अनुसार प्राप्त होता है
| हम देखते हैं कि
दोनों ही for Loop में if Condition एक समान प्रयोग की गई है लेकिन पहले Loop में जब a
का मान Increase हो कर 10 होता है , तब if Condition सत्य हो जाती है और Program
Control को break Statement मिलती है , जिससे Program
, Control Loop का Execution वहीं पर छोड़ देता
है और Loop आगे नहीं बढता |
जबकि
दूसरे Loop
में जब a का मान 10 होता
है , तो Program Control Loop के इस दसवें Iteration को Skip कर देता है यानी Loop के
printf Statement को Execute नहीं होने
देता , और Program Control को पुनः Loop के शुरुआत में अगले Iteration के लिए लेकर चला जाता
है |
इस
प्रकार ये Statement Loop के दसवें Iteration
के मान 10 को Print नहीं
करता लेकिन 11 से 20 तक के अंकों को Print
कर देता है | जबकि
break
Condition में Loop केवल 1 से 9 तक के ही अंकों को Print करता
है शेष को छोड़ देता है |
Output
1 2
3 4 5
6 7 8 9
1 2
3 4 5
6 7 8 9
11
12 13 14 15 16 17 18 19 20
चलिए
, अब हम एक Program बनाते हैं , जिसमें User
जितने Character Input करता है , Program
उन Input किया गए Characters को कुल संख्या Output में Display करता है |
#include<stdio.h>
#include<conio.h>
main()
{
long numberOfCharacters = 0;
printf("Enter characters how much you want. ");
while(getchar()!='\n')
++numberOfCharacters;
printf("\n You have entered %ld Characters",numberOfCharacters);
getch();
}
इस
Program
में हमने Long Type का एक Variable
numberOfCharacter लिया है और उसमें मान 0 Initialize किया है | इस
Variable
को Long प्रकार का इसलिए लिया है , क्योंकि User
इस Variable में जितने चाहे , उतने Characters
Input कर सकता है | साथ
ही इसमें 0 इसलिए Initialize किया है , क्योंकि हम इस Variable को एक Counter
की तरह Use कर रहे हैं और Counting की शुरुआत से पहले Counter का मान हमेशा 0 होता है |
Computer
की Memory में किसी भी समय विभन्न प्रकार के
मान Store हो सकते हैं |
जब
भी हम किसी Program को Run करते
हैं , वह Program memory में कुछ Space लेता है और उसमें Store हो जाता है |
उस
Program
में विभन्न प्रकार की प्रक्रियाए होती हैं और विभन्न प्रकार की
प्रक्रियाओं को पूरा करने के लिए Computer Memory में विभन्न
प्रकार के मानों को Hold करता रहता है |
जब
Memory
में Stored उस Program से
हमारी जरुरत पूरी हो जाती है और हम Program को Terminate करते हैं , तब उस Program
द्वारा की गई Processing के लिए Memory
में लि गई Space उस Program से सम्बंधित विभन्न प्रकार के मान Program के Terminate
होने के बाद भी Memory में Stored रहते हैं |
अब
यदि हम कोई दूसरा Program Run करते हैं और वह
Program भी Memory के उसी हिस्से में
जाकर Load होता है , जहां पिछला Program Load था और हम हमारी जरुरत है के अनुसार कोई Variable Declare करते है , तो उस पिछले Program
के मान इस नए Program के Variable में भी Stored रहते हैं , जिसका हमारे Current
Program के लिए कोई उपयोग नहीं होता है |
इस
प्रकार के मान को Computer की भाषा में Garbage
Value कहा जाता है |
इसलिए
हमने हमारे इस Program में numberOfCharacters
Variable में मान 0 Store किया है , ताकि यदि
किसी पिछले Program के किसी Identifier का कोई मान इस Variable की Memory Location पर Stored हो , तो वह मान char हो जाए और इस Counter का मान 0 हो जाए |
जब
Program
Run होता है , तब एक Message Display होता है
, जो User को Characters Input करने के
लिए कहता है और Program निम्न Statement पर आकार Characters को प्राप्त करने लगता है |
while
(getchar()!=’\n’)
getchar()
Function User से कुछ Characters प्राप्त करता
है और उन्हें अपने Buffer में Store करता
है तथा पहले Character के ASCII Code को
‘\n’ Character Constant से Compare करता
है |
यदि
User
ने Enter key Press नहीं किया होता है तो Comparison
के बाद while Loop True होने की वजह से Computer
numberOfCharacters Variable को Increment कर
देता है और getchar() Function के Buffer से दूसरे Character को Read करता
है |
यदि
दूसरा Character
भी ‘\n’ Character Constant नहीं होता है , तो
while Loop फिर से True होता है और numberOfCharacters
Variable को फिर से Increment कर देता है |
ये
प्रक्रिया तब तक चलती रहती है , जब तक कि getchar() Function को अपने Buffer में ‘\n’ Character Constant प्राप्त नहीं हो जाता है |
जब
while
Loop को ये Character Constant प्राप्त होता
है , तब while Loop Terminate हो जाता है और एक printf()
Statement numberOfCharacter के मान को Screen पर Display कर देता है , जो कि Input किए गए कुल Characters की संख्या को Represent
करता है | इस
तरह से User
ने keyboard से कितने Characters Input
किए है , इसकी जानकारी Program द्वारा प्राप्त
हो जाती है | यदि
हम चाहें , तो इस Loop को निम्नानुसार Modify
कर सकते हैं :
while
(getchar()!=0)
यदि
हम पिछले Program में While Loop को इस तरह से Modify कर दें , तो getchar()
Function keyboard से प्राप्त Characters में
से तब तक Characters की Counting करता
है , जब तक कि उसे getchar()
Function के Buffer में ‘0’ प्राप्त नहीं हो जाता | हम
‘0’
के स्थान पर किसी अन्य Character के भी Specify
कर सकते है |
हम
इस स्थान पर जिस Character को Specify
करते हैं , Computer को getchar()
Function के Buffer में जब वही Character
प्राप्त होता है , getchar() Function Terminate हो जाता है | हम
इस स्थान पर एक Special Constant मान EOF
को भी Specify कर सकते हैं |
ये
एक ऐसा मान है , जो Computer को तब प्राप्त
होता है , जब User Keyboard से Ctrl+Z Key
Combination या Function Key F6 को Press करता है | यदि
हम इस Constant
को पिछले while Loop में Use करना चाहें , तो निम्नानुसार Use कर सकते हैं |
while
(getchar()!=EOF)
यदि
हम इस Constant
मान को पिछले Program के while Loop में Replace करके Program को Run
करें , तो ये Program तब तक Run होता रहता है , जब तक कि उस getchar() के Buffer
में EOF (End of File) का Signal
Combination या Function key F6 द्वारा
प्राप्त होता है |
चलिए
, हम पिछले Program को ही थोड़ा Modify करते हैं और Characters की Counting के लिए while Loop के स्थान पर for Loop के Use करते हैं |
#include<stdio.h>
#include<conio.h>
main()
{
long numberOfCharacters;
printf("Enter characters how much you want.");
for(numberOfCharacters=0; getchar()!=EOF; ++numberOfCharacters);
printf("\n You have entered %ld Character",numberOfCharacters);
getch();
}
ये
Program
भी ठीक उसी तरह काम करता है , जिस तरह पिछला Program कर रहा है , लेकिन इस Program में getchar()
Function तब तक Keyboard से Characters
Read करके अपने Buffer में Store करता रहता है , जब तक कि User Keyboard से EOF
का Signal Input नहीं करता है |
इस
Program
में हमने for Loop को थोड़ा अलग तरीके से Use
किया है | इस
Program में स्थिति ऐसी है कि Characters की Counting
के लिए हमें Loop तो चलाना है , लेकिन for
Loop की Body में Execute करने के लिए एक भी Statement की जरुरत नहीं है |
जब
किसी for
Loop की Body में एक भी Executable
Code Statement लिखने की जरुरत नहीं होती है , तब हम for
Loop को इस तरह से Use कर सकते है |
इस
Program
के for Loop को हम निम्नानुसार Empty
Body Statement के रूप में भी लिख सकते हैं |
for(numberOfCharacter=0;
getchar()!=EOF;++numberOfCharacter) { }
यदि
हम पिछले Program में ही थोड़ा सा Modification
करें , तो हम एक ऐसा Program बना सकते हैं ,
जो keyboard से Input किए गए कुल Characters
की संख्या के साथ ये भी बताए कि User ने कुल
कितनी Lines Input की है |
इस
समस्या के समाधान का Logic ये है कि किसी भी Line
का अंत तब होता है , जब Computer को ‘\n’ Character Constant प्राप्त होता है |
इस
स्थिति में जैसे ही Program को ‘\n’
Character Constant मिलता है , एक Line Counter को Increment किया जा सकता है और Program के अंत में उस Link Counter
के मान को Screen पर Display करवाया जा सकता है | Display
होने वाला ये मान Input की गई कुल Lines
की संख्या को Represent करता है |
#include<stdio.h>
#include<conio.h>
main()
{
long numberOfCharacters=0, numberOfLines=0,c;
printf("Enter characters how much you want.");
while((c=getchar())!=EOF)
{
++numberOfCharacters;
if(c=='\n')
++numberOfLines;
}
printf("\n You have entered %ld Characters", numberOfCharacters);
printf("\n You have entered %ld Lines",numberOfLines);
getch();
}
जब
ये Program
Run होता है और User Characters Input करता है
, तब Input किए गए सभी Characters getchar() Function
के Buffer में Store हो
जाते हैं | फिर Buffer
में Stored हर Character को Read किया जात है और उसकी ASCII Value को c नाम के एक Variable में Store
किया जात है |
उसके
बाद इस c
में Stored ASCII Code को EOF Constant
मान से Compare करवाया जाता है |
यदि
Variable
c में Stored ASCII Code का मान EOF के बराबर नहीं है , तो while Condition True हो जाती
है और numberOfCharacters नाम के Character Counter
Variable के मान को Increment कर दिया जाता है
| साथ ये भी check
करवाया जाता है , कि Variable c में ‘\n’
Character Constant है या नहीं |
यदि
इस Variable
में New Line Character ‘\n’ हो तो if
Condition True हो जाती है और numberOfLines नाम
के Variables का मान Increment हो जाता
है | जब getchar()
Function के Buffer में EOF Signal मिलता है , तब whle Loop
Terminate हो जाता है और Screen पर Input
किए गए कुल Characters कि संख्या व कुल Lines
की संख्या Display कर दी जाती है |
No comments