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
                                                                                                                                               2
        else  if (เงื่อนไขทางเลือก2)                                                                                                           3 4                           #include <stdio.h>
                                                                                                                                                                             #define TARGET 25

          คำาสั่ง2;                                                                                                                            5 6                             void main() {

          else  if (เงื่อนไขทางเลือก3)                                                                                                         7 8                                 int y;

            คำาสั่ง3;                                                                                                                         10 9                    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.
   60   61   62   63   64   65   66   67   68   69   70