Control Statements in C Language(Example)

    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:-


        #include <stdio.h>
        #include <conio.h>
        void main()
        {
           int a, x;
           for (a = 1; a <=5; a++)
           {
              for (x = 1; x <=a; x++)
              {
                 printf("* ");
              }
              printf("\n");
           }
           getch();
        }

    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 प्रिन्ट  करवाना :-


        #include <stdio.h>
        #include <conio.h>
        void main()
        {
           int a, x;
           for (a=1; a <=5; a++)
           {
              for (x=1; x <=a; x++)
              {
                 printf("%d",x);
              }
              printf("\n");
           }
           getch();
        }

    Output:-

    1
    12
    123
    1234
    12345

    Explain Example:-

    👆  ऊपर दिए गए उदाहरण में ध्यान दें कि आंतरिक लुप 1  से लेकर वेरिएबल a के मान तक चलेगा जब आंतरिक लुप  पूरा चल जाएगा तो प्रोग्राम का प्रवाह वापस बाहरी रूप  में जाकर वेरिएबल a के मान में वृद्धि कर देगा।  c  जब अगली बार चूंकि वेरिएबल a  के मान में वृद्धि हो चुकी होगी अतः आंतरिक रुप एक बार अधिक चलेगा और एक अंक अतिरिक्त प्रिंट होगा। यहां पर वेरिएबल  c का मान प्रिंट करवाया गया है। 

    Example: 👇 Output प्रिन्ट करवाना :-

    1
    01
    101
    0101
    10101


        #include <stdio.h>
        #include <conio.h>
        void main()
        {
           int a = 1, c, t;
           for (c = 1; c <= 5; c++){
              for (t = 1; t <= c; t++){
                 printf("%d", a);
                 if (a == 1){
                    a = 0;
                 }else{
                    a = 1;
                 }
              }
              printf("\n");
              if (c % 2 == 0){
                 a = 1;
              }else{
                 a = 0;
              }    
           }
           getch();    
        }    

    Output:-

    1
    01
    101
    0101
    10101

    Explain Example:-

    ऊपर दिए गए उदाहरण में बाहरी लूप  5  बार चलाया गया है, तथा लूप  के अंत होने से पहले  printf("\n")के माध्यम से पांच अलग-अलग जा रही है। आंतरिक लूप में चूंकि प्रथम बार वेरिएबल  c  की वैल्यू 1  होगी अतः लूप एक बार रन होगा। इस प्रकार यह कहा जा सकता है कि वेरिएबल c पंक्ति संख्या दर्शा  है तथा उतनी ही बार आंतरिक लूप  चल रहा है। if(a==1) के माध्यम से वेरिएबल a की वैल्यू एक बार 0 तथा अगली बार  1  की जा रही है। 

    Example: यूजर से एक नंबर का इनपुट लेकर पिरामिड प्रिंट करवाना। 👇

               *
             ***
           *****
         *******
        *********
      ***********
    *************


        #include <stdio.h>
        #include <conio.h>
        void main()
        {
           int row, b, n, totspace, totcal=1;
           printf("Enter total Number Of Rows : ");   
           scanf("%d"&n);
           for (row = 1; row <=n; row++)
           {
              totspace = (n-row);
              for (b = 1; b <=totspace; b++
              {
                 printf(" ");
              }
              for (b = 1; b <=totcal; b++)
              {
                 printf("*");
              }
          
              totcal = totcal + 2;   
              printf("\n");
           } 
           getch();
        }

    Output:-

    Enter total Number Of Rows : 7

               *
             ***
           *****
         *******
        *********
      ***********
    *************

    Explain Example:-

    👆 ऊपर दिए गए उदाहरण में यूज़र से Row की कुल संख्या इनपुट में लेते हुए उतनी ही बार चलाया गया है। इस लूप के अंदर प्रथम लूप स्पेस को प्रिंट कर रहा है तथा द्वितीय लूप स्टार  (*) को प्रिंट कर रहा है।

    Post a Comment

    0 Comments