C में लूप: For, While, Do While लूपping कथन [उदाहरण]

⚡ स्मार्ट सारांश

सी में लूप स्टेटमेंट के एक ब्लॉक को तब तक दोहराते हैं जब तक कि एक नियंत्रण स्थिति गलत नहीं हो जाती, और भाषा प्रवेश और निकास नियंत्रित दोहराव के लिए तीन संरचनाएं प्रदान करती है - व्हाइल लूप, डू-व्हाइल लूप और फॉर लूप।

  • 🔁 लूप की संरचना: प्रत्येक C लूप में दोहराए जाने वाले कथनों के एक समूह को एक नियंत्रण स्थिति के साथ जोड़ा जाता है जो यह तय करती है कि दोहराव कब रुकेगा।
  • 🚪 प्रवेश बनाम निकास: एंट्री-नियंत्रित while और for लूप पहले स्थिति का परीक्षण करते हैं, जबकि एग्जिट-नियंत्रित do-while लूप हमेशा अपने बॉडी को एक बार चलाता है।
  • ♻️ While लूप: while लूप प्रत्येक पास से पहले अपनी स्थिति की जांच करता है, जो उन मामलों के लिए उपयुक्त है जहां पुनरावृति की संख्या पहले से ज्ञात नहीं होती है।
  • 🔂 डू-व्हाइल लूप: डू-व्हाइल लूप परीक्षण से पहले बॉडी को निष्पादित करता है, इसलिए यह सुनिश्चित करता है कि स्थिति गलत होने पर भी यह एक बार चले।
  • 🔢 पाश के लिए: फॉर लूप आरंभीकरण, शर्त और अद्यतन को एक ही पंक्ति में समेट लेता है, जो एक निश्चित सीमा के माध्यम से गिनती करने के लिए आदर्श है।
  • विराम लें और जारी रखें: ब्रेक स्टेटमेंट लूप से तुरंत बाहर निकल जाता है, जबकि कंटिन्यू स्टेटमेंट लूप को छोड़े बिना अगले चरण पर चला जाता है।

C में लूप: For, While, Do While लूपping वक्तव्य

सी में लूप क्या है?

अस्तरping C में स्टेटमेंट्स एक दूसरे के क्रम को तब तक दोहराते हैं जब तक कि निर्दिष्ट शर्त गलत न हो जाए। C में लूप के दो भाग होते हैं: लूप का बॉडी और कंट्रोल स्टेटमेंट। कंट्रोल स्टेटमेंट कुछ शर्तों का संयोजन होता है जो लूप के बॉडी को तब तक निष्पादित करने का निर्देश देता है जब तक कि निर्दिष्ट शर्त गलत न हो जाए। C लूप का उद्देश्य एक ही कोड को कई बार दोहराना है।

सी में लूप के प्रकार

प्रोग्राम में नियंत्रण कथन की स्थिति के आधार पर,ping सी भाषा में स्टेटमेंट को दो प्रकारों में वर्गीकृत किया गया है:

  1. प्रवेश नियंत्रित लूप
  2. निकास नियंत्रित लूप

C भाषा में एंट्री कंट्रोल लूप में, लूप के बॉडी को निष्पादित करने से पहले एक कंडीशन की जाँच की जाती है। इसे प्री-चेकिंग लूप भी कहा जाता है।

एग्जिट कंट्रोल्ड लूप में, लूप के बॉडी को निष्पादित करने के बाद एक कंडीशन की जाँच की जाती है। इसे पोस्ट-चेकिंग लूप भी कहा जाता है।

सी में लूप के प्रकार

नमूना लूप

नियंत्रण शर्तें अच्छी तरह से परिभाषित और निर्दिष्ट होनी चाहिए, अन्यथा लूप अनंत बार चलता रहेगा। जो लूप लगातार चलता रहता है और स्टेटमेंट को बार-बार प्रोसेस करता है, उसे अनंत लूप कहते हैं। अनंत लूप को "अंतहीन लूप" भी कहा जाता है। अनंत लूप की कुछ विशेषताएं निम्नलिखित हैं:

  1. समाप्ति की कोई शर्त निर्दिष्ट नहीं है।
  2. निर्धारित शर्तें कभी पूरी नहीं होतीं।

निर्दिष्ट शर्त यह निर्धारित करती है कि लूप बॉडी को निष्पादित किया जाए या नहीं।

'सी' प्रोग्रामिंग भाषा हमें तीन प्रकार के लूप निर्माण प्रदान करती है:

  1. while लूप
  2. डू-व्हाइल लूप
  3. फॉर लूप
क्रमांक। पाश प्रकार विवरण
1. घुमाव के दौरान while loop में, loop की body को प्रोसेस करने से पहले condition का मूल्यांकन किया जाता है। अगर condition true है तो और केवल तभी loop की body को निष्पादित किया जाता है।
2. डू-व्हाइल लूप Do…while लूप में, कंडीशन हमेशा लूप की बॉडी के बाद निष्पादित होती है। इसे एग्जिट-कंट्रोल्ड लूप भी कहा जाता है।
3. पाश के लिए एक फ़ॉर लूप में, प्रारंभिक मान की जाँच केवल एक बार की जाती है, फिर प्रत्येक पुनरावृति के बाद स्थिति की जाँच की जाती है और काउंटर की तुलना एक निश्चित मान से की जाती है, और फिर लूप रुक जाता है।ping जब false रिटर्न होता है तो for लूप काम करना बंद कर देता है।

जबकि C . में लूप

व्हाइल लूप सबसे सरल लूप हैping संरचना। सी प्रोग्रामिंग भाषा में व्हाइल लूप का सिंटैक्स इस प्रकार है:

C में While Loop का सिंटैक्स

while (condition) {
             statements;
}

यह एक एंट्री-नियंत्रित लूप है। While लूप में, लूप के बॉडी को प्रोसेस करने से पहले कंडीशन का मूल्यांकन किया जाता है। यदि कंडीशन सत्य है, तो और केवल तभी लूप के बॉडी को निष्पादित किया जाता है। लूप के बॉडी के निष्पादित होने के बाद नियंत्रण फिर से शुरुआत में वापस चला जाता है, और कंडीशन की जाँच की जाती है यदि यह सत्य है, तो वही प्रक्रिया तब तक निष्पादित होती है जब तक कंडीशन गलत नहीं हो जाती। एक बार जब कंडीशन गलत हो जाती है, तो नियंत्रण लूप से बाहर चला जाता है।

लूप से बाहर निकलने के बाद, नियंत्रण उन कथनों पर जाता है जो लूप के तुरंत बाद होते हैं। लूप के मुख्य भाग में एक से अधिक कथन हो सकते हैं। यदि इसमें केवल एक कथन है, तो कर्ली ब्रेसेज़ अनिवार्य नहीं हैं। हालाँकि, कर्ली ब्रेसेज़ का उपयोग करना एक अच्छा अभ्यास है, भले ही हमारे पास मुख्य भाग में एक ही कथन हो।

while loop में, अगर condition true नहीं है, तो loop की body एक बार भी निष्पादित नहीं होगी। do while loop में यह अलग है जिसे हम जल्दी ही देखेंगे।

निम्नलिखित प्रोग्राम C प्रोग्रामिंग उदाहरण में while लूप को दर्शाता है:

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	while(num<=10)	//while loop with condition
	{
		printf("%d\n",num);
		num++;		//incrementing operation
	}
	return 0;
}

आउटपुट:

1
2
3
4
5
6
7
8
9
10

उपरोक्त प्रोग्राम while loop के उपयोग को दर्शाता है। उपरोक्त प्रोग्राम में, हमने while loop का उपयोग करके 1 से 10 तक की संख्याओं की श्रृंखला को प्रिंट किया है।

जबकि C . में लूप

सी प्रोग्रामिंग में While लूप

  1. हमने एक आरंभ किया है परिवर्तनशील num नाम के एक वेरिएबल का मान 1 है। हम 1 से 10 तक की संख्याएँ प्रिंट करने जा रहे हैं, इसलिए वेरिएबल को 1 मान से इनिशियलाइज़ किया गया है। यदि आप 0 से प्रिंट करना चाहते हैं, तो इनिशियलाइज़ेशन के दौरान 0 मान असाइन करें।
  2. while लूप में, हमने एक शर्त (num<=10) प्रदान की है, जिसका अर्थ है कि लूप बॉडी को तब तक निष्पादित करेगा जब तक num का मान 10 नहीं हो जाता। उसके बाद, लूप समाप्त हो जाएगा, और नियंत्रण लूप के बाहर हो जाएगा।
  3. लूप के मुख्य भाग में, हमारे पास अपना नंबर प्रिंट करने के लिए एक प्रिंट फ़ंक्शन और लूप के प्रत्येक निष्पादन के लिए मान बढ़ाने के लिए एक वृद्धि ऑपरेशन होता है। num का प्रारंभिक मान 1 है, निष्पादन के बाद, यह 2 हो जाएगा, और अगले निष्पादन के दौरान, यह 3 हो जाएगा। यह प्रक्रिया तब तक जारी रहेगी जब तक कि मान 10 न हो जाए और फिर यह कंसोल पर श्रृंखला प्रिंट करेगा और लूप को समाप्त कर देगा।

'\n' का उपयोग फॉर्मेटिंग के लिए किया जाता है, जिसका अर्थ है कि मान नई पंक्ति पर मुद्रित होगा।

C में Do-While लूप

C में do…while लूप while लूप के समान ही होता है, सिवाय इसके कि कंडीशन हमेशा लूप की बॉडी के बाद निष्पादित होती है। इसे एक्जिट-नियंत्रित लूप भी कहा जाता है।

सी प्रोग्रामिंग भाषा में do while loop का सिंटैक्स इस प्रकार है:

C में Do-While लूप का सिंटैक्स

 do {
  statements
} while (expression);

जैसा कि हमने while loop में देखा, body तभी निष्पादित होती है जब और केवल तभी जब condition true हो। कुछ मामलों में, हमें loop की body को कम से कम एक बार निष्पादित करना पड़ता है, भले ही condition false हो। इस प्रकार का ऑपरेशन do-while loop का उपयोग करके प्राप्त किया जा सकता है।

Do-while लूप में, लूप की बॉडी हमेशा कम से कम एक बार निष्पादित होती है। बॉडी के निष्पादित होने के बाद, यह कंडीशन की जांच करता है। यदि कंडीशन सत्य है, तो यह फिर से लूप की बॉडी को निष्पादित करेगा अन्यथा नियंत्रण लूप से बाहर स्थानांतरित हो जाता है।

While लूप के समान, जब नियंत्रण लूप से बाहर चला जाता है तो लूप के तुरंत बाद के कथन निष्पादित हो जाते हैं।

while और do-while लूप के बीच महत्वपूर्ण अंतर यह है कि while लूप में while को शुरुआत में लिखा जाता है। do-while लूप में while कंडीशन को अंत में लिखा जाता है और सेमी-कोलन (;) के साथ समाप्त होता है।

C में निम्नलिखित लूप प्रोग्राम do-while लूप की कार्यप्रणाली को दर्शाता है:

नीचे C उदाहरण में संख्या 2 की तालिका मुद्रित करने के लिए do-while लूप दिया गया है:

#include<stdio.h>
#include<conio.h>
int main()
{
	int num=1;	//initializing the variable
	do	//do-while loop 
	{
		printf("%d\n",2*num);
		num++;		//incrementing operation
	}while(num<=10);
	return 0;
}

आउटपुट:

2
4
6
8
10
12
14
16
18
20

ऊपर दिए गए उदाहरण में, हमने do-while लूप का उपयोग करके 2 की गुणन सारणी प्रिंट की है। आइए देखें कि प्रोग्राम किस तरह से श्रृंखला प्रिंट करने में सक्षम था।

C में Do-While लूप

सी प्रोग्रामिंग में डू-व्हाइल लूप

  1. सबसे पहले, हमने एक वेरिएबल 'num' को मान 1 के साथ आरंभीकृत किया है। फिर हमने एक do-while लूप लिखा है।
  2. लूप में, हमारे पास एक प्रिंट फ़ंक्शन है जो num के मान को 2 से गुणा करके श्रृंखला को प्रिंट करेगा।
  3. प्रत्येक वृद्धि के बाद, num का मान 1 से बढ़ जाएगा, और यह स्क्रीन पर प्रिंट हो जाएगा।
  4. शुरुआत में, num का मान 1 है। लूप के किसी भाग में, प्रिंट फ़ंक्शन इस तरह से निष्पादित किया जाएगा: 2*num जहाँ num=1 है, फिर 2*1=2 इसलिए मान दो प्रिंट किया जाएगा। यह तब तक चलता रहेगा जब तक num का मान 10 नहीं हो जाता। उसके बाद लूप समाप्त हो जाएगा और लूप के तुरंत बाद वाला कथन निष्पादित किया जाएगा। इस मामले में 0 लौटाएँ।

C में फॉर लूप

'C' प्रोग्रामिंग में फ़ॉर लूप एक अधिक कुशल लूप संरचना है। C में फ़ॉर लूप सिंटैक्स की सामान्य संरचना इस प्रकार है:

C में फॉर लूप का सिंटैक्स

for (initial value; condition; incrementation or decrementation ) 
{
  statements;
}
  1. फॉर लूप का प्रारंभिक मान केवल एक बार निष्पादित किया जाता है।
  2. यह शर्त एक बूलियन अभिव्यक्ति है जो प्रत्येक पुनरावृति के बाद काउंटर की जांच करती है और उसकी तुलना एक निश्चित मान से करती है, और फिर रुक जाती है।ping जब false रिटर्न होता है तो for लूप काम करना बंद कर देता है।
  3. वृद्धि/कमी काउंटर को एक निर्धारित मान से बढ़ाती (या घटाती) है।

निम्नलिखित प्रोग्राम C प्रोग्रामिंग उदाहरण में for loop को दर्शाता है:

#include<stdio.h>
int main()
{
	int number;
	for(number=1;number<=10;number++)	//for loop to print 1-10 numbers
	{
		printf("%d\n",number);		//to print the number
	}
	return 0;
}

आउटपुट:

1
2
3
4
5
6
7
8
9
10

उपरोक्त प्रोग्राम for loop का उपयोग करके 1-10 तक की संख्या श्रृंखला को प्रिंट करता है।

C में फॉर लूप

सी प्रोग्रामिंग में फॉर लूप

  1. हमने मानों को संग्रहीत करने के लिए int डेटा प्रकार का एक चर घोषित किया है।
  2. फॉर लूप में, इनिशियलाइज़ेशन भाग में, हमने वेरिएबल नंबर को 1 मान दिया है। कंडीशन भाग में, हमने अपनी कंडीशन और फिर इंक्रीमेंट भाग निर्दिष्ट किया है।
  3. लूप के मुख्य भाग में, हमारे पास कंसोल में नई लाइन पर संख्याओं को प्रिंट करने के लिए एक प्रिंट फ़ंक्शन है। हमारे पास number में संग्रहीत मान एक है, पहले पुनरावृत्ति के बाद मान में वृद्धि होगी, और यह 2 हो जाएगा। अब variable number का मान 2 है। शर्त की फिर से जाँच की जाएगी और चूँकि शर्त सत्य है, इसलिए loop निष्पादित होगा, और यह स्क्रीन पर दो प्रिंट करेगा। यह loop तब तक निष्पादित होता रहेगा जब तक variable का मान 10 नहीं हो जाता। उसके बाद, loop समाप्त हो जाएगा, और स्क्रीन पर 1-10 की एक श्रृंखला प्रिंट हो जाएगी।

C में, for लूप के प्रत्येक भाग में अल्पविराम द्वारा अलग किए गए एकाधिक अभिव्यक्तियाँ हो सकती हैं।

उदाहरण के लिए:

for (x = 0, y = num; x < y; i++, y--) { 
  statements; 
}

इसके अलावा, हम अर्धविराम जोड़कर प्रारंभिक मान अभिव्यक्ति, शर्त और/या वृद्धि को छोड़ सकते हैं।

उदाहरण के लिए:

int i=0;
int max = 10;
for (; i < max; i++) {
  printf("%d\n", i);
}

ध्यान दें कि लूप को नेस्ट भी किया जा सकता है जहाँ एक बाहरी लूप और एक आंतरिक लूप होता है। बाहरी लूप के प्रत्येक पुनरावृत्ति के लिए, आंतरिक लूप अपने पूरे चक्र को दोहराता है।

फॉर लूप में कई शर्तों के साथ निम्नलिखित उदाहरण पर विचार करें, जो गुणन तालिका आउटपुट करने के लिए C प्रोग्रामिंग में नेस्टेड फॉर लूप का उपयोग करता है:

#include <stdio.h>
int main() {
int i, j;
int table = 2;
int max = 5;
for (i = 1; i <= table; i++) { // outer loop
  for (j = 0; j <= max; j++) { // inner loop
    printf("%d x %d = %d\n", i, j, i*j);
  }
  printf("\n"); /* blank line between tables */
}}

आउटपुट:

1 x 0 = 0
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
1 x 5 = 5

2 x 0 = 0
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10

फ़ॉर लूप्स में किसी भी स्तर तक नेस्टिंग की जा सकती है। कोड को पठनीय बनाने के लिए नेस्टेड लूप्स को उचित रूप से इंडेंट किया जाना चाहिए। 'सी' के कुछ संस्करणों में नेस्टिंग 15 लूप्स तक सीमित है, लेकिन कुछ में इससे अधिक की सीमा होती है।

नेस्टेड लूप्स का उपयोग ज्यादातर ऐरे अनुप्रयोगों में किया जाता है जिसे हम आगे के ट्यूटोरियल में देखेंगे।

तीन प्रकार के लूप के अलावा, C में दो ऐसे स्टेटमेंट भी हैं जो लूप के चलने के तरीके को अंदर से बदल देते हैं।

C में ब्रेक स्टेटमेंट

ब्रेक स्टेटमेंट का प्रयोग मुख्यतः किया जाता है स्विच कथनयह तुरंत रोकने के लिए भी उपयोगी है।ping एक लूप।

हम निम्नलिखित प्रोग्राम पर विचार करते हैं जो while लूप से बाहर निकलने के लिए break प्रस्तुत करता है:

#include <stdio.h>
int main() {
int num = 5;
while (num > 0) {
  if (num == 3)
    break;
  printf("%d\n", num);
  num--;
}}

आउटपुट:

5
4

C में Continue कथन

जब आप अगले पुनरावृत्ति पर जाना चाहते हैं लेकिन लूप में बने रहना चाहते हैं, तो आपको continue कथन का उपयोग करना चाहिए।

उदाहरण के लिए:

#include <stdio.h>
int main() {
int nb = 7;
while (nb > 0) {
  nb--;
  if (nb == 5)
    continue;
 printf("%d\n", nb);
}}

आउटपुट:

6
4
3
2
1

अतः, मान 5 छोड़ दिया गया है।

कौन सा लूप चुनें?

लूप का चयन करना हमेशा एक प्रोग्रामर के लिए कठिन कार्य होता है, लूप का चयन करने के लिए निम्नलिखित चरण करें:

  1. समस्या का विश्लेषण करें और जाँचें कि क्या इसके लिए पूर्व-परीक्षण या पश्च-परीक्षण लूप की आवश्यकता है।
  2. यदि पूर्व-परीक्षण आवश्यक हो, तो while या for लूप का उपयोग करें।
  3. यदि पोस्ट-टेस्ट आवश्यक हो तो do-while लूप का उपयोग करें।

अक्सर पूछे जाने वाले प्रश्न

एक अनंत लूप तब तक चलता रहता है जब तक उसकी शर्त कभी गलत नहीं होती। इसे रोकने के लिए, लूप के मुख्य भाग में लूप वेरिएबल को अपडेट करते रहें और सुनिश्चित करें कि शर्त अंततः पूरी हो सकती है, या सुरक्षा उपाय के रूप में ब्रेक स्टेटमेंट जोड़ें।

ब्रेक स्टेटमेंट लूप को पूरी तरह से रोक देता है और कंट्रोल को इसके बाद वाले पहले स्टेटमेंट पर ले जाता है। कंटिन्यू स्टेटमेंट केवल वर्तमान चरण के शेष स्टेटमेंट को छोड़ देता है और लूप के अगले चक्र पर चला जाता है।

स्टैंडर्ड C में for-each या range-based loop जैसे कोई अंतर्निहित फ़ंक्शन नहीं हैं। C++ or Pythonआप एक इंडेक्स या पॉइंटर का उपयोग करके, फॉर या व्हाइल लूप के साथ मैन्युअल रूप से एक ऐरे को इटरेट करते हैं, जो प्रत्येक एलिमेंट से होकर गुजरता है।

नहीं। goto स्टेटमेंट एक लेबल वाली लाइन पर बिना शर्त जंप करता है और लू की नकल कर सकता है।pingलेकिन यह एक संरचित लूप नहीं है। for, while या do-while का उपयोग करने से कोड कहीं अधिक पठनीय रहता है।

कॉमा ऑपरेटर की मदद से एक ही फॉर लूप में कई वेरिएबल्स को एक साथ मैनेज किया जा सकता है। उदाहरण के लिए, for (x = 0, y = n; x < y; x++, y–) लूप में, इनिशियलाइज़ेशन और अपडेट सेक्शन दोनों ही हर पास में दो एक्सप्रेशन चलाते हैं।

हाँ। कोष्ठकों के अंदर तार्किक AND (&&) और OR (||) ऑपरेटरों के साथ शर्तों को संयोजित करें। उदाहरण के लिए, while (a < 10 && b > 0) < 10 > ...ping केवल तभी जब दोनों शर्तें सही हों।

जी हां। एआई कोडिंग सहायक एक साधारण विवरण से while, do-while और for लूप तैयार कर सकते हैं, एक-एक की चूक की त्रुटियों का पता लगा सकते हैं और उन स्थितियों को चिह्नित कर सकते हैं जो हमेशा चलती रह सकती हैं। Revआउटपुट देखना अभी भी आवश्यक है, क्योंकि उत्पन्न लॉजिक हमेशा सही नहीं होता है।

गिटहब कोपिलॉट टाइप करते समय यह संपूर्ण लूप बॉडी का सुझाव देता है, काउंटर और शर्तों को स्वतः पूर्ण करता है, और एक संक्षिप्त टिप्पणी से नेस्टेड-लूप पैटर्न का सुझाव देता है। यह लोकप्रिय संपादकों के भीतर काम करता है और बार-बार किए जाने वाले सी कोडिंग को गति प्रदान करता है।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: