ควบคุมทิศทางการทางานของโปรแกรม
  (CONTROL STATEMENT)
ควบคุมทิศทางการทางานของโปรแกรม
    การควบคุมทิศทางการทางานของโปรแกรมในภาษา C
    สามารถแบ่งออกได้เป็น 2 รูปแบบคือ

    1   คาสั่งตัดสินใจ (Decision Control Statement
    2   คาสั่งวนซ้า (Repetition Control Statement)
คาสั่งตัดสินใจ (Decision Control Statement

คาสั่งตัดสินใจ แบ่งออกได้ดังนี้


คาสั่งตัดสินใจแบบเลือกทาหรือไม่ทาด้วยคาสั่ง if
คาสั่งตัดสินใจแบบสองทางเลือกด้วย if...else

คาสั่งตัดสินใจแบบหลายทางเลือกด้วยคาสั่ง if...else if

คาสั่ง switch-case
คาสั่งตัดสินใจแบบเลือกทาหรือไม่ทาด้วยคาสัง if
                                          ่
      คาสั่ง if เป็นคาสั่งที่กาหนดให้โปรแกรมตัดสินใจทาหรือไม่ทา
สิ่งใดสิ่งหนึ่ง โดยตรวจสอบเงื่อนไขที่กาหนดว่าเป็นจริงหรือเท็จ ถ้า
เงื่อนไขที่กาหนดให้เป็นจริง (true) โปรแกรมจะทางานที่ชุดคาสั่งที่
อยู่ภายใต้คาสั่ง if        แต่ถ้าเงื่อนไขที่กาหนดให้เป็นเท็จ (false)
โปรแกรมจะข้ามไปทางานที่คาสั่งต่อไปทันที
      มีรูปแบบคาสั่งดังนี้
                  if (condition)
                  {
                      statements;
                  }
คาสั่งตัดสินใจแบบเลือกทาหรือไม่ทาด้วยคาสัง if (ต่อ)
                                         ่
โดยที่ condition เป็นเงื่อนไขที่ใช้กาหนดการตดสินใจของโปรแกรม
       statement เป็นชุดคาสั่งที่ต้องทางานเมื่อเงื่อนไขที่กาหนดเป็นจริง
จากรูปแบบคาสั่ง if เราจะเขียนแผนผังการทางาน (flowchart) ได้ดังนี้

                                                จริง
                              ตรวจสอบเงื่อนไข

                                       เท็จ            ชุดคาสั่ง
คาสั่งตัดสินใจแบบสองทางเลือกด้วย if…else

      คาสั่ง if...else เป็นคาสั่งที่เราใช้กาหนดให้โปรแกรม
ตัดสินใจเลือกทาคาสั่งใดอย่างหนึ่งจาก 2 ทางเลือก โดย
ตรวจสอบเงื่อนไขที่กาหนดว่าเป็นจริงหรือเท็จ ถ้าเงื่อนไข
ที่ ก าหนดให้ เ ป็ น จริ ง (true) โปรแกรมจะท างานที่
ชุดคาสั่งที่อยู่ภายใต้คาสั่ง if แต่ถ้าเงื่อนไขที่กาหนดให้
เป็ น เท็ จ (false) โปรแกรมจะท างานที่ ชุ ด ค าสั่ ง ที่ อ ยู่
ภายใต้คาส่ง else
การเลือกทางานตามเงื่อนไข (Decision)
ซึ่งคาสั่ง if...else ในภาษา C มีรูปแบบคาสั่งดังนี้
if(condition)
{
     statements1;
}
else
{
     statements2;
}
•โดยที่ condition เป็นเงื่อนไขที่ใช้กาหนดการตัดสินใจของโปรแกรม
        statement1 เป็นชุดคาสั่งที่ต้องทางานเมื่อเงื่อนไขที่กาหนดเป็นจริง
        statement2 เป็นชุดคาสั่งที่ต้องทางานเมื่อเงื่อนไขที่กาหนดเป็นเท็จ
จากรูปแบบคาสั่ง if...else เราเขียนแผนผังการทางาน (flowchart) ได้ดังนี้

                      จริง                     เท็จ
                             ตรวจสอบเงื่อนไข


         ชุดคาสั่ง (true)                      ชุดคาสั่ง (false)
คาสั่งตัดสินใจแบบหลายทางเลือกด้วยคาสั่ง if…else if

         คาสั่ง if...else if เป็นคาสั่งที่เราใช้กาหนดให้โปรแกรม
 ตัดสินใจเลือกทางใดทางหนึ่งจากทางเลือกที่มีมากกว่า 2 ทาง และ
 แต่ละทางเลือกจะมีการกาหนดเงื่อนไขของแต่ละทางเลือกไว้ด้วย
 โดยโปรแกรมจะตรวจสอบเงื่อนไขของแต่ละทางเลือก หากพบว่า
 ทางเลื อ กไหนมี เ งื่ อ นไขเป็ น จริ ง (true) ก็ จ ะท างานที่ ชุ ด ค าสั่ ง
 ภายในทางเลือกนั้น โดยไม่พิจารณาทางเลือกอื่นที่ยังไม่ได้ทาการ
 ตรวจสอบอี ก ในกรณี ที่ เ งื่ อ นไขเป็ น เท็ จ (false) และในกรณี ที่
 เงื่อนไขทั้งหมดเป็นเท็จ ให้โปรแกรมทางานที่ชุดคาสั่งภายใต้คาสั่ง
 else
ซึ่งคาสั่ง if...else if ในภาษา C มีรูปแบบคาสั่งดังนี้
          if(condition_1)
          {
             statements_1;
          }
          else if(condition_2)
          {
             statements_2;
          }
          else if(condition_n)
          {
             statements_n;
          }
          else
          {
             statements;
          }
ตั้งใจ                          กัน

                                      เรียน                          หน่อย
โดยที่ condition_n  เป็นชุดเงื่อนไขที่ n ที่ใช้กาหนดการตัดสินใจของ
                    โปรแกรม
       statements_n เป็นชุดคาสั่งที่ต้องทางานเมื่อเงื่อนไขที่กาหนดที่ n
                    เป็นจริง
       statements เป็นชุดคาสั่งที่ต้องทางานเมื่อเงื่อนไขที่กาหนด
                     ทั้งหมดเป็นเท็จ
จากรูปแบบคาสั่ง if...else if เราสามารถเขียนผังงานการทางาน
(flowchart) ได้ดังนี้


         เงื่อนไข 1   เท็จ       เงื่อนไข 2   เท็จ
              จริง                    จริง
        ชุดคาสั่ง                ชุดคาสั่ง           ชุดคาสั่ง
คาสั่ง switch - case
     คาสั่ง switch – case เป็นคาสั่งตัดสินใจที่มีการ
ทางานเหมือนกับคาสั่ง if...else if คือเลือกทางใดทาง
หนึ่งจากทางเลือกที่มีมากว่า 2 ทาง ในแต่ละทางเลือกจะ
มีการกาหนดเงื่อนไขของแต่ละทางเลือก โดยตรวจสอบ
เงื่อนไขแต่ละทางเลือก หากพบว่าทางเลือกไหนเป็นจริง
(true) ก็ จ ะท าชุ ด ค าสั่ ง ภายในทางเลื อ กนั้ น โดยไม่
พิจารณาทางเลือกอื่นที่ยังไม่ได้ทาการตรวจสอบ
Implicit Type Conversion
คาสั่ง switch case ในภาษา C มีรูปแบบการทางานดังนี้
switch(condition)
{
   case constant_1 :
           statements_1;
           break;
   case constant_2 :
           statements_2;
           break;
   case constant_n :
           statements_n;
           break;
   default :
          statements;
}
โดยที่ condition      เป็นตัวแปรหรือนิพจน์ที่เป็นเงื่อนไขของคาสั่ง
       constant_n เป็นค่าคงที่ท่ใช้ตรวจสอบกับตัวแปรหรือนิพจน์เงื่อนไข
                                 ี
       statements_n เป็นชุดคาสั่งที่ต้องทางานเมื่อตัวแปรหรือนิพจน์ที่ n เป็นจริง
       statements เป็นชุดคาสั่งที่ต้องทางานเมื่อตัวแปรหรือนิพจน์ทั้งหมดเป็นเท็จ
     จากรูปแบบคาสั่ง switch – case เราสามารถเขียนแผนภูมิการทางาน
(flowchart) ได้ดังนี้

      เงื่อนไข 1    เท็จ        เงื่อนไข 2     เท็จ
           จริง                      จริง
     ชุดคาสั่ง                  ชุดคาสั่ง             ชุดคาสั่ง
ในการทางานของคาสั่ง โปรแกรมจะตรวจสอบค่า
จากตัวแปรที่อยู่ภายในคาสั่ง switch ซึ่งอาจเป็น
สมการทางคณิตศาสตร์หรือการคานวณทางตรรกะ
ใด ๆ ก็ได้ ว่าตรงกับ case ใดของคาสั่ง switch
โปรแกรมก็จะเข้าทางานในชุดคาสั่งเฉพาะที่อยู่ใน
case นั้น ๆ เมื่อทางานเสร็จจะพบคาสั่ง break
เพื่อให้โปรแกรมข้ามไปทางานนอกคาสั่ง switch –
case ทันที แต่ในกรณีที่ไม่มีค่าใดใน case ตรงกับ
เงื่ อ นไข โปรแกรมก็ จ ะเข้ า มาท างานที่ ชุ ด ค าสั่ ง
ภายในคาสั่ง default ทันที
ควบคุมการทางานของโปรแกรมด้วยคาสั่งวนลูป
         (Repetition Control Statement)



   คาสั่งวนลูป เป็นคาสั่งที่ใช้ควบคุมการทางานของโปรแกรมแบวนซ้า ๆ
การทางานเดิม ๆ ตามเงื่อนไขที่กาหนด เช่น การวนซ้าการทางานเดิมเป็น
จานวน 10 รอบ ทางานซ้า ๆ จนกว่าเงื่อนไขเป็นเท็จ เป็นต้น
• วนลูปการทางานด้วยจานวนรอบที่แน่นอนด้วยคาสั่ง for
• วนลูปการทางานเมื่อเงื่อนไขเป็นจริงด้วยคาสั่ง while
• วนลูปการทางานอย่างน้อย 1 ครั้ง ด้วยคาสั่ง do...while
วนลูปการทางานด้วยจานวนรอบทีแน่นอนด้วยคาสั่ง FOR
                           ่
         คาสั่ง for เป็นคาสั่งวนซ้าการทางานเดิม ๆ ด้วย
   จ านวนรอบที่ แ น่ น อน โดยที่ โ ปรแกรมจะตรวจสอบ
   เงื่อนไขก่อนการทางานทุกรอบ ถ้าเงื่อนไขเป็นจริงให้
   ทางานที่ชุดคาสั่งภายในลูปต่อไป เมื่อทางานเสร็จจะ
   เพิ่ ม หรื อ ลดค่ า ตั ว แปรที่ ใ ช้ ก าหนดเงื่ อ นไข และ
   ตรวจสอบเงื่ อ นไขใหม่ อี ก ครั้ ง ถ้ า เงื่ อ นไขเป็ น เท็ จ ให้
   โปรแกรมออกจากลู ป การท างานไปท างานที่ ค าสั่ ง
   ถัดไปทันที
วนลูปการทางานด้วยจานวนรอบที่แน่นอนด้วยคาสั่ง for
     คาสั่ง for ในภาษา C มีรูปแบบคาสั่งดังนี้
         for(initinal; condition; change)
         {
             statements;
         }
โดยที่ initial    เป็นส่วนกาหนดค่าเริ่มต้นของตัวแปรที่ใช้กาหนดเงื่อนไข
       condition เป็นส่วนกาหนดเงื่อนไขการวนลูป
       change เป็นส่วนการเปลี่ยนแปลงของตัวแปรในแต่ละรอบ
       statements เป็นชุดคาสั่งที่ต้องทาเมื่อเงื่อนไขเป็นจริง
จากรูปแบบคาสั่ง for เราสามารถเขียนผังงานการทางาน
(Flowchart) ได้ดังนี้

                    กาหนดค่าเริ่มต้น
                      ของตัวแปร
                                           เท็จ
                      ตรวจสอบเงื่อนไข
                                    จริง
                        ชุดคาสั่ง

                    เปลี่ยนค่าตัวแปร
วนลูปการทางานเมื่อเงื่อนไขเป็นจริงด้วยคาสั่ง while
       คาสั่ง while เป็นคาสั่งวนซ้าการทางานเดิม ๆ ของโปรแกรมโดย
  โปรแกรมตรวจสอบเงื่อนไขก่อนการทางานทุกครั้ง ถ้าเงื่อนไขที่กาหนด
  เป็นจริง โปรแกรมจะทางานที่ชุดคาสั่งภายในลูป เมื่อโปรแกรมทางาน
  เสร็ จ จะตรวจสอบเงื่ อ นไขใหม่ อี ก ครั้ ง ถ้ า เงื่ อ นไขที่ ก าหนดเป็ น เท็ จ
  โปรแกรมจะออกจากลูปการทางานไปทางานที่คาสั่งถัดไปทันที
       ซึ่งคาสั่ง while ในภาษา C มีรูปแบบคาสั่งดังนี้
         while(condition)
         {
             statements;
         }
โดยที่ condition เป็นเงื่อนไขที่กาหนดให้ตรวจสอบก่อนทางานภายในลูปทุกครั้ง
       statements เป็นชุดคาสั่งที่ต้องทาเมื่อเงื่อนไขเป็นจริง

                                                 เท็จ
                            ตรวจสอบเงื่อนไข
                                          จริง
                              ชุดคาสั่ง
วนลูปการทางานอย่างน้อย 1 ครั้ง ด้วยคาสัง do…while
                                       ่

          คาสั่ง d0...while เป็นคาสั่งวนซ้าการทางาน
          เดิ ม ๆ โดยโปรแกรมจะท างานชุ ด ค าสั่ ง
          ภายในลูปก่อน 1 รอบ จึงตรวจสอบเงื่อนไข
          ที่ ก าหนด ถ้ า เงื่ อ นไขที่ ก าหนดเป็ น จริ ง ให้
          กลั บ ไปท างานชุ ด ค าสั่ ง ภายในลู ป อี ก ครั้ ง
          และตรวจสอบเงื่ อ นไขที่ ก าหนดอี ก ครั้ ง ถ้ า
          เงื่อนไขที่กาหนดเป็นเท็จ โปรแกรมจะออก
          จากลู ป การท างานไปท างานที่ ค าสั่ ง ถั ด ไป
          ทันที
ซึ่งคาสั่ง do...while ในภาษา C มีรูปแบบคาสั่งดังนี้
                     do
                     {
                        statements;
                     }while (condition);

โดยที่ condition เป็นเงื่อนไขที่กาหนดให้ตรวจสอบหลังทางานภายในลูป
                  ทุกครั้ง
       statements เป็นชุดคาสั่งที่ทางานก่อนตรวจสอบเงื่อนไข
จากรู ป แบบค าสั่ ง do...while สามารถเขี ย นแผนผั ง การท างาน
(Flowchart) ได้ดังนี้


                        ชุดคาสั่ง


              จริง    ตรวจสอบเงื่อนไข

                              เท็จ
ที่มา : คู่มืออบรมครูวิทยาศาสตร์ คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย
        หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย
        คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER

งานทำ Blog บทที่ 6

  • 1.
  • 2.
    ควบคุมทิศทางการทางานของโปรแกรม การควบคุมทิศทางการทางานของโปรแกรมในภาษา C สามารถแบ่งออกได้เป็น 2 รูปแบบคือ 1 คาสั่งตัดสินใจ (Decision Control Statement 2 คาสั่งวนซ้า (Repetition Control Statement)
  • 3.
    คาสั่งตัดสินใจ (Decision ControlStatement คาสั่งตัดสินใจ แบ่งออกได้ดังนี้ คาสั่งตัดสินใจแบบเลือกทาหรือไม่ทาด้วยคาสั่ง if คาสั่งตัดสินใจแบบสองทางเลือกด้วย if...else คาสั่งตัดสินใจแบบหลายทางเลือกด้วยคาสั่ง if...else if คาสั่ง switch-case
  • 4.
    คาสั่งตัดสินใจแบบเลือกทาหรือไม่ทาด้วยคาสัง if ่ คาสั่ง if เป็นคาสั่งที่กาหนดให้โปรแกรมตัดสินใจทาหรือไม่ทา สิ่งใดสิ่งหนึ่ง โดยตรวจสอบเงื่อนไขที่กาหนดว่าเป็นจริงหรือเท็จ ถ้า เงื่อนไขที่กาหนดให้เป็นจริง (true) โปรแกรมจะทางานที่ชุดคาสั่งที่ อยู่ภายใต้คาสั่ง if แต่ถ้าเงื่อนไขที่กาหนดให้เป็นเท็จ (false) โปรแกรมจะข้ามไปทางานที่คาสั่งต่อไปทันที มีรูปแบบคาสั่งดังนี้ if (condition) { statements; }
  • 5.
    คาสั่งตัดสินใจแบบเลือกทาหรือไม่ทาด้วยคาสัง if (ต่อ) ่ โดยที่ condition เป็นเงื่อนไขที่ใช้กาหนดการตดสินใจของโปรแกรม statement เป็นชุดคาสั่งที่ต้องทางานเมื่อเงื่อนไขที่กาหนดเป็นจริง จากรูปแบบคาสั่ง if เราจะเขียนแผนผังการทางาน (flowchart) ได้ดังนี้ จริง ตรวจสอบเงื่อนไข เท็จ ชุดคาสั่ง
  • 6.
    คาสั่งตัดสินใจแบบสองทางเลือกด้วย if…else คาสั่ง if...else เป็นคาสั่งที่เราใช้กาหนดให้โปรแกรม ตัดสินใจเลือกทาคาสั่งใดอย่างหนึ่งจาก 2 ทางเลือก โดย ตรวจสอบเงื่อนไขที่กาหนดว่าเป็นจริงหรือเท็จ ถ้าเงื่อนไข ที่ ก าหนดให้ เ ป็ น จริ ง (true) โปรแกรมจะท างานที่ ชุดคาสั่งที่อยู่ภายใต้คาสั่ง if แต่ถ้าเงื่อนไขที่กาหนดให้ เป็ น เท็ จ (false) โปรแกรมจะท างานที่ ชุ ด ค าสั่ ง ที่ อ ยู่ ภายใต้คาส่ง else
  • 7.
    การเลือกทางานตามเงื่อนไข (Decision) ซึ่งคาสั่ง if...elseในภาษา C มีรูปแบบคาสั่งดังนี้ if(condition) { statements1; } else { statements2; }
  • 8.
    •โดยที่ condition เป็นเงื่อนไขที่ใช้กาหนดการตัดสินใจของโปรแกรม statement1 เป็นชุดคาสั่งที่ต้องทางานเมื่อเงื่อนไขที่กาหนดเป็นจริง statement2 เป็นชุดคาสั่งที่ต้องทางานเมื่อเงื่อนไขที่กาหนดเป็นเท็จ จากรูปแบบคาสั่ง if...else เราเขียนแผนผังการทางาน (flowchart) ได้ดังนี้ จริง เท็จ ตรวจสอบเงื่อนไข ชุดคาสั่ง (true) ชุดคาสั่ง (false)
  • 9.
    คาสั่งตัดสินใจแบบหลายทางเลือกด้วยคาสั่ง if…else if คาสั่ง if...else if เป็นคาสั่งที่เราใช้กาหนดให้โปรแกรม ตัดสินใจเลือกทางใดทางหนึ่งจากทางเลือกที่มีมากกว่า 2 ทาง และ แต่ละทางเลือกจะมีการกาหนดเงื่อนไขของแต่ละทางเลือกไว้ด้วย โดยโปรแกรมจะตรวจสอบเงื่อนไขของแต่ละทางเลือก หากพบว่า ทางเลื อ กไหนมี เ งื่ อ นไขเป็ น จริ ง (true) ก็ จ ะท างานที่ ชุ ด ค าสั่ ง ภายในทางเลือกนั้น โดยไม่พิจารณาทางเลือกอื่นที่ยังไม่ได้ทาการ ตรวจสอบอี ก ในกรณี ที่ เ งื่ อ นไขเป็ น เท็ จ (false) และในกรณี ที่ เงื่อนไขทั้งหมดเป็นเท็จ ให้โปรแกรมทางานที่ชุดคาสั่งภายใต้คาสั่ง else
  • 10.
    ซึ่งคาสั่ง if...else ifในภาษา C มีรูปแบบคาสั่งดังนี้ if(condition_1) { statements_1; } else if(condition_2) { statements_2; } else if(condition_n) { statements_n; } else { statements; }
  • 11.
    ตั้งใจ กัน เรียน หน่อย โดยที่ condition_n เป็นชุดเงื่อนไขที่ n ที่ใช้กาหนดการตัดสินใจของ โปรแกรม statements_n เป็นชุดคาสั่งที่ต้องทางานเมื่อเงื่อนไขที่กาหนดที่ n เป็นจริง statements เป็นชุดคาสั่งที่ต้องทางานเมื่อเงื่อนไขที่กาหนด ทั้งหมดเป็นเท็จ
  • 12.
    จากรูปแบบคาสั่ง if...else ifเราสามารถเขียนผังงานการทางาน (flowchart) ได้ดังนี้ เงื่อนไข 1 เท็จ เงื่อนไข 2 เท็จ จริง จริง ชุดคาสั่ง ชุดคาสั่ง ชุดคาสั่ง
  • 13.
    คาสั่ง switch -case คาสั่ง switch – case เป็นคาสั่งตัดสินใจที่มีการ ทางานเหมือนกับคาสั่ง if...else if คือเลือกทางใดทาง หนึ่งจากทางเลือกที่มีมากว่า 2 ทาง ในแต่ละทางเลือกจะ มีการกาหนดเงื่อนไขของแต่ละทางเลือก โดยตรวจสอบ เงื่อนไขแต่ละทางเลือก หากพบว่าทางเลือกไหนเป็นจริง (true) ก็ จ ะท าชุ ด ค าสั่ ง ภายในทางเลื อ กนั้ น โดยไม่ พิจารณาทางเลือกอื่นที่ยังไม่ได้ทาการตรวจสอบ
  • 14.
    Implicit Type Conversion คาสั่งswitch case ในภาษา C มีรูปแบบการทางานดังนี้ switch(condition) { case constant_1 : statements_1; break; case constant_2 : statements_2; break; case constant_n : statements_n; break; default : statements; }
  • 15.
    โดยที่ condition เป็นตัวแปรหรือนิพจน์ที่เป็นเงื่อนไขของคาสั่ง constant_n เป็นค่าคงที่ท่ใช้ตรวจสอบกับตัวแปรหรือนิพจน์เงื่อนไข ี statements_n เป็นชุดคาสั่งที่ต้องทางานเมื่อตัวแปรหรือนิพจน์ที่ n เป็นจริง statements เป็นชุดคาสั่งที่ต้องทางานเมื่อตัวแปรหรือนิพจน์ทั้งหมดเป็นเท็จ จากรูปแบบคาสั่ง switch – case เราสามารถเขียนแผนภูมิการทางาน (flowchart) ได้ดังนี้ เงื่อนไข 1 เท็จ เงื่อนไข 2 เท็จ จริง จริง ชุดคาสั่ง ชุดคาสั่ง ชุดคาสั่ง
  • 16.
    ในการทางานของคาสั่ง โปรแกรมจะตรวจสอบค่า จากตัวแปรที่อยู่ภายในคาสั่ง switchซึ่งอาจเป็น สมการทางคณิตศาสตร์หรือการคานวณทางตรรกะ ใด ๆ ก็ได้ ว่าตรงกับ case ใดของคาสั่ง switch โปรแกรมก็จะเข้าทางานในชุดคาสั่งเฉพาะที่อยู่ใน case นั้น ๆ เมื่อทางานเสร็จจะพบคาสั่ง break เพื่อให้โปรแกรมข้ามไปทางานนอกคาสั่ง switch – case ทันที แต่ในกรณีที่ไม่มีค่าใดใน case ตรงกับ เงื่ อ นไข โปรแกรมก็ จ ะเข้ า มาท างานที่ ชุ ด ค าสั่ ง ภายในคาสั่ง default ทันที
  • 17.
    ควบคุมการทางานของโปรแกรมด้วยคาสั่งวนลูป (Repetition Control Statement) คาสั่งวนลูป เป็นคาสั่งที่ใช้ควบคุมการทางานของโปรแกรมแบวนซ้า ๆ การทางานเดิม ๆ ตามเงื่อนไขที่กาหนด เช่น การวนซ้าการทางานเดิมเป็น จานวน 10 รอบ ทางานซ้า ๆ จนกว่าเงื่อนไขเป็นเท็จ เป็นต้น • วนลูปการทางานด้วยจานวนรอบที่แน่นอนด้วยคาสั่ง for • วนลูปการทางานเมื่อเงื่อนไขเป็นจริงด้วยคาสั่ง while • วนลูปการทางานอย่างน้อย 1 ครั้ง ด้วยคาสั่ง do...while
  • 18.
    วนลูปการทางานด้วยจานวนรอบทีแน่นอนด้วยคาสั่ง FOR ่ คาสั่ง for เป็นคาสั่งวนซ้าการทางานเดิม ๆ ด้วย จ านวนรอบที่ แ น่ น อน โดยที่ โ ปรแกรมจะตรวจสอบ เงื่อนไขก่อนการทางานทุกรอบ ถ้าเงื่อนไขเป็นจริงให้ ทางานที่ชุดคาสั่งภายในลูปต่อไป เมื่อทางานเสร็จจะ เพิ่ ม หรื อ ลดค่ า ตั ว แปรที่ ใ ช้ ก าหนดเงื่ อ นไข และ ตรวจสอบเงื่ อ นไขใหม่ อี ก ครั้ ง ถ้ า เงื่ อ นไขเป็ น เท็ จ ให้ โปรแกรมออกจากลู ป การท างานไปท างานที่ ค าสั่ ง ถัดไปทันที
  • 19.
    วนลูปการทางานด้วยจานวนรอบที่แน่นอนด้วยคาสั่ง for คาสั่ง for ในภาษา C มีรูปแบบคาสั่งดังนี้ for(initinal; condition; change) { statements; } โดยที่ initial เป็นส่วนกาหนดค่าเริ่มต้นของตัวแปรที่ใช้กาหนดเงื่อนไข condition เป็นส่วนกาหนดเงื่อนไขการวนลูป change เป็นส่วนการเปลี่ยนแปลงของตัวแปรในแต่ละรอบ statements เป็นชุดคาสั่งที่ต้องทาเมื่อเงื่อนไขเป็นจริง
  • 20.
    จากรูปแบบคาสั่ง for เราสามารถเขียนผังงานการทางาน (Flowchart)ได้ดังนี้ กาหนดค่าเริ่มต้น ของตัวแปร เท็จ ตรวจสอบเงื่อนไข จริง ชุดคาสั่ง เปลี่ยนค่าตัวแปร
  • 21.
    วนลูปการทางานเมื่อเงื่อนไขเป็นจริงด้วยคาสั่ง while คาสั่ง while เป็นคาสั่งวนซ้าการทางานเดิม ๆ ของโปรแกรมโดย โปรแกรมตรวจสอบเงื่อนไขก่อนการทางานทุกครั้ง ถ้าเงื่อนไขที่กาหนด เป็นจริง โปรแกรมจะทางานที่ชุดคาสั่งภายในลูป เมื่อโปรแกรมทางาน เสร็ จ จะตรวจสอบเงื่ อ นไขใหม่ อี ก ครั้ ง ถ้ า เงื่ อ นไขที่ ก าหนดเป็ น เท็ จ โปรแกรมจะออกจากลูปการทางานไปทางานที่คาสั่งถัดไปทันที ซึ่งคาสั่ง while ในภาษา C มีรูปแบบคาสั่งดังนี้ while(condition) { statements; }
  • 22.
    โดยที่ condition เป็นเงื่อนไขที่กาหนดให้ตรวจสอบก่อนทางานภายในลูปทุกครั้ง statements เป็นชุดคาสั่งที่ต้องทาเมื่อเงื่อนไขเป็นจริง เท็จ ตรวจสอบเงื่อนไข จริง ชุดคาสั่ง
  • 23.
    วนลูปการทางานอย่างน้อย 1 ครั้งด้วยคาสัง do…while ่ คาสั่ง d0...while เป็นคาสั่งวนซ้าการทางาน เดิ ม ๆ โดยโปรแกรมจะท างานชุ ด ค าสั่ ง ภายในลูปก่อน 1 รอบ จึงตรวจสอบเงื่อนไข ที่ ก าหนด ถ้ า เงื่ อ นไขที่ ก าหนดเป็ น จริ ง ให้ กลั บ ไปท างานชุ ด ค าสั่ ง ภายในลู ป อี ก ครั้ ง และตรวจสอบเงื่ อ นไขที่ ก าหนดอี ก ครั้ ง ถ้ า เงื่อนไขที่กาหนดเป็นเท็จ โปรแกรมจะออก จากลู ป การท างานไปท างานที่ ค าสั่ ง ถั ด ไป ทันที
  • 24.
    ซึ่งคาสั่ง do...while ในภาษาC มีรูปแบบคาสั่งดังนี้ do { statements; }while (condition); โดยที่ condition เป็นเงื่อนไขที่กาหนดให้ตรวจสอบหลังทางานภายในลูป ทุกครั้ง statements เป็นชุดคาสั่งที่ทางานก่อนตรวจสอบเงื่อนไข
  • 25.
    จากรู ป แบบคาสั่ ง do...while สามารถเขี ย นแผนผั ง การท างาน (Flowchart) ได้ดังนี้ ชุดคาสั่ง จริง ตรวจสอบเงื่อนไข เท็จ
  • 26.
    ที่มา : คู่มืออบรมครูวิทยาศาสตร์คณิตศาสตร์ คอมพิวเตอร์ โลก ดาราศาสตร์ และอวกาศ ระดับมัธยมศึกษาตอนปลาย หนังสือเรียนรายวิชาเพิ่มเติม การเขียนโปรแกรมเบื้องต้นด้วยภาษา C บริษทซัคเซสมีเดีย คู่มือเรียนเขียนโปรแกรมภาษา สานักพิมพ์ IDC PREMIER