Loops in C++
Repeating a block of code using while, do-while and for loops.
Loops in C++
Loop एक control structure है जिसका उपयोग किसी statement या statements के block को बार-बार execute करने के लिए किया जाता है। जब किसी task को एक ही प्रकार से कई बार perform करना हो, तब loop का उपयोग किया जाता है।
Why are Loops Used?
यदि हमें किसी statement को कई बार execute करना हो, तो प्रत्येक statement को अलग-अलग लिखना inefficient (अप्रभावी) होगा। Loop की सहायता से हम एक ही block of code को multiple times execute कर सकते हैं।
उदाहरण के लिए, यदि हमें 1 से 5 तक numbers print करने हैं, तो बिना loop के हमें कई cout statements लिखने पड़ेंगे। Loop का उपयोग करके यही काम बहुत कम code में किया जा सकता है।
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i <= 5; i++)
{
cout << i << " ";
}
return 0;
}
1 2 3 4 5
Types of Loops in C++
C++ में मुख्य रूप से तीन प्रकार के loops का उपयोग किया जाता है:
- for Loop
- while Loop
- do-while Loop
| Loop | मुख्य उपयोग |
|---|---|
for Loop |
जब repetitions की संख्या पहले से ज्ञात हो |
while Loop |
जब condition के आधार पर repetition करना हो |
do-while Loop |
जब block को कम-से-कम एक बार execute करना हो |
1. for Loop
for loop का उपयोग तब किया जाता है जब यह पता हो कि किसी statement या block को लगभग कितनी बार execute करना है। इसमें initialization, condition और update एक ही जगह लिखे जाते हैं।
Syntax of for Loop
for (initialization; condition; update)
{
// statements
}
for loop में:
- Initialization: Loop variable को initial value दी जाती है।
- Condition: यह निर्धारित करती है कि loop कब तक चलेगा।
- Update: प्रत्येक iteration के बाद loop variable की value को update करता है।
Example of for Loop
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i <= 5; i++)
{
cout << i << " ";
}
return 0;
}
1 2 3 4 5
यहाँ i की शुरुआत 1 से होती है। जब तक i <= 5 true है, loop चलता रहता है। प्रत्येक iteration के बाद i++ से value 1 बढ़ती है।
Flow of a for Loop
for loop का सामान्य execution flow इस प्रकार होता है:
जब condition false हो जाती है, तो loop समाप्त हो जाता है और program loop के बाद वाली statement को execute करता है।
Example: Print Even Numbers
#include <iostream>
using namespace std;
int main()
{
for (int i = 2; i <= 10; i += 2)
{
cout << i << " ";
}
return 0;
}
2 4 6 8 10
Example: Sum of First 10 Natural Numbers
#include <iostream>
using namespace std;
int main()
{
int sum = 0;
for (int i = 1; i <= 10; i++)
{
sum = sum + i;
}
cout << "Sum = " << sum;
return 0;
}
Sum = 55
2. while Loop
while loop का उपयोग तब किया जाता है जब loop को किसी condition के true रहने तक execute करना हो। इसमें condition को loop के body से पहले check किया जाता है।
Syntax of while Loop
while (condition)
{
// statements
}
यदि शुरुआत में ही condition false है, तो while loop का body एक बार भी execute नहीं होगा। इसलिए while loop को entry-controlled loop कहा जाता है।
Example of while Loop
#include <iostream>
using namespace std;
int main()
{
int i = 1;
while (i <= 5)
{
cout << i << " ";
i++;
}
return 0;
}
1 2 3 4 5
Example: Countdown using while Loop
#include <iostream>
using namespace std;
int main()
{
int i = 5;
while (i >= 1)
{
cout << i << " ";
i--;
}
return 0;
}
5 4 3 2 1
3. do-while Loop
do-while loop में statements का block पहले execute होता है और condition बाद में check की जाती है। इसलिए do-while loop का body कम-से-कम एक बार जरूर execute होता है।
Syntax of do-while Loop
do
{
// statements
}
while (condition);
while (condition); के बाद semicolon ; लगाया जाता है।
Example of do-while Loop
#include <iostream>
using namespace std;
int main()
{
int i = 1;
do
{
cout << i << " ";
i++;
}
while (i <= 5);
return 0;
}
1 2 3 4 5
do-while Executes at Least Once
do-while और while loop के बीच एक महत्वपूर्ण अंतर यह है कि do-while loop condition false होने पर भी body को एक बार execute करता है।
#include <iostream>
using namespace std;
int main()
{
int i = 10;
do
{
cout << i;
}
while (i < 5);
return 0;
}
10
यहाँ condition i < 5 false है, फिर भी do block एक बार execute हुआ क्योंकि condition बाद में check की जाती है।
while Loop Does Not Execute if Condition is False
#include <iostream>
using namespace std;
int main()
{
int i = 10;
while (i < 5)
{
cout << i;
i++;
}
return 0;
}
No output
यहाँ condition शुरुआत में ही false है, इसलिए while loop का body execute नहीं होता।
Comparison of Loops
| for Loop | while Loop | do-while Loop |
|---|---|---|
| Initialization, condition और update एक ही statement में लिखे जाते हैं। | Initialization और update अलग-अलग लिखे जाते हैं। | Initialization और update अलग-अलग लिखे जाते हैं। |
| Condition पहले check होती है। | Condition पहले check होती है। | Condition बाद में check होती है। |
| Body zero या अधिक बार execute हो सकती है। | Body zero या अधिक बार execute हो सकती है। | Body कम-से-कम एक बार execute होती है। |
| Known number of iterations के लिए useful है। | Condition-based repetition के लिए useful है। | कम-से-कम एक execution जरूरी होने पर useful है। |
Nested Loops
जब एक loop के अंदर दूसरा loop लिखा जाता है, तो उसे Nested Loop कहा जाता है। इसमें inner loop प्रत्येक iteration में पूरा execute होता है।
Example of Nested Loop
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i <= 3; i++)
{
for (int j = 1; j <= 3; j++)
{
cout << "* ";
}
cout << endl;
}
return 0;
}
* * *
* * *
* * *
यहाँ outer loop rows को control करता है और inner loop प्रत्येक row में stars की संख्या को control करता है।
Example: Multiplication Table
#include <iostream>
using namespace std;
int main()
{
int n = 5;
for (int i = 1; i <= 10; i++)
{
cout << n << " x " << i
<< " = " << n * i << endl;
}
return 0;
}
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50
Infinite Loop
जब loop की condition कभी false नहीं होती, तो loop लगातार चलता रहता है। ऐसे loop को Infinite Loop कहा जाता है।
Example of Infinite Loop
while (true)
{
cout << "Hello";
}
ऊपर दिए गए program में condition हमेशा true है, इसलिए loop समाप्त नहीं होगा।
Loop Control Statements
C++ में loop के normal execution को control करने के लिए break और continue statements का उपयोग किया जाता है।
break Statement
break statement का उपयोग loop को तुरंत terminate (समाप्त) करने के लिए किया जाता है। जैसे ही break execute होता है, control loop के बाहर चला जाता है।
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i <= 10; i++)
{
if (i == 6)
{
break;
}
cout << i << " ";
}
return 0;
}
1 2 3 4 5
continue Statement
continue statement current iteration के remaining statements को skip करता है और loop की अगली iteration पर चला जाता है।
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i <= 5; i++)
{
if (i == 3)
{
continue;
}
cout << i << " ";
}
return 0;
}
1 2 4 5
यहाँ जब i == 3 होता है, continue execute होता है और उस iteration में cout execute नहीं होता।
Difference Between break and continue
| break | continue |
|---|---|
| पूरे loop को terminate करता है। | केवल current iteration को skip करता है। |
| Control loop के बाहर चला जाता है। | Control अगली iteration पर चला जाता है। |
| Loop को बीच में समाप्त करने के लिए उपयोग होता है। | कुछ iterations को skip करने के लिए उपयोग होता है। |
Loop with User Input
Loops का उपयोग user से repeatedly input लेने के लिए भी किया जा सकता है।
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "Enter a number: ";
cin >> n;
for (int i = 1; i <= n; i++)
{
cout << i << " ";
}
return 0;
}
Enter a number: 5
1 2 3 4 5
Example: Factorial Using Loop
Loop का उपयोग किसी number का factorial निकालने के लिए भी किया जा सकता है।
#include <iostream>
using namespace std;
int main()
{
int n = 5;
int factorial = 1;
for (int i = 1; i <= n; i++)
{
factorial = factorial * i;
}
cout << "Factorial = " << factorial;
return 0;
}
Factorial = 120
Important Points
- Loop का उपयोग statements को repeatedly execute करने के लिए किया जाता है।
- C++ में मुख्य loops
for,whileऔरdo-whileहैं। forloop known number of iterations के लिए useful है।whileloop में condition पहले check होती है।do-whileloop में condition बाद में check होती है।- do-while loop का body कम-से-कम एक बार execute होता है।
- एक loop के अंदर दूसरा loop होने पर उसे Nested Loop कहते हैं।
- यदि loop की condition कभी false नहीं होती, तो Infinite Loop बन सकता है।
breakloop को terminate करता है।continuecurrent iteration को skip करता है।
Board Focus
for → Known repetitions के लिए
while → Condition-based repetition
do-while → कम-से-कम एक बार execution
Nested Loop → Loop के अंदर Loop
break → Loop terminate करना
continue → Current iteration skip करना
Infinite Loop → Condition कभी false नहीं होती
Board Important Questions
Very Short Answer Questions
Q1. Loop क्या है?
Answer: किसी statement या block को condition के आधार पर बार-बार execute करने वाली control structure को Loop कहते हैं।
Q2. C++ में मुख्य loops कौन-कौन से हैं?
Answer: for, while और do-while C++ के मुख्य loops हैं।
Q3. for loop का क्या उपयोग है?
Answer: for loop का उपयोग सामान्यतः तब किया जाता है जब iterations की संख्या पहले से ज्ञात हो।
Q4. while loop क्या है?
Answer: while loop condition के true रहने तक statements को repeatedly execute करता है।
Q5. do-while loop की विशेषता क्या है?
Answer: do-while loop का body condition false होने पर भी कम-से-कम एक बार execute होता है।
Q6. Nested Loop क्या है?
Answer: एक loop के अंदर दूसरे loop का उपयोग Nested Loop कहलाता है।
Q7. break statement का क्या उपयोग है?
Answer: break statement loop को तुरंत terminate करने के लिए उपयोग किया जाता है।
Q8. continue statement का क्या उपयोग है?
Answer: continue statement current iteration को skip करके loop की अगली iteration पर ले जाता है।
Short Answer Questions
Q9. for और while loop में अंतर बताइए।
| for Loop | while Loop |
|---|---|
| Initialization, condition और update एक ही statement में होते हैं। | Initialization और update अलग-अलग statements में लिखे जाते हैं। |
| Known iterations के लिए अधिक convenient है। | Condition-based repetition के लिए useful है। |
Q10. while और do-while loop में अंतर बताइए।
| while Loop | do-while Loop |
|---|---|
| Condition पहले check होती है। | Condition बाद में check होती है। |
| Condition false होने पर body execute नहीं होती। | Body कम-से-कम एक बार execute होती है। |
| यह entry-controlled loop है। | यह exit-controlled loop है। |
Q11. break और continue में अंतर बताइए।
Answer: break पूरे loop को terminate कर देता है, जबकि continue केवल current iteration के remaining statements को skip करके अगली iteration पर ले जाता है।
Q12. Infinite Loop क्या है?
Answer: ऐसा loop जिसकी condition कभी false नहीं होती और जो लगातार execute होता रहता है, Infinite Loop कहलाता है।
Long Answer Questions
Q13. C++ में विभिन्न प्रकार के loops को उदाहरण सहित समझाइए।
Answer: C++ में मुख्य रूप से तीन loops होते हैं—for, while और do-while। for loop का उपयोग सामान्यतः known number of iterations के लिए किया जाता है। while loop में condition पहले check होती है और condition true रहने तक body execute होती है। do-while loop में body पहले execute होती है और condition बाद में check होती है, इसलिए इसका body कम-से-कम एक बार execute होता है।
Q14. Nested Loop क्या है? उदाहरण सहित समझाइए।
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i <= 2; i++)
{
for (int j = 1; j <= 3; j++)
{
cout << j << " ";
}
cout << endl;
}
return 0;
}
1 2 3
1 2 3
यहाँ outer loop दो बार execute होता है और प्रत्येक बार inner loop तीन बार execute होता है। इसलिए inner loop कुल छह बार execute होता है।
Q15. निम्न program का output बताइए:
#include <iostream>
using namespace std;
int main()
{
int sum = 0;
for (int i = 1; i <= 5; i++)
{
sum += i;
}
cout << sum;
return 0;
}
15
Quick Revision
- Loop: Statements को repeatedly execute करना
- for: Known iterations
- while: Condition पहले check
- do-while: Body पहले execute, condition बाद में check
- Nested Loop: Loop के अंदर Loop
- break: Loop terminate करना
- continue: Current iteration skip करना
- Infinite Loop: Condition हमेशा true रहना
Practice Questions
- Loop क्या है?
- C++ में loops के मुख्य प्रकारों के नाम लिखिए।
- for loop का syntax लिखिए।
- while loop और do-while loop में अंतर बताइए।
- Nested Loop क्या है?
- Infinite Loop क्या है?
- break और continue statements में अंतर बताइए।
- एक C++ program लिखिए जो 1 से 100 तक सभी natural numbers print करे।
- एक C++ program लिखिए जो 1 से 100 तक even numbers print करे।
- एक C++ program लिखिए जो किसी number का factorial calculate करे।
- एक C++ program लिखिए जो किसी number की multiplication table print करे।
- एक C++ program लिखिए जो 1 से 10 तक numbers का sum calculate करे।
- एक C++ program लिखिए जो nested loop की सहायता से 5 × 5 star pattern print करे।
- निम्न program का output बताइए:
for (int i = 1; i <= 5; i++) { if (i == 3) { continue; } cout << i << " "; } - निम्न program का output बताइए:
for (int i = 1; i <= 10; i++) { if (i == 6) { break; } cout << i << " "; }