फॉर स्टेटमेंट का सामान्य रूप निम्नलिखित है:
for (initialization; condition; operation) statement;
- Initialization (प्रारंभिकरण): एक असाइनमेंट स्टेटमेंट जो लूप कंट्रोल वेरिएबल को सेट करता है।
- Condition (शर्त): एक रिलेशनल एक्सप्रेशन जो निर्धारित करता है कि लूप कब समाप्त होगा।
- Operation (ऑपरेशन): यह परिभाषित करता है कि लूप वेरिएबल प्रत्येक पुनरावृत्ति में कैसे बदलता है।
- फॉर लूप में, कंडीशनल टेस्ट लूप के शीर्ष पर किया जाता है। इसका अर्थ है कि यदि शर्त गलत है तो लूप के अंदर का कोड निष्पादित नहीं हो सकता।
वेरिएशन 1: कॉमा ऑपरेटर का उपयोग
कॉमा ऑपरेटर द्वारा फॉर लूप का एक वेरिएशन संभव होता है:
for(x=0, y=0; x+y < 10; ++x);
यहां, x और y दोनों लूप को नियंत्रित करते हैं।
वेरिएशन 2: लूप परिभाषा के लापता भाग
फॉर लूप की एक दिलचस्प विशेषता यह है कि लूप परिभाषा के भाग अनुपस्थित हो सकते हैं।
for (x=0; x!=456; ) scanf ("%d", &x);
यहां, हर बार लूप दोहराने पर x का परीक्षण किया जाता है कि क्या यह 456 के बराबर है। जब 456 दर्ज किया जाता है तो लूप की शर्त गलत हो जाती है और लूप समाप्त हो जाता है।
वेरिएशन 3: अनंत लूप
यदि लूप परिभाषा के सभी भाग अनुपस्थित हैं, तो एक अनंत लूप बनता है। लूप से बाहर निकलने के लिए break स्टेटमेंट का उपयोग किया जाता है:
for(;;){
ch = getchar();
if(ch == 'A')
break;
}
वेरिएशन 4: बिना बॉडी वाले फॉर लूप
फॉर लूप का बॉडी खाली भी हो सकता है। यह कुछ कोड की दक्षता में सुधार करता है।
उदाहरण के लिए, str द्वारा इंगित स्ट्रीम से अग्रणी स्पेस हटाने के लिए:
for ( ; *str==' '; str++) ;
खाली बॉडी वाले लूप का एक अन्य अनुप्रयोग टाइम डिले है:
for (t=0; t<1000; t++);