รูปแบบทั่วไปของคำสั่ง for มีดังนี้:
for (การกำหนดค่าเริ่มต้น; เงื่อนไข; การดำเนินการ) คำสั่ง;
การกำหนดค่าเริ่มต้น เป็นคำสั่งกำหนดค่า ใช้ตั้งค่าตัวแปรควบคุมลูป
เงื่อนไข เป็นนิพจน์เชิงสัมพันธ์ กำหนดว่าลูปจะหยุดทำงานเมื่อไหร่
การดำเนินการ กำหนดว่าตัวแปรลูปจะเปลี่ยนแปลงอย่างไรในแต่ละรอบ
ใน ลูป for การทดสอบเงื่อนไขจะเกิดขึ้นที่ด้านบนของลูป หมายความว่าโค้ดภายในอาจไม่ถูกทำงานเลยหากเงื่อนไขเป็นเท็จตั้งแต่แรก
ตัวอย่างพื้นฐาน:
x = 10; for (y=10; y != x; ++y) printf (“ %d”, y);
รูปแบบที่ 1: ใช้เครื่องหมายจุลภาค (Comma Operator)
เครื่องหมายจุลภาคช่วยให้ประกาศ/กำหนดค่าตัวแปรได้หลายตัวในส่วนการกำหนดค่าเริ่มต้นและการดำเนินการ:
for(x=0, y=0; x+y < 10; ++x);
ที่นี่ x และ y ควบคุมลูปร่วมกัน
รูปแบบที่ 2: ข้ามบางส่วนของนิยามลูป
ลักษณะน่าสนใจของ for คือ ส่วนต่างๆของนิยามลูปสามารถละได้:
for (x=0; x!=456; ) scanf ("%d", &x);
ในที่นี้ ทุกรอบลูปจะตรวจสอบว่า x เท่ากับ 456 หรือไม่ เมื่อป้อน 456 เงื่อนไขจะเป็นเท็จและลูปสิ้นสุด
รูปแบบที่ 3: ลูปไม่มีที่สิ้นสุด (Infinite Loop)
หากละทุกส่วนในนิยามลูป จะได้ลูปไม่มีที่สิ้นสุด ใช้คำสั่ง break เพื่อออกจากลูป:
for(;;){ ch = getchar(); if(ch == 'A') break; }
รูปแบบที่ 4: ลูป for ที่ไม่มีตัว بدنه (Empty Body)
ตัว alternative ของ for สามารถว่างเปล่าได้ ซึ่งช่วยเพิ่มประสิทธิภาพในบางกรณี:
ตัวอย่าง: ตัดช่องว่างนำหน้าจากสตรีมที่ str ชี้ไป
for ( ; *str==' '; str++) ;
อีกตัวอย่าง: หน่วงเวลา (Time delay) ด้วยตัว alternative ว่าง
for (t=0; t<1000; t++);