Header Ads

ad728
  • New Updates

    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

    Post Top Ad

    ad728

    Post Bottom Ad

    ad728