Page 67 - การพัฒานาหนังสืออิเล็กทรอนิกส์เรื่องวิวัฒนาการภาษาของคอมพิวเตอร์
P. 67
หน่วยที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