Page 65 - การพัฒานาหนังสืออิเล็กทรอนิกส์เรื่องวิวัฒนาการภาษาของคอมพิวเตอร์
P. 65
�
ํ
หน่วยที5 คาสั�งควบคุมแบบทางเลือก 60 หน่วยที5 คาสั�งควบคุมแบบทางเลือก 61
�
ํ
......................................................................................................................................................... .........................................................................................................................................................
4. คำาสั่ง if-else เชิงซ้อน (Nested if) คำาสั่ง if – else เชิงซ้อนเป็นรูปแบบการทำางานแบบหลายทางเลือก โดยจะมีคำาสั่ง
เพียงเดียวเท่านั้นที่จะถูกเลือกให้ประมวลผล ขึ้นอยู่กับว่า เงื่อนไขทางเลือก ใดเป็น
----------------------------------------------------------------- จริง และในกรณีที่ไม่มี เงื่อนไขทางเลือก ใดเป็นจริงเลย คำาสั่งn จะถูกประมวลผล
คำาสั่ง if – else เชิงซ้อน คือ คำาสั่ง if – else ที่มีคำาสั่ง if – else ซ้อนอยู่ในส่วน else
ประโยคเงื่อนไขในลักษณะนี้ อาจสร้างความสับสนแก่ผู้เขียนโปรแกรมได้ จึงต้องมี
ความระมัดระวัง คำาสั่ง1, คำาสั่ง2, คำาสั่ง3, …, คำาสั่งn อาจเป็นคำาสั่งอย่างง่ายหรือคำาสั่งเชิงประกอบ
รูปแบบของคำาสั่ง if – else เชิงซ้อน เป็นดังนี้
if (เงื่อนไขทางเลือก1) ตัวอย่าง
คำาสั่ง1; 1 //Program: Guess3.c
else if (เงื่อนไขทางเลือก2) 2 3 #define TARGET 25
คำาสั่ง2; 4 5 #include <stdio.h>
else if (เงื่อนไขทางเลือก3) 6 7 void main() {
int y;
คำาสั่ง3; 8 9 printf("Enter integer value: ");
... 10 scanf("%d",&y);
11
else if (เงื่อนไขทางเลือกn-1) 12 printf("Too high.");
if (y > TARGET)
13
คำาสั่งn-1; 14 else if (y < TARGET)
15
printf("Too low.");
else 16 printf("Correct!!");
else
17
คำาสั่งn; 18 getch();
19
20 }
ผลลัพธ์ของการรันครั้งที่ 1 คือ
Enter integer value: 100
Too high.