Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

รูปแบบต่างๆ ของการวนลูป for ในภาษา C

รูปแบบทั่วไปของคำสั่ง 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++);