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


 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.
   61   62   63   64   65   66   67   68   69   70   71