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 ( เงื่อนไขทางเลือก1
 พิจารณาค่าของตัวแปร y สำาหรับโปรแกรมข้างต้นเป็น 3 กรณี ดังนี้   )

 •  กรณีที่ 1 ถ้า y มีค่าเท่ากับ 100 จะได้ว่านิพจน์ y >TARGET มีค่าเป็น จริง แล้วฟังก์ชัน

 printf( ) ในบรรทัดที่ 13 จะถูกประมวลผล  if (เงื่อนไขทางเลือก1){


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

 TARGET มีค่าเป็น จริง แล้ว ฟังก์ชัน printf( ) ในบรรทัดที่ 15 จะถูกประมวลผล            คำาสั่ง1;

 •  กรณีที่ 3 ถ้า y มีค่าเท่ากับ 25 จะได้ว่านิพจน์ y > TARGET และนิพจน์ y < TARGET มี  }


 ค่าเป็น เท็จ ทั้งคู่ ดังนั้น ฟังก์ชัน printf( ) ในบรรทัดที่ 17 จะถูกประมวลผล     else


                  คำาสั่ง2;


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

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


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

           คำาสั่ง1;

    else

           คำาสั่ง2;


 คำาสั่ง3;
   63   64   65   66   67   68   69   70   71   72   73