บทที่ 8
                                                 โครงสร้างแบบมีทางเลือก
เนื้อหา
          1.   คําสั่ง if
          2.   คําสั่ง if else
          3.   คําสั่ง if else if
          4.   คําสั่ง switch … case

ผลการเรียนรู้ท่คาดหวัง
               ี
      เขียนโปรแกรมที่มีโครงสร้างการทํางานแบบมีทางเลือกได้



        ในการเขียนโปรแกรมคอมพิวเตอร์บางครั้งจะต้องมีการให้โปรแกรมมีทางเลือก เพื่อที่จะทํางาน
อย่างใดอย่างหนึ่ง โดยถ้าเงื่อนไขเป็นจริงจะทํา ถ้าเงื่อนไขเป็นเท็จจะไม่ทํา ตัวอย่างการทํางานใน
คอมพิวเตอร์ที่อาจพบบ่อย เช่น กรณีที่เราใช้งานโปรแกรม Microsoft Word เมื่อเราปิดโปรแกรมโดยไม่ได้
บันทึก จะมีการเตือนให้เลือกบันทึกข้อมูลไว้ในดิสก์คือ
        กรณีเลือก Yes จะบันทึกข้อมูลในดิสก์
        กรณีเลือก No จะไม่บันทึกข้อมูล
          ในบทนี้จะกล่าวถึงโครงสร้างการทํางานแบบมีทางเลือกโดยในที่นี้แบ่งเป็น 4 ลักษณะ คือ
                  1. คําสั่ง if
                  2. คําสั่ง if else
                  3. คําสั่ง if else if
                  4. คําสั่ง switch … case




รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน                                    ภาคเรียนที่ 1/2554
-2-

    1. คําสั่ง if เป็นคําสั่งที่มีการทดสอบเงื่อนไข (จริง/เท็จ) ก่อนที่จะทํางานตามคําสั่งที่กําหนด คําสั่ง if มี
รูปแบบดังรูปที่ 1.1
                           if(expression)
                                   statement A;
                                                                                  ก
                           -----------------------------------------------------------
                           if(expression)
                           {       statement A1;
                                                                                  ข
                                   statement A2;
                                   …
                                   statement An;
                           }

                                     รูปที่ 1.1 รูปแบบการใช้งานคําสั่ง if
                                      (ก) กรณีภายใต้ if มีกจกรรมเดียว
                                                           ิ
                               (ข) กรณีภายใต้ if มีกิจกรรมมากกว่าหนึ่งกิจกรรม


          โดย expression เป็นเงื่อนไขที่มีค่าความจริงได้เพียงแบบเดียวคือ จริง หรือ เท็จ เท่านั้น ถ้ามีค่าเป็น
จริงจะทําตามคําสั่งชุด A จากนั้นจึงออกไปทําตามคําสั่งถัดไปตามปกติ แต่ถ้าเงื่อนไขมีค่าเป็นเท็จ จะไม่ทําตาม
คําสั่งในชุด A ส่วนคําสั่งที่อยู่ถดไป(ถ้ามี) ก็จะมีการทํางานตามปกติ
                                  ั


                                                               จริง
                                            เงื่อนไข
                                                  เท็จ
                                                                      คําสั่งชุด A




                              รูปที่ 1.2 ส่วนของผังงานแทนการทํางานของคําสั่ง if

    ตัวอย่างที่ 1.1
                      #include<stdio.h>
                      int main()
                      {      int n;
                             printf(" Enter Number n= ");
                             scanf("%d",&n);
                             if(n>0)
                                     printf("positive number");
                             return 0;
                      }




รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน                                              ภาคเรียนที่ 1/2554
-3-

    ตัวอย่างที่ 1.2
                      #include<stdio.h>
                      int main()
                      {
                             int magic=123, guess;
                             printf(" Enter Number = ");
                             scanf("%d",&guess);
                             if(guess == magic)
                                     printf("right");
                             printf("nbye");
                             return 0;
                      }


    ตัวอย่างที่ 1.3
                      #include<stdio.h>
                      int main()
                      {
                             int answer;
                             printf(" What is 4+5 ? ");
                             scanf("%d",&answer);
                             if(answer == 4+5)
                             {
                                     printf("right");
                                     printf("nbye");
                             }
                             return 0;
                      }




รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน    ภาคเรียนที่ 1/2554
-4-

    2. คําสั่ง if else . เป็นคําสั่งที่มีการทดสอบเงื่อนไขแบบ 2 ทางเลือก ถ้าเงื่อนไขเป็นจริง ให้ทําตามคําสั่ง
    ชุด A แต่ถ้าเงื่อนไขเป็นเท็จ ให้ทําตามคําสั่งชุด B หรือกล่าวได้ว่าถ้าเงื่อนไขเป็นจริงทําคําสั่งหลัง if
    (จํานวน 1 ชุดคําสั่ง) แต่ถ้าเงื่อนไขเป็นเท็จจึงไปทําหลัง else (จํานวน 1 ชุดคําสั่ง) ซึ่งจะเห็นว่าต้องเลือก
    ทําอย่างใดอย่างหนึ่งเสมอ สําหรับการทํางานของคําสั่ง if else มีรูปแบบของคําสั่ง if else ดังรูปที่ 1.3
                       if (expression)
                               statement A;
                       else
                                                                                     ก
                               statement B;
                       -----------------------------------------------------------------
                       if (expression)
                       {       statement A1;
                                                                                     ข
                               statement A2;
                               …
                               statement An;
                       }
                       else
                       {       statement B1;
                               statement B2;
                               …
                               statement Bn;
                       }

                                  รูปที่ 1.3 รูปแบบการใช้งานคําสั่ง if else
                                   (ก) กรณีภายใต้ if else มีกิจกรรมเดียว
                            (ข) กรณีภายใต้ if else มีกิจกรรมมากกว่าหนึ่งกิจกรรม


โดย expression เป็นเงื่อนไขที่มีค่าความจริงได้เพียงแบบเดียวคือ จริง หรือ เท็จ เท่านั้น ถ้ามีค่าเป็นจริง
โปรแกรมจะทํางานต่อไปในคําสั่งหลัง if คือ คําสั่งชุด A เสร็จแล้วออกจาก if โดยไม่ทําตามคําสั่งชุด B ถ้า
expression มีค่าเป็นเท็จ โปรแกรมจะทําตามคําสั่งหลัง else คือ คําสั่งชุด B แล้วออกไปโดยไม่ทําตามคําสั่ง
ชุด A


                                                                 จริง
                                             เงื่อนไข
                                                    เท็จ
                                            คําสั่งชุด B                คําสั่งชุด A



                           รูปที่ 1.4 ส่วนของผังงานแทนการทํางานของคําสั่ง if else


รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน                                           ภาคเรียนที่ 1/2554
-5-

ตัวอย่างที่ 1.4
                  #include<stdio.h>
                  int main()
                  {      int n;
                         printf("Enter Integer Number : "); scanf("%d",&n);
                         if(n>0)
                         {       printf("positive number n");
                         } // end if
                         else
                         {       printf("negative number or zeron");
                         } // end else
                         return 0;
                  }


ตัวอย่างที่ 1.5
                  #include<stdio.h>
                  int main()
                  {      int n1,n2;
                         printf("Enter first number : ");       scanf("%d",&n1);
                         printf("Enter second number : ");      scanf("%d",&n2);
                         if(n2 == 0)
                         {       printf("can not divide by zeron");
                         }// end if
                         else
                         {       printf("answer is %d",n1/n2);
                         } // end else
                         return 0;
                  }

ตัวอย่างที่ 1.6
                  #include<stdio.h>
                  int main()
                  {      int answer;
                         printf(" What is 4+5 ? ");          scanf("%d",&answer);
                         if(answer == 4+5)
                                 printf("right");
                         else
                                 printf("wrong");
                         printf("nbye");
                         return 0;
                  }




รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน                           ภาคเรียนที่ 1/2554
-6-

    3. คําสั่ง if else if หรือ Nested if . มีโครงสร้าง else if เพิ่มเข้ามาในคําสั่ง else ทําให้ใช้คําสั่ง else
    if เพิ่มได้ตามที่ต้องการ ใช้กับการตัดสินใจที่มีทางเลือกมากกว่า 2 ทางเลือก รูปแบบของคําสั่ง if else if
    ดังรูปที่ 1.5 โดยในที่นี้จะแสดงเฉพาะกรณีคําสั่งประกอบ ส่วนคําสั่งเดี่ยวจะอาศัยหลักการเช่นเดียวกับ
    กรณีของโครงสร้างแบบ if และ if else
                       if (expression-1)
                       {     statement A;
                       }
                                else if (expression-2)
                                {    statement B;
                                }
                                         else if (expression-n)
                                         {     statement n;
                                         }
                                                  else
                                                  {    statement n+1;
                                                  }


                                     รูปที่ 1.5 รูปแบบการใช้งานคําสั่ง if else if



                                                       เท็จ                      จริง
                                                                    เงื่อนไข 1

                                       เท็จ                         จริง
                                                เงื่อนไข 2
                                                     นไข
                                                                                        คําสั่ง
                      เท็จ       เงื่อนไข n
                                                จริง                  คําสั่ง

                 คําสั่ง                          คําสั่ง




                             รูปที่ 1.6 ส่วนของผังงานแทนการทํางานของคําสั่ง if else if




รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน                                           ภาคเรียนที่ 1/2554
-7-

    ตัวอย่างที่ 1.7
          #include<stdio.h>
          int main()
          {      int n;
                 printf("Enter Integer Number : "); scanf("%d",&n);
                 if(n>0)
                 {        printf("positive number n");
                 }
                  else if(n<0)
                 {        printf("negative numbern");
                 }
                 else
                 {        printf("zeron");
                 }
                 return 0;
          }


    ตัวอย่างที่ 1.8
           #include<stdio.h>
           #include<conio.h>
           int main()
           {      int a,b;
                  char ch;
                  printf("Do you want to n");
                  printf("A:Add, S:Subtract, M: Multiply, or D:Divide ? n ");
                  printf("Enter the first letter :");          ch=getchar();
                  printf("Enter the fiist number :");          scanf("%d",&a);
                  printf("Enter the second number :");         scanf("%d",&b);
                  if((ch= ='A') || (ch= ='a'))
                           printf("result = %d",a+b);
                  else if((ch= ='S') || (ch= ='s'))
                           printf("result = %d",a-b);
                  else if((ch= ='M') || (ch= ='m'))
                           printf("result = %d",a*b);
                  else if( ((ch=='D') || (ch=='d')) && (b != 0))
                           printf("result = %d",a/b);
                  return 0;
           }




รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน                        ภาคเรียนที่ 1/2554
-8-

    4. คําสั่ง switch…case .
            เป็นคําสั่งที่ใช้ทดสอบเงื่อนไขและมีทางเลือกของการตัดสินใจหลายทาง ทํานองเดียวกับคําสั่ง if else if
แต่นิยมใช้คําสั่ง switch มากกว่า เพราะมีรูปแบบที่เข้าใจได้ง่าย สะดวกในการแก้ไขในกรณีที่มีการผิดพลาด รูปแบบ
การทํางานดังรูปที่ 1.7 อย่างไรก็ตามการเลือกใช้ switch ยังมีข้อจํากัดบางประการเนื่องจากค่าคงที่(constant) หลัง
case จะต้องเป็นชนิด int หรือ char เท่านั้น ดังนั้นในการพิจารณาเลือกใช้ if หรือ switch จะต้องพิจาณาในส่วนนี้
ด้วย
              switch (expression)
              {
                     case (constant-1) :           statements;
                                                   break;

                       case (constant-2):          statements;
                                                   break;

                       …

                       case (constant-n):          statements;
                                                   break;

                       default :
                                       รูปที่ 1.7 รูstatements; านคําสั่ง switch
                                                    ปแบบการใช้ง
              }


         expression ของ switch จะถูกใช้เพื่อเปรียบเทียบค่าว่าตรงกับ constant ของ case ใด โดยโปรแกรมจะ
ปฏิบัติตามคําสั่งต่าง ๆ ใน case นั้น ส่วนคําสั่ง break; จะเป็นคําสั่งให้ออกจากคําสั่ง switch ในกรณีท่ีไม่มีคําสั่ง
break โปรแกรมจะปฏิบัติเรียงตามลําดับตลอดทุกคําสั่งในทุก case ที่อยู่ต่อกัน ในกรณีที่ค่าของ expression ของ
switch ไม่ตรงกับ constant ของ case ใด โปรแกรมจะปฏิบัติตามคําสั่งใน default โดยข้อสังเกตในแต่ละ case
อาจมีคําสั่งหลายคําสั่งไม่ต้องใช้เครื่องหมาย { } คร่อมดังกรณีของคําสั่ง if แบบต่างๆ
ตัวอย่างที่ 1.9
                  #include<stdio.h>
                  #include<conio.h>
                  int main()
                  {      char operator;
                         int ans,x,y;
                         x=10; y=2;
                         printf("Enter operator : "); operator =getche(); printf("n");
                         switch (operator)
                         {
                                 case '+'       : ans =x + y; printf("answer = %d",ans); break;
                                 case '-'       : ans=x-y;      printf("answer = %d",ans); break;
                                 case '*'       : ans=x*y;      printf("answer = %d",ans); break;
                                 case '/'       : ans=x/y;      printf("answer = %d",ans); break;
                                 default        : printf("This program can use only +,-,*,/ n");
                         }return 0;
                  }


รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน                                        ภาคเรียนที่ 1/2554

Tech30101 ch8

  • 1.
    บทที่ 8 โครงสร้างแบบมีทางเลือก เนื้อหา 1. คําสั่ง if 2. คําสั่ง if else 3. คําสั่ง if else if 4. คําสั่ง switch … case ผลการเรียนรู้ท่คาดหวัง ี เขียนโปรแกรมที่มีโครงสร้างการทํางานแบบมีทางเลือกได้ ในการเขียนโปรแกรมคอมพิวเตอร์บางครั้งจะต้องมีการให้โปรแกรมมีทางเลือก เพื่อที่จะทํางาน อย่างใดอย่างหนึ่ง โดยถ้าเงื่อนไขเป็นจริงจะทํา ถ้าเงื่อนไขเป็นเท็จจะไม่ทํา ตัวอย่างการทํางานใน คอมพิวเตอร์ที่อาจพบบ่อย เช่น กรณีที่เราใช้งานโปรแกรม Microsoft Word เมื่อเราปิดโปรแกรมโดยไม่ได้ บันทึก จะมีการเตือนให้เลือกบันทึกข้อมูลไว้ในดิสก์คือ กรณีเลือก Yes จะบันทึกข้อมูลในดิสก์ กรณีเลือก No จะไม่บันทึกข้อมูล ในบทนี้จะกล่าวถึงโครงสร้างการทํางานแบบมีทางเลือกโดยในที่นี้แบ่งเป็น 4 ลักษณะ คือ 1. คําสั่ง if 2. คําสั่ง if else 3. คําสั่ง if else if 4. คําสั่ง switch … case รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน ภาคเรียนที่ 1/2554
  • 2.
    -2- 1. คําสั่ง if เป็นคําสั่งที่มีการทดสอบเงื่อนไข (จริง/เท็จ) ก่อนที่จะทํางานตามคําสั่งที่กําหนด คําสั่ง if มี รูปแบบดังรูปที่ 1.1 if(expression) statement A; ก ----------------------------------------------------------- if(expression) { statement A1; ข statement A2; … statement An; } รูปที่ 1.1 รูปแบบการใช้งานคําสั่ง if (ก) กรณีภายใต้ if มีกจกรรมเดียว ิ (ข) กรณีภายใต้ if มีกิจกรรมมากกว่าหนึ่งกิจกรรม โดย expression เป็นเงื่อนไขที่มีค่าความจริงได้เพียงแบบเดียวคือ จริง หรือ เท็จ เท่านั้น ถ้ามีค่าเป็น จริงจะทําตามคําสั่งชุด A จากนั้นจึงออกไปทําตามคําสั่งถัดไปตามปกติ แต่ถ้าเงื่อนไขมีค่าเป็นเท็จ จะไม่ทําตาม คําสั่งในชุด A ส่วนคําสั่งที่อยู่ถดไป(ถ้ามี) ก็จะมีการทํางานตามปกติ ั จริง เงื่อนไข เท็จ คําสั่งชุด A รูปที่ 1.2 ส่วนของผังงานแทนการทํางานของคําสั่ง if ตัวอย่างที่ 1.1 #include<stdio.h> int main() { int n; printf(" Enter Number n= "); scanf("%d",&n); if(n>0) printf("positive number"); return 0; } รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน ภาคเรียนที่ 1/2554
  • 3.
    -3- ตัวอย่างที่ 1.2 #include<stdio.h> int main() { int magic=123, guess; printf(" Enter Number = "); scanf("%d",&guess); if(guess == magic) printf("right"); printf("nbye"); return 0; } ตัวอย่างที่ 1.3 #include<stdio.h> int main() { int answer; printf(" What is 4+5 ? "); scanf("%d",&answer); if(answer == 4+5) { printf("right"); printf("nbye"); } return 0; } รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน ภาคเรียนที่ 1/2554
  • 4.
    -4- 2. คําสั่ง if else . เป็นคําสั่งที่มีการทดสอบเงื่อนไขแบบ 2 ทางเลือก ถ้าเงื่อนไขเป็นจริง ให้ทําตามคําสั่ง ชุด A แต่ถ้าเงื่อนไขเป็นเท็จ ให้ทําตามคําสั่งชุด B หรือกล่าวได้ว่าถ้าเงื่อนไขเป็นจริงทําคําสั่งหลัง if (จํานวน 1 ชุดคําสั่ง) แต่ถ้าเงื่อนไขเป็นเท็จจึงไปทําหลัง else (จํานวน 1 ชุดคําสั่ง) ซึ่งจะเห็นว่าต้องเลือก ทําอย่างใดอย่างหนึ่งเสมอ สําหรับการทํางานของคําสั่ง if else มีรูปแบบของคําสั่ง if else ดังรูปที่ 1.3 if (expression) statement A; else ก statement B; ----------------------------------------------------------------- if (expression) { statement A1; ข statement A2; … statement An; } else { statement B1; statement B2; … statement Bn; } รูปที่ 1.3 รูปแบบการใช้งานคําสั่ง if else (ก) กรณีภายใต้ if else มีกิจกรรมเดียว (ข) กรณีภายใต้ if else มีกิจกรรมมากกว่าหนึ่งกิจกรรม โดย expression เป็นเงื่อนไขที่มีค่าความจริงได้เพียงแบบเดียวคือ จริง หรือ เท็จ เท่านั้น ถ้ามีค่าเป็นจริง โปรแกรมจะทํางานต่อไปในคําสั่งหลัง if คือ คําสั่งชุด A เสร็จแล้วออกจาก if โดยไม่ทําตามคําสั่งชุด B ถ้า expression มีค่าเป็นเท็จ โปรแกรมจะทําตามคําสั่งหลัง else คือ คําสั่งชุด B แล้วออกไปโดยไม่ทําตามคําสั่ง ชุด A จริง เงื่อนไข เท็จ คําสั่งชุด B คําสั่งชุด A รูปที่ 1.4 ส่วนของผังงานแทนการทํางานของคําสั่ง if else รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน ภาคเรียนที่ 1/2554
  • 5.
    -5- ตัวอย่างที่ 1.4 #include<stdio.h> int main() { int n; printf("Enter Integer Number : "); scanf("%d",&n); if(n>0) { printf("positive number n"); } // end if else { printf("negative number or zeron"); } // end else return 0; } ตัวอย่างที่ 1.5 #include<stdio.h> int main() { int n1,n2; printf("Enter first number : "); scanf("%d",&n1); printf("Enter second number : "); scanf("%d",&n2); if(n2 == 0) { printf("can not divide by zeron"); }// end if else { printf("answer is %d",n1/n2); } // end else return 0; } ตัวอย่างที่ 1.6 #include<stdio.h> int main() { int answer; printf(" What is 4+5 ? "); scanf("%d",&answer); if(answer == 4+5) printf("right"); else printf("wrong"); printf("nbye"); return 0; } รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน ภาคเรียนที่ 1/2554
  • 6.
    -6- 3. คําสั่ง if else if หรือ Nested if . มีโครงสร้าง else if เพิ่มเข้ามาในคําสั่ง else ทําให้ใช้คําสั่ง else if เพิ่มได้ตามที่ต้องการ ใช้กับการตัดสินใจที่มีทางเลือกมากกว่า 2 ทางเลือก รูปแบบของคําสั่ง if else if ดังรูปที่ 1.5 โดยในที่นี้จะแสดงเฉพาะกรณีคําสั่งประกอบ ส่วนคําสั่งเดี่ยวจะอาศัยหลักการเช่นเดียวกับ กรณีของโครงสร้างแบบ if และ if else if (expression-1) { statement A; } else if (expression-2) { statement B; } else if (expression-n) { statement n; } else { statement n+1; } รูปที่ 1.5 รูปแบบการใช้งานคําสั่ง if else if เท็จ จริง เงื่อนไข 1 เท็จ จริง เงื่อนไข 2 นไข คําสั่ง เท็จ เงื่อนไข n จริง คําสั่ง คําสั่ง คําสั่ง รูปที่ 1.6 ส่วนของผังงานแทนการทํางานของคําสั่ง if else if รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน ภาคเรียนที่ 1/2554
  • 7.
    -7- ตัวอย่างที่ 1.7 #include<stdio.h> int main() { int n; printf("Enter Integer Number : "); scanf("%d",&n); if(n>0) { printf("positive number n"); } else if(n<0) { printf("negative numbern"); } else { printf("zeron"); } return 0; } ตัวอย่างที่ 1.8 #include<stdio.h> #include<conio.h> int main() { int a,b; char ch; printf("Do you want to n"); printf("A:Add, S:Subtract, M: Multiply, or D:Divide ? n "); printf("Enter the first letter :"); ch=getchar(); printf("Enter the fiist number :"); scanf("%d",&a); printf("Enter the second number :"); scanf("%d",&b); if((ch= ='A') || (ch= ='a')) printf("result = %d",a+b); else if((ch= ='S') || (ch= ='s')) printf("result = %d",a-b); else if((ch= ='M') || (ch= ='m')) printf("result = %d",a*b); else if( ((ch=='D') || (ch=='d')) && (b != 0)) printf("result = %d",a/b); return 0; } รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน ภาคเรียนที่ 1/2554
  • 8.
    -8- 4. คําสั่ง switch…case . เป็นคําสั่งที่ใช้ทดสอบเงื่อนไขและมีทางเลือกของการตัดสินใจหลายทาง ทํานองเดียวกับคําสั่ง if else if แต่นิยมใช้คําสั่ง switch มากกว่า เพราะมีรูปแบบที่เข้าใจได้ง่าย สะดวกในการแก้ไขในกรณีที่มีการผิดพลาด รูปแบบ การทํางานดังรูปที่ 1.7 อย่างไรก็ตามการเลือกใช้ switch ยังมีข้อจํากัดบางประการเนื่องจากค่าคงที่(constant) หลัง case จะต้องเป็นชนิด int หรือ char เท่านั้น ดังนั้นในการพิจารณาเลือกใช้ if หรือ switch จะต้องพิจาณาในส่วนนี้ ด้วย switch (expression) { case (constant-1) : statements; break; case (constant-2): statements; break; … case (constant-n): statements; break; default : รูปที่ 1.7 รูstatements; านคําสั่ง switch ปแบบการใช้ง } expression ของ switch จะถูกใช้เพื่อเปรียบเทียบค่าว่าตรงกับ constant ของ case ใด โดยโปรแกรมจะ ปฏิบัติตามคําสั่งต่าง ๆ ใน case นั้น ส่วนคําสั่ง break; จะเป็นคําสั่งให้ออกจากคําสั่ง switch ในกรณีท่ีไม่มีคําสั่ง break โปรแกรมจะปฏิบัติเรียงตามลําดับตลอดทุกคําสั่งในทุก case ที่อยู่ต่อกัน ในกรณีที่ค่าของ expression ของ switch ไม่ตรงกับ constant ของ case ใด โปรแกรมจะปฏิบัติตามคําสั่งใน default โดยข้อสังเกตในแต่ละ case อาจมีคําสั่งหลายคําสั่งไม่ต้องใช้เครื่องหมาย { } คร่อมดังกรณีของคําสั่ง if แบบต่างๆ ตัวอย่างที่ 1.9 #include<stdio.h> #include<conio.h> int main() { char operator; int ans,x,y; x=10; y=2; printf("Enter operator : "); operator =getche(); printf("n"); switch (operator) { case '+' : ans =x + y; printf("answer = %d",ans); break; case '-' : ans=x-y; printf("answer = %d",ans); break; case '*' : ans=x*y; printf("answer = %d",ans); break; case '/' : ans=x/y; printf("answer = %d",ans); break; default : printf("This program can use only +,-,*,/ n"); }return 0; } รายวิชา ง30101 เทคโนโลยีสารสนเทศและการเขียนโปรแกรมขั้นตน ภาคเรียนที่ 1/2554