Page 63 - การพัฒนาการหนังสืออิเล็กทรอนิกส์เรื่องภาษาซี
P. 63

หน่วยที่ 5 คำาสั่งควบคุมแบบทางเลือก                   58                                                               หน่วยที่ 5 คำาสั่งควบคุมแบบทางเลือก                   59



        ..................................................................................................................................................  ................................................................................................................................................


        3. คำาสั่ง if-else                                                                                                     ผลลัพธ์ คือ



        -------------------------------------------------------------------------------------------------------------

        ตัวอย่าง                                                                                                                                Enter integer value: 18

                                                                                                                                                Your guess is incorrect.
        รูปแบบของคำาสั่ง if – else เป็นดังนี้                                                                                                   Good bye.


        if (เงื่อนไขทางเลือก)

          คำาสั่ง1;                                                                                                                จากผลลัพธ์ตัวอย่างที่ 4.1.2 ตัวแปร y รับค่าจากแป้นพิมพ์ เท่ากับ 18 นิพจน์เปรียบ


        else                                                                                                                   เทียบ y == TARGET จะมีค่าเป็นเท็จ จะไม่ประมวลผลฟังก์ชัน printf( ) ในบรรทัดที่ 13

          คำาสั่ง2;                                                                                                            แต่ฟังก์ชัน printf( ) ในบรรทัดที่ 15 จะถูกประมวลผลแทน แล้วไปประมวลผลต่อในคำาสั่ง

                                                                                                                               ถัดไป (ในบรรทัดที่ 16) จนจบโปรแกรม





                                                                                                                                   จะเห็นได้ว่าคำาสั่ง if และคำาสั่ง if – else ทำาให้เกิดทางเลือกของการประมวลผลภาย

                                                                                                                               ใต้เงื่อนไขที่กำาหนดโดยนิพจน์ที่อยู่ต่อจาก if ในคำาสั่ง if ถ้าเงื่อนไขเป็นเท็จคำาสั่งที่อยู่หลัง


                                                                                                                               เงื่อนไขจะไม่ถูกประมวลผล สำาหรับในกรณีคำาสั่ง if – else จะมีเพียงคำาสั่งหนึ่งคำาสั่งใด

                                                                                                                               เท่านั้นที่จะถูกประมวลผล ซึ่งจะประมวลผลคำาสั่งใดขึ้นอยู่กับค่าความจริงของเงื่อนไข








                                              ผังงานของคำาสั่ง if-else




                          1                            //Program: Guess2.c
                          2
                          3                             #define TARGET 25
                          4                             #include <stdio.h>
                          5
                          6                               void main() {
                          7                                   int y;
                          8
                          9                       printf("Enter integer value: ");
                          10                              scanf("%d",&y);
                          11
                          12                             if (y == TARGET)
                          13                       printf("Your guess is correct.");
                          14                                   else
                          15                      printf("Your guess is incorrect.");
                          16                         printf("\nGood bye.\n");
                          17
                          18                                 getch();
                          19                                    }
   58   59   60   61   62   63   64   65   66   67   68