ফর স্টেটমেন্টের সাধারণ রূপ নিম্নরূপ:
for (initialization; condition; operation) statement;
ইনিশিয়ালাইজেশন হল একটি অ্যাসাইনমেন্ট স্টেটমেন্ট যা লুপ কন্ট্রোল ভেরিয়েবল সেট করতে ব্যবহৃত হয়।
কন্ডিশন হল একটি রিলেশনাল এক্সপ্রেশন যা নির্ধারণ করে লুপ কবে বের হবে।
অপারেশন সংজ্ঞায়িত করে যে লুপ ভেরিয়েবলটি প্রতিবার কীভাবে পরিবর্তিত হবে।
ফর লুপে শর্ত পরীক্ষা লুপের শুরুতে হয়। অর্থাৎ, শর্ত মিথ্যা হলে লুপের ভিতরের কোড একবারও এক্সিকিউট হবena।
উদাহরণস্বরূপ:
x = 10; for (y=10; y != x; ++y) printf (" %d", y);
বৈচিত্র্য ১: কমা অপারেটর
কমা অপারেটর ব্যবহার করে ফর লুপের একটি ভেরিয়েন্ট তৈরি করা যায়:
for(x=0, y=0; x+y < 10; ++x);
এখানে x এবং y উভয়ই লুপ কন্ট্রোল করে।
বৈচিত্র্য ২: লুপ ডেফিনিশনের অনুপস্থিত অংশ
ফর লুপের একটি रोচক বৈশিষ্ট্য হল লুপ ডেফিনিশনের সব অংশ থাকতে বাধ্য নয়।
উদাহরণ:
for (x=0; x!=456; ) scanf ("%d", &x);
এখানে প্রতিবার লুপ রিপিট হলে x টেস্ট করা হয় যে সেটি 456 কিনা। 456 ইনপুট দেওয়া হলে লুপ শর্ত মিথ্যা হয়ে লুপটি টারমিনেট হয়।
বৈচিত্র্য ৩: অনন্ত লুপ
লুপ ডেফিনিশনের সব টুকরো যদি অনুপস্থিত থাকে, তবে একটি অনন্ত লুপ তৈরি হয়। লুপ থেকে বের হওয়ার জন্য break স্টেটমেন্ট ব্যবহার করা হয়:
for(;;){ ch = getchar(); if(ch == 'A') break; }
বৈচিত্র্য ৪: বডিহীন ফর লুপ
ফর লুপের বডিও খালি রাখা যায়। এটি কিছু কোডের দক্ষতা বাড়ায়।
উদাহরণস্বরূপ, str দ্বারা নির্দেশিত স্ট্রিম থেকে লিডিং স্পেস সরানোর জন্য:
for ( ; *str==' '; str++) ;
খালি বডিવાલা লুপের আরেকটি অ্যাপ্লিকেশন হল টাইম ডিলে:
for (t=0; t<1000; t++);