loop

fPC1h คำสั่งทำซ้ำ (Looping)
    
การเขียนโปรแกรมควบคุมทิศทางแบบวนซ้ำ (Loop) ในภาษาซี หมายถึง การทำคำสั่งซ้ำๆ กันหลายครั้งตามเงื่อนไขที่กำหนดไว้ ในการตรวจสอบเงื่อนไข จะมีรูปแบบของการตรวจสอบเงื่อนไขอยู่ 2 แบบ คือ
    1. 
ตรวจสอบก่อนการวนซ้ำ รูปแบบนี้จะตรวจสอบเงื่อนไขว่าเป็นจริงหรือเป็นเท็จ ถ้าเป็นจริงก็จะไปทำงานตามคำสั่งที่กำหนดไว้ และเมื่อทำงานเสร็จก็จะกลับมาทำการตรวจสอบเงื่อนไขอีกครั้ง ทำเช่นนี้ไปเรื่อยๆจนกระทั่งเงื่อนไขได้ค่าเป็นเท็จ ก็จบการวนซ้ำ
    2. 
ตรวจสอบหลังการวนซ้ำ รูปแบบนี้จะทำคำสั่งก่อน ทำคำสั่งเสร็จแล้วจึงค่อยมาตรวจสอบเงื่อนไขว่าเป็นจริงหรือเป็นเท็จ ถ้าเป็นจริงก็จะกลับไปทำคำสั่งเดิมอีกครั้ง ทำเช่นนี้ไปเรื่อยๆ จนกว่าเงื่อนไขที่ได้เป็นเท็จ

fPC1h องค์ประกอบพื้นฐานของการวนซ้ำมี ดังนี้
     
1. การกําหนดค่าเริ่มต้นของตัวแปรต่าง ๆ ก่อนวนซ้ำ
     2.
เงื่อนไขที่จะให้ทําวนซ้ำ (จะอยู่ก่อนหรืออยู่ด้านหลังคําสั่งที่อยากทําก็ได้)
     3.
งานที่ต้องการทําวนซ้ำ
     4.
การปรับค่าตัวแปรเงื่อนไขการวนซ้ำ (คือการเปลี่ยนค่าตัวแปรที่เกี่ยวพันกับเงื่อนไขที่จะให้ทําหรือจบการวนซ้ำ)          
     คำสั่งเพื่อการวนรอบหรือเพื่อการทำซ้ำ เป็นคำสั่งที่สั่งให้เครื่องคอมพิวเตอร์ประมวลผลเหตุการณ์ที่ต้องการทำซ้ำ ๆ มากกว่าหนึ่งครั้งโดยการตรวจสอบเงื่อนไข ซึ่งประกอบด้วย
     
• ฟังก์ชัน for
     
• ฟังก์ชัน while
     
• ฟังก์ชัน do…while
     
• ฟังก์ชัน break
     
• ฟังก์ชัน continue
     
 ฟังก์ชัน for
     ฟังก์ชันในการวนรอบแบบ for คือ การวนรอบทำซ้ำจนกว่าค่าของตัวแปรที่ตั้งจะครบตามเงื่อนไขที่ต้องการ โดยการที่จะเพิ่มหรือลดค่าทีละหนึ่งไปเรื่อย ๆ ถ้าเงื่อนไขเป็นจริงจะทำตามประโยคคำสั่งภายในเครื่องหมายปีกกา เมื่อตรวจสอบเงื่อนไขแล้วพบว่าเงื่อนไขเป็นเท็จก็จะหยุดการทำงานแล้วออกไปทำประโยคคำสั่งหลังเครื่องหมายปีกกาปิด ซึ่งมีรูปแบบการใช้งานดังนี้

     for (initialization; condition; increment or decrement)
     {
     statement;
     }

      จากรูปแบบของฟังก์ชัน for มีรายละเอียดดังนี้
      -  
Initialization การกำหนดค่าเริ่มต้นให้กับตัวแปรที่ต้องการใช้กำหนดและตรวจสอบเงื่อนไข
      -  
Condition นิพจน์หรือเงื่อนไขที่กำหนดเพื่อตรวจสอบ
      -  
Increment เพิ่มค่าให้กับตัวแปร
      -  
Decrement ลดค่าให้กับตัวแปร 
fPC1h รูปแบบ for(กำหนดค่าตัวแปร;ตรวจสอบเงื่อนไข;เพิ่มหรือลดค่าตัวแปร) 
     { 
      ประโยคคำสั่ง 1 ;                          
      ประโยคคำสั่ง 2 ; 
        | 
        |   
      ประโยคคำสั่ง n ;   
     }          

     ลักษณะการทำงานของคำสั่ง for สามารถเขียนเป็นแผนผังได้ดังนี้

              for11

ตัวอย่างที่ 
1. แสดงการใช้คำสั่ง for เพื่อวนแสดงตัวเลข 1 ถึง 10 ออกแสดงที่จอภาพ

       #include<stdio.h>
       #include<conio.h>
       main()
         {
          int num;
          clrscr( );
          for (num=1; num<=10; num++)
          printf( "%3d\n", num); /* end for */
          printf("\n\nPress any key back to program...");
          getch();
          }

ผลลัพธ์ที่ได้จากโปรแกรม

 for9
   
คำอธิบายโปรแกรม

  จากโปรแกรมตัวอย่าง สามารถอธิบายการทำงานของโปรแกรมที่สำคัญๆ    ได้ดังนี้
  
บรรทัดที่ 7 คำสั่ง for (num = 1;  num <=10;  num++) จะเริ่มทำงานโดยการกำหนดค่าเริ่มต้นตัวแปร num เป็น 1 จากนั้นทดสอบเงื่อนไข   num <= 10  จริงหรือเท็จ ถ้าเป็นจริงจะทำงานตามคำสั่งบรรทัดที่ 8 ถ้าเป็นเท็จออกจาก for ไปทำคำสั่งบรรทัดที่ 9 
  บรรทัดที่ 8 ฟังก์ชัน printf( ) เพื่อพิมพ์ค่าของตัวแปร num ในแต่ละรอบของการทำงาน และขึ้นบรรทัดใหม่ด้วย ออกแสดงที่จอภาพ 
  บรรทัดที่ 9 ฟังก์ชัน printf( ) แสดงข้อความให้กดคีย์ใดๆ เพื่อกลับสู่โปรแกรม 
  บรรทัดที่ 10 หยุดรอรับค่าใดๆ จากคีย์บอร์ด เช่น ถ้ากด enter ก็จะกลับสู่โปรแกรม