C Looping

Introduction to C Language Looping

यदि मै आपसे कहुँ की आपको C language in Hindi 10 बार print करवाना है तो ऐसा आप किस तरह करेंगे? सामान्यतया: ऐसा करने के लिए आप 10 printf() statements लिखेंगे। ये एक बेकार approach है। ऐसा करने से programmer का time और computer की memory waste होती है।

C language में आपको loops provide किये गए है। Loops की मदद से आप एक ही statement को बार बार execute करवा सकते है। हर तरह का loop एक block provide करता है जिसमे वो statements लिखे जाते है जिन्हें आप एक से ज्यादा बार execute करवाना चाहते है।

Loop 3 चीज़ों से मिलकर बना होता है।

  • Initial variable – ये वो variable होता है जँहा से आप loop को start करते है। ये एक integer variable होता है। इस variable को तब तक increment किया जाता है जब तक की दी गयी condition false ना हो जाये। इस variable को loop की condition में include किया जाता है।
  • Condition – ये वो condition होती है जो loop को control करती है। जब तक ये condition true रहती है loop execute होता रहता है। जैसे ही ये condition false होती है loop terminate हो जाता है।
  • Increment – आप कितने number से या कैसे initial variable/condition को increment करना चाहते है ये increment part में define किया जाता है।

C language आपको 3 तरह के loops प्रोवाइड करती है।

  • While loop
  • Do-while loop
  • For loop

आइये अब C language में use होने वाले इन loops के बारे में detail से जानने का प्रयास करते है।

C While Loop

While एक simple loop होता है ये जब तक condition true रहती है तब तक execute होता है। Condition के false होने पर ये loop terminate हो जाता है। While loop का general syntax नीचे दिया जा रहा है।

initial variable declaration;
while(condition)
{
            //statements
           //increment
}

Condition यदि पहली बार में ही false हो तो compiler loop में enter ही नहीं होता है। Loop को totally skip कर दिया जाता है। आइये while loop को एक उदाहरण से समझने का प्रयास करते है।

#include<stdio.h>
void main()
{
   int num=1;
   /* While loop running until num is less than or equal to 10 */
   while(num<=10)
   {
         printf(“%dt”,num);
         /* Increasing num to reach the loop terminating condition */
         num++;
   }
}

ऊपर दिए गए उदाहरण में पहले num variable को 1 value के साथ set किया गया है। Loop के अंदर condition दी गयी है की जब तक num 10 से काम या 10 के बराबर ना हो loop execute होता रहे।

Loop के अंदर हर iteration में num variable की value print की जा रही है। इसके बाद num variable को increment किया जा रहा है। ये program निचे दिया गया output generate करता है।

1  2  3  4  5  6  7  8  9  10

यदि initial variable को increment ना किया जाये तो condition कभी false नहीं होगी। ऐसे में loop infinite time तक चलता जायेगा।

C Do-while Loop

Do while loop भी while loop की तरह ही होता है। लेकिन इस loop में पहले condition check होने के बजाय पहले statements execute होते है उसके बाद में condition check होती है। लेकिन ऐसा सिर्फ first time होता है। Do while loop का general syntax नीचे दिया जा रहा है।

do
{
    //statements;
   //increment;
}while(condition);

जैसे ही compiler do section में आता है तो do block के सभी statements execute कर दिए जाते है और initial variable को increment कर दिया जाता है।

इसके बाद compiler while condition को check करता है। यदि condition true होती है तो do block को वापस execute किया जाता है। लेकिन यदि condition false हो तो loop terminate करके compiler आगे बढ़ जाता है।

While की condition चाहे true हो या false do block के statements एक बार जरूर execute होते है। आइये do while loop को एक उदाहरण से समझने का प्रयास करते है।

#include<stdio.h>
void main()
{
     int num=1;

     /* Do while loop executing only once */
     do
     {
            printf(“%dn”,num);
            num++;
     }while(num>2);
    printf(“Num is not greater than 2 that is why loop terminated!!”);
}

उपर दिए गए उदाहरण में हालाँकि condition false है लेकिन फिर भी do block में दिया गया statement एक बार जरूर execute होगा। ये program निचे दिया गया output generate करता है।

1
Num is not greater than 2 that is why loop terminated!!

C For Loop

C loops में for loop सबसे ज्यादा use किया जाता है। ये loop बहुत ही easy होता है और एक single statement में define हो जाता है। इस loop का general structure नीचे दिया जा रहा है।

for(initialvariable;condition;increment)
{
       //statements
}

For loop के बारे में खास बात ये है की एक statement में तीनों elements define किये जाते है। इस loop को नीचे उदाहरण द्वारा समझाया गया है।

#include<stdio.h>
void main()
{
    int num;

        /* For loop running until num is less than or equal to 10 */
        for(num=1;num<=10;num++)
        {
              printf(“%d”,num);
        }
}

ऊपर दिया गया program निचे दिया गया output generate करता है।

1  2  3  4  5  6  7  8  9  

C Loop Control Statements

Loop control statements वे statements होते है जो किसी condition के अनुसार loop के execution को change कर देते है। ये statements loop को अपने अनुसार change करने के लिए बहुत उपयोगी होते है।

C language में available loop control statements के बारे में निचे बताया जा रहा है।

break Statement

Loop को terminate करने के लिए break statement का प्रयोग किया जाता है। जब किसी loop के अंदर break statement execute होता है तो वह loop उसी समय terminate हो जाता है और उस loop के बाद के next statement का execution शुरू हो जाता है।

C break statement का general syntax निचे दिया जा रहा है।

break;

निचे break statement का एक simple उदाहरण दिया जा रहा है।

#include<stdio.h>

void main()
{
    int i;
    for(i=1;i<=5;i++)
    {
           if(i==3)
           {
                  printf(“Loop Terminated…”);
                  /* Break statement terminating third iteration of loop */
                  break;
           }
           printf(“%dn”,i);
    }
}

ऊपर दिए गए उदाहरण में जैसे ही loop की तीसरी iteration आती है break statement execute होता है और loop terminate हो जाता है। यह उदाहरण निचे दिया गया output generate करता है।

1
2
Loop Terminated…

continue Statement

C language में continue statement loop की किसी iteration को skip करने के लिए प्रयोग किया जाता है। उदाहरण के लिए आप चाहते है की loop की तीसरी iteration execute ना हो तो उसके लिए आप condition द्वारा third iteration detect करके continue statement द्वारा उसे skip कर सकते है।

C continue statement का general syntax निचे दिया जा रहा है।

continue;

निचे continue statement का एक simple उदाहरण दिया जा रहा है।

#include<stdio.h>

void main()
{
    int i;
    for(i=1;i<=5;i++)
    {
          if(i==3)
          {
                printf(“Third iteration skipped…n”);
                /* Skipping third loop iteration using continue statement */
                continue;
          }
          printf(“%dn”,i);
    }
}

ऊपर दिया गया उदाहरण निचे दिया गया output generate करता है।

1
2
Third iteration skipped…
4
5

goto Statement

C language में goto statement program के अंदर एक जगह से दूसरी जगह jump करने के लिए प्रयोग किया जाता है। यह jump define किये गए label पर किया जाता है।

C goto statement का general syntax निचे दिया जा रहा है।

...
...
goto label-name;
...
...
label-name:
...
...

जैसा की आप ऊपर दिए गए syntax में देख सकते है label को define करने के लिए label का नाम लिखकर colon (:) लगाया जाता है। Label पर jump करने के लिए goto statement के बाद label का नाम लिखा जाता है।

निचे goto statement को एक simple उदाहरण द्वारा समझाया जा रहा है।

#include<stdio.h>

void main()
{
    printf(“I don’t want to print Hello. Jumping…n”);
    /* Going to hi label */
    goto hi;
    printf(“Hellon”);

    /* label from where execution will start */
    hi:
    printf(“Hin”);
}

ऊपर दिया गया उदाहरण निचे दिया गया output generate करता है।

I don’t want to print Hello. Jumping…
Hi