🟢 Beginner · Lesson 14
while और do-while Loop
while Loop
while loop तब तक code block repeat करता है जब तक उसकी condition true है। इसे use करते हैं जब पहले से नहीं पता कि loop कितनी बार चलेगा।
Syntax
while (condition) { // body // variable update (infinite loop से बचने के लिए!) }
Condition पहले check होती है। अगर शुरू से false है तो body कभी execute नहीं होती।
C Language – 1 से 5
int i = 1; while (i <= 5) { printf("%d\\n", i); i++; }
1
2
3
4
5
Number Reverse करना
C Language
int num = 12345, rev = 0; while (num != 0) { rev = rev * 10 + num % 10; num /= 10; } printf("Reverse: %d\\n", rev);
Reverse: 54321
do-while Loop
do-while while जैसा है, लेकिन body कम से कम एक बार execute होती है क्योंकि condition body के बाद check होती है।
Syntax
do { // body (कम से कम एक बार चलेगा) } while (condition); // यहाँ semicolon ज़रूरी है!
C Language – Menu Program
int choice; do { printf("1. Jod\\n2. Ghatao\\n3. Exit\\nChoice: "); scanf("%d", &choice); if (choice == 3) printf("Alvida!\\n"); } while (choice != 3);
while vs do-while vs for में अंतर
| Feature | for | while | do-while |
|---|---|---|---|
| Condition check | पहले | पहले | बाद में |
| Minimum executions | 0 बार | 0 बार | 1 बार हमेशा |
| कब use करें | Count पता हो | Count नहीं पता | एक बार ज़रूर चलना हो |
सारांश
while— condition पहले check होती है; body शायद कभी न चलेdo-while— body पहले चलती है, condition बाद में; कम से कम एक बार चलती हैdo-whileमें semicolon ज़रूरी:} while (cond);- Infinite loop से बचने के लिए loop variable update करना न भूलें
अक्सर पूछे जाने वाले प्रश्न (FAQ)
C में while और do-while loop में क्या अंतर है?
while loop अपनी condition body चलाने से पहले जाँचता है, तो शुरू में condition false हो तो body कभी नहीं चलती। do-while loop condition body चलाने के बाद जाँचता है, तो body हमेशा कम-से-कम एक बार चलती है। वही निश्चित पहला run मुख्य अंतर है।for loop के बजाय while loop कब इस्तेमाल करूँ?
while loop तब इस्तेमाल करें जब पहले से पता न हो कि कितनी बार दोहराएँगे — जैसे user के "quit" टाइप करने तक input पढ़ना। for loop ज्ञात संख्या में गिनने के लिए उपयुक्त है, जहाँ counter, condition और step एक line में साफ़ बैठते हैं।C में infinite loop क्या है?
Infinite loop वह है जिसकी condition कभी false नहीं होती, तो वह हमेशा चलता है — जैसे
while (1)। कभी यह जानबूझकर होता है (events की प्रतीक्षा करता program), पर आमतौर पर यह condition वाले variable को update करना भूलने से हुआ bug होता है।क्या do-while loop हमेशा कम-से-कम एक बार चलता है?
हाँ। चूँकि
do-while loop अपनी condition body execute करने के बाद ही जाँचता है, body कम-से-कम एक बार चलती है भले condition शुरू से ही false हो। यह इसे menus और input validation के लिए आदर्श बनाता है।गलती से infinite while loop से कैसे बचें?
पक्का करें कि loop के अंदर कुछ उस variable को बदले जो condition में इस्तेमाल होता है, ताकि condition अंततः false हो जाए। Counter बढ़ाना या flag update करना भूलना अनचाहे infinite loop का सबसे आम कारण है।