دستور for متداول‌ترین دستور حلقه در زبان C و شبیه به دستور while است. این دستور شامل یک عبارت است که مقدار نخستین یک شاخص را مشخص می‌سازد. عبارت دیگر چگونگی ادامه یا پایان حلقه را تعیین می‌کند و سومین عبارت شاخص را در پایان هر حلقه تغییر می‌دهد. نمودار آن را در شکل ۵ـ۳ می‌بینید.
شکل کلی این دستور نیز به صورت زیر است.
for (expression1; expression2; expression3) statement ;
در اینجا expression1 برای مقداردهی اولیه پارامتری که حلقه را کنترل می‌کند (و شاخص یا index نامیده می‌شود) به کار می‌رود. expression2 یک شرط را معرفی می‌کند که باید برای ادامه اجرای حلقه صادق باشد و expression3 نیز برای تغییر مقدار پارامتری که در آغاز به expression1 اختصاص داده شده به کار می‌رود. معمولاً expression1 عبارت جایگذاری، expression2 عبارت منطقی یا رابطه‌ای و expression3 عبارت جایگذاری یا unary expression است.
وقتی که دستور for اجرا می‌گردد قبل از هر گذر در داخل حلقه، expression2 ارزیابی و آزمایش می‌شود. اما expression3 در پایان هر گذر ارزیابی می‌گردد.

بنابراین دستور for

oo
معادل دستورهای زیر است.
expression1 ;
while (expression2)
{
statements
expression3 ;
}
اجرای حلقه تا زمانی که مقدار expression2 مساوی صفر نباشد، یعنی تا هنگامی که شرط معرفی شده با expression2 برقرار و یا true باشد، ادامه خواهد داشت.