คำสั่ง For
คำสั่งวนซ้ำ เป็นคำสั่งใช้แก้ปัญหาโจทย์ในลักษณะที่มีการทำงานเดิมซ้ำกันหลาย ๆ ครั้งซึ่งเขียนในรูปแบบของผังงานได้ดังรู
คําสั่ง for เป็นคำสั่งวนซ้ำในลักษณะที่รู้จำนวนรอบของการวนซ้ำที่แน่นอน โดยแบ่งรูปแบบหลักออกเป็นสามส่วนได้แก่
ส่วนที่ใช้กำหนดค่าเริ่มต้นของการวนซ้ำ
ส่วนนที่ตรวจเงื่อนไขการวนซ้ำ
ส่วนนของการจัดการค่าตัวนับของการวนซ้ำ
ขั้นตอนของการทำงานเมื่อพบคําสั่ง for มีดังนี้
1. ทำคำสั่งในการกาํหนดค่าตัวนับ
2. ตรวจสอบเงื่อนไขการวนซ้ำหากเป็นเท็จจะหยุดและออกจากการทาํงานของคาํสั่งforไปทำงานคำสั่งหลังจากนั้น
3. กรณเงื่อนไขการวนซํ้าเป็นจริงจะทําคำสั่งในขอบเขตของ for นั้นคือภายใต้เครื่อง { } จนกระทั่งหมด และไปทำ คำสั่งจัดการค่าตัวนับ ซึ่งอาจจะเป็นการเพิ่มค่าหรือลดค่าตัวนับ หลังจากนั้นจะ กลับไปตรวจสอบเงื่อนไขการวนซ้ำในขั้นตอนท่ี 2 ทําเช่นนี้เรื่อยไปจนกระทั่งเงื่อนไขการวนซํ้าเป็น เท็จ
หากคำสั่งที่ต้องทำในการวนซำ้มีเพียง 1 คําสั่ง รูปแบบการเขียนจะเขียนเครื่องหมาย { } ครอบคําสั่ง นั้นไว้หรือ ไม่ก็ ได้ แต่ถ้ามีคำสั่งที่ต้องทำซํ้ามากกว่า 1 คําสั่ง จะต้องมีเครื่องหมาย { } แสดงขอบเขตของการทำวนซ้ำเสมอ
ตัวอย่างโค้ด
หน้าตาเอาท์พุต
ในการทํางานของคาํสั่งforสิ่งสาํคัญที่ผู้ใช้จะต้องรู้คือทําอย่างไรจึงจะวนทําซํ้าได้เท่ากับจาํนวนรอบ ที่ต้องการ จากตัวอย่างที่ข้างต้น มีการใช้ตัวแปร i เป็น ตัวนับ จำนวนรอบของการทาํ ซํ้า ในที่นี้ต้องการให้มีการทํา ซ้ำทั้งหมด 5 รอบ ไล่ขั้นตอนการทํางานของโปรแกรมได้ดังนี้
- กำหนดให้ i มีค่าเริ่มต้นที่ 0
- แล้วตรวจสอบว่า i มีค่าน้อยกว่า 5 เงื่อนไขเป็นจริง มีรับข้อมูลตัวแรกและทําการบวกเลขที่รับเข้ามานั้นเก็บไว้ในตัวแปร sum
- เพิ่มค่า i ขึ้น 1 เพราะฉะนั้น i มีค่าเท่ากับ 1
- แล้วตรวจสอบว่า i มีค่าน้อยกว่า 5 เงื่อนไขเป็นจริง มีรับข้อมูลตัวที่ 2 และทำการบวกเลขที่รับเข้ามานั้นเก็บไว้ในตัวแปร sum
- เพิ่มค่า i ขึ้น 1 เพราะฉะนั้น i มีค่าเท่ากับ 2
- แล้วตรวจสอบว่า i มีค่าน้อยกว่า 5 เงื่อนไขเป็นจริง มีรับข้อมูลตัวที่ 3 และทำการบวกเลขที่รับเข้ามานั้นเก็บไว้ในตัวแปร sum
- เพิ่มค่า i ขึ้น 1 เพราะฉะนั้น i มีค่าเท่ากับ 3
- แล้วตรวจสอบว่า i มีค่าน้อยกว่า 5 เงื่อนไขเป็นจริง มีรับข้อมูลตัวที่ 4 และทำการบวกเลขที่รับเข้ามานั้นเก็บไว้ในตัวแปร sum
- เพิ่มค่า i ขึ้น 1 เพราะฉะนั้น i มีค่าเท่ากับ 4
- แล้วตรวจสอบว่า i มีค่าน้อยกว่า 5 เงื่อนไขเป็นจริง มีรับข้อมูลตัวที่ 5 และทำการบวกเลขที่รับเข้ามานั้นเก็บไว้ในตัวแปร sum
- เพิ่มค่า i ขึ้น 1 เพราะฉะนั้น i มีค่าเท่ากับ
12.ตรวจสอบเงื่อนไข i มีค่าน้อยกว่า5พบว่าเงื่อนไขเป็นเท็จ ก็จะจบการทํางานภายในคาํสั่งfor
จะเหน็ว่าคำสั่งส่วนต่างๆของคาํสั่งforสามารถเขียนนได้หลายรูปแบบแต่สุดท้ายที่ต้องการคือการ ควบคมุ จำนวนรอบของการทําซํ้าให้ได้เท่ากับจำนวนที่ผู้เขียนโปรแกรมต้องการ
สิ่งที่ต้องระวังในการเขียนคือ
for(i=0;i<5;i++);
printf(“Hello\n”);
การใส่เครื่องหมาย ; ต่อท้ายคำสั่ง for เครื่องหมาย ; เป็นคาํสั่งที่เรียกว่า NullStatement นับเป็น คำสั่ง 1 คำสั่ง โดยที่คําสั่งนี้จะไม่ทําอะไรเลย เพราะฉะนั้นในตัวอย่างดังกล่าว จะมีการวนทําซํ้าโดยไม่ทำอะไรเลย 5 รอบ แล้วจึงพิมพ์ข้อความ Hello เพียงข้อความเดียว แทนที่จะพิมพ์ข้อความ Hello 5 ครั้ง
วีดีโออธิบาย