Page 66 - การพฒนาการหนงสออเลกทรอนกสเรองภาษาซ
P. 66
�
ํ
�
หน่วยที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
2
else if (เงื่อนไขทางเลือก2) 3 4 #include <stdio.h>
#define TARGET 25
คำาสั่ง2; 5 6 void main() {
else if (เงื่อนไขทางเลือก3) 7 8 int y;
9
คำาสั่ง3; 10 printf("Enter integer value: ");
scanf("%d",&y);
... 11 if (y > TARGET)
12
else if (เงื่อนไขทางเลือกn-1) 13 else if (y < TARGET)
printf("Too high.");
14
คำาสั่งn-1; 15 printf("Too low.");
16
else
else 17 printf("Correct!!");
18
คำาสั่งn; 19 getch();
20
}
ผลลัพธ์ของการรันครั้งที่ 1 คือ
Enter integer value: 100
Too high.