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