Page 68 - การพัฒานาหนังสืออิเล็กทรอนิกส์เรื่องวิวัฒนาการภาษาของคอมพิวเตอร์
P. 68

หน่วยที5 คาสั�งควบคุมแบบทางเลือก  62                                               หน่วยที5 คาสั�งควบคุมแบบทางเลือก  63
 �
 ํ
                                                          �
                                                               ํ
 .........................................................................................................................................................  .........................................................................................................................................................

 ผลลัพธ์ของการรันครั้งที่ 2 คือ    ถ้า เงื่อนไขทางเลือก1 และ เงื่อนไขทางเลือก2 มีค่า จริง แล้วโปรแกรมจะประมวล


        ผล คำาสั่ง1 ก่อนที่จะประมวลผล คำาสั่ง3


 Enter integer value: 9    ถ้า เงื่อนไขทางเลือก1 มีค่า จริง ขณะที่ เงื่อนไขทางเลือก2 มีค่าเท็จ แล้วโปรแกรม

 Too low.  จะประมวลผล คำาสั่ง2 ก่อนที่จะประมวลผล คำาสั่ง3
          และถ้า เงื่อนไขทางเลือก1 มีค่า เท็จ แล้วโปรแกรมจะประมวลผล คำาสั่ง3 เพียงคำา



 ผลลัพธ์ของการรันครั้งที่ 3 คือ  สั่งเดียวเท่านั้น
          นั่นคือ ในคำาสั่ง if – else ( หรือคำาสั่ง if – else เชิงซ้อน ) else จะถูกจับคู่กับ if ก่อน

        หน้าที่อยู่ใกล้ที่สุดเสมอ ซึ่งในที่นี้คือ if ( เงื่อนไขทางเลือก2 )

 Enter integer value: 25
           ดังนั้น ในกรณีที่ต้องการให้ คำาสั่ง2 ถูกประมวลผล เงื่อนไขทางเลือก1 มีค่า เท็จ
 Correct!!   ก่อนที่จะประมวลผล คำาสั่ง3 จะต้องเพิ่มเครื่องหมาย { และ } ตามรูปแบบด้านล่าง


        และในที่นี้ if ( เงื่อนไขทางเลือก2 ) จัดเป็นคำาสั่ง if ที่ซ้อนอยู่ในคำาสั่ง if – else ของ if (
  พิจารณาค่าของตัวแปร y สำาหรับโปรแกรมข้างต้นเป็น 3 กรณี ดังนี้
        เงื่อนไขทางเลือก1 )




 พิจารณาค่าของตัวแปร y สำาหรับโปรแกรมข้างต้นเป็น 3 กรณี ดังนี้  if (เงื่อนไขทางเลือก1){

 •  กรณีที่ 1 ถ้า y มีค่าเท่ากับ 100 จะได้ว่านิพจน์ y >TARGET มีค่าเป็น จริง แล้ว     if (เงื่อนไขทางเลือก2)

 ฟังก์ชัน printf( ) ในบรรทัดที่ 13 จะถูกประมวลผล

 •  กรณีที่ 2 ถ้า y มีค่าเท่ากับ 9 จะได้ว่านิพจน์ y >TARGET มีค่าเป็น เท็จ และนิพจน์            คำาสั่ง1;
        }
  y < TARGET มีค่าเป็น จริง แล้ว ฟังก์ชัน printf( ) ในบรรทัดที่ 15 จะถูกประมวล     else

 ผล

 •  กรณีที่ 3 ถ้า y มีค่าเท่ากับ 25 จะได้ว่านิพจน์ y > TARGET และนิพจน์ y < TAR-            คำาสั่ง2;
        คำาสั่ง3;
 GET มีค่าเป็น เท็จ ทั้งคู่ ดังนั้น ฟังก์ชัน printf( ) ในบรรทัดที่ 17 จะถูกประมวล


  พิจารณาคำาสั่ง if ในรูปแบบต่อไปนี้ ซึ่งมีคำาสั่ง if – else ซ้อนอยู่ด้านใน





 if (เงื่อนไขทางเลือก1)

    if (เงื่อนไขทางเลือก2)

           คำาสั่ง1;

    else
   63   64   65   66   67   68   69   70   71   72   73