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