LOGO




       การเขีย นคำา สัง ควบคุม แบบ
                      ่
               มีท างเลือ ก
คำา สั่ง จัด เก็บ ข้อ มูล ลง
       หน่ว ยความจำา
คำา สัง จัด เก็บ ข้อ มูล ลงหน่ว ยความจำา
       ่
 การเขียนคำาสังกำาหนดลักษณะการจัดการ
                     ่
 ข้อมูล ให้หน่วยความจำาซึ่งมีด้วยกัน 2
 ประเภท คือ ประเภทตัวแปร และค่าคงที่
 สำาหรับบทนีมีรายละเอียดที่สำาคัญที่ต้องทราบ
               ้
     เพื่อนำาไปเขียนคำาสังกำาหนดคุณสมบัติหน่วย
                           ่
 ความจำาได้ถูกต้อง มีประสิทธิภาพมากขึ้น นั่น
                                  ์
 คือกฎเกณฑ์การกำาหนดชือหน่วยความจำา ชนิด
                             ่
 ข้อมูลพื้นฐานทั้งหมดในภาษาซี
การเขียนคำาสังกำาหนดค่าคงที่อีกรูปแบบหนึ่ง
                 ่
กฎเกณ์ก าร
                กำา หนดชื่อ
    กฎเกณ์ก ารกำา หนดชื่อ
 ชื่อ (ldentifier) หมายถึง ชื่อหน่วยความจำาประเภทตัวแปร ชื่อ
  หน่วยความจำาประเภทตัวแปรค่าคงที่ หรือ ชื่อในส่วนใดๆ ของ
  โปรแกรมที่ผู้สร้างโปรแกรมเป็นผู้กำาหนดด้วยตนเอง มีกฎเกณ์
  ดังนี้
 1.อักขระแรกต้องเป็นอักษร หรือเครื่องหมายขีดล่าง ( _ ) ตัว
  ถัดไปเป็นอักษร หรือตัวเลข หรือ เครื่องหมายขีดล่าง ( _ ) ก็ได้
 2.ภาษาซีมีความแตกต่างของชื่อที่กำาหนดคือ ชื่อทีใช้อกษรตัว
                                                      ั
  พิมพ์ใหย๋ หรือตัวพิมเล็ก จะจดเก็บข้อมูลในหน่วยความจำา
  ตำาแหน่งต่างกัน
 3.ห้ามใช้อกขระพิเศษ เช่น $ @ และห้ามมีช่องว่างระหว่าง
              ั
  อักขระโดยเด็ดขาด
ชนิด ข้อ มูล
ชนิด ข้อ มูล
ภาษาซีมีชนิดข้อมูลพื้นฐานให้เลือกใช้งาน 3 กลุ่ม
 หลุกคือ
อักขระ ตัวเลขจำานวนเต็ม วเลขทศนิยมผู้สร้างงาน
 โปรแกรมควร
เลือกใช้ชนิดข้อมูล ที่มีขอบเขตเหมาะสมกับข้อมูลจริง
  ในระบบงาน
เพื่อใช้หน่วยความจำาได้อย่างมีประสิทธิภาพ เพราะ
ชนิดข้อมูล     ขอบเขตของ            การเก็บข้อมูล
                    ข้อมูล
Char          -128 ถึง 127       เก็บแบบอักขระ
Unsigned      0 ถึง 255          เก็บแบบอักขระ ไม่คิด
char                             เครื่องหมาย
Int           -32768 ถึง         เก็บแบบจำานวนเต็ม
              32767
Unsigned      0 ถึง 65535          เก็บแบบจำานวนเต็ม ไม่
int                                คิดเครื่องหมาย
Short           -128 ถึง 127 เก็บแบบจำานวนเต็ม
                                   แบบสั่น
Unsigned 0 ถึง 255                 เก็บแบบจำานวนเต็ม
short                              แบบสั่น ไม่คิด
                                   เครื่องหมาย
Long            -                  เก็บแบบจำานวนเต็ม
                2147483648 แบบยาว
                ถึง
                2147483649
Unsigned 0 ถึง                     เก็บแบบจำานวนเต็ม
long            4294967296 แบบยาว ไม่คิด
     อธิบ าย หากต้องการใช้ข้อมูลแบบข้อความ ต้องใช้
                                   เครื่องหมาย
     ข้อมูลประเภทตัวแปรชุด เช่น
Float           3.4 x 10-38 ถึง เก็บตัวเลขแบบทศนิยม
คำา สั่ง กำา หนดข้อ มูล แบ
              ค่า คงที่
 คำาสังกำาหนดข้อมูลแบค่าคงที่
       ่
 คำาสังกำาหนดลักษณะข้อมูลให้เป็นค่าคงทีมี 3 ลักษณะ
         ่                                   ่
  คือ
 1.3.1 แบบที่ 1 ไม่ต้องกำาหนดชื่อหน่วยความจำา
  รองรับข้อมูล
 ตัว อย่า งคำา สั่ง พิมพ์ค่าคงที่โดยไม่ผ่านการใช้หน่วย
  ความจำา
 printf ( “ 2 x 2 = %d  n “ , 4) ;
 printf ( “ c => %c%c  n “ , ‘c’) ;
 อธิบาย เลข 4 กับ ‘c’ คือข้อมูลแบบค่าคงที่ ไม่ต้องจัด
 แบบที่ 2 เขียนบริเวณส่วนหัว ในโครงสร้าง
  ภาษาซี
 รูป แบบ #define macro_name data ;
 อธิบ าย macro_name คือชื่อของแมโคร
  ต้องใช้อกษรตัวพิมพ์ใหญ่
           ั
 data คือข้อมูลที่กำาหนดเป็นค่าคงที่
 ตัว อย่า งคำา สั่ง กำาหนดค่าคงที่ชื่อ MAX เพื่อ
  เก็บค่า 10
 #define MAX 10 ;
   แบบที่ 3 เขียนบริเวณส่วนฟังก์ชั่นหลัก main ()
   รูป แบบ const variable = data ;
   อธิบาย variable คือชื่อของตัวแปร
           Data        คือข้อมูลที่กำาหนดเป็นค่าคงที่
   ตัวอย่างคำาสั่ง กำาหนดค่าคงที่พร้อมให้จัดเก็บข้อมูล
   Const pi 3.14 ;
   Const ans = ‘n’ ;
   Const words = “ computer “ ;
การเขีย นนิพ จน์เ ชิง
           ตรรกะ
 การเขีย นนิพ จน์เ ชิง ตรรกะ
 การเขียนนิพจน์คณิตศาสตร์ ต้องใช้ตัวดำาเนินดาร
  คณิตศาสตร์ เขียนคำาสั่งควบคุมการประมาณผลข้อมูล
  สำาหรับการเขียนประโยคคำาสั่งควบคุมแบบมีทางเลือก
  ต้องกำาหนดเงื่อนไขการทำางาน ให้ระบบวิเคราะห์
  ข้อมูล เพือตัดสินใจเลิอกทางประมวลผลได้อัตโนมัติ
            ่
  ทางใดทางหนึงนั้น จึงต้องเขียนนิพจน์เชิงตรรกะ โดย
                ่
  ใช้ตัวดำาเนินการความสัมพันธ์ และตัวดำาเนินงานทาง
  ตรรกะ
ตัว ดำา เนิน การทางคณิต ศาสตร์
 ภาษาซีมีสัญลักษณ์ ดังนี้
 เครื่อ งหมาย       ความหมาย ตัว อย่า ง
 + บวก 3+2 การบวกเลข 3 บวกกับ 2 ได้ผลลัพธ์คือ 5
-     ลบ     3 - 2 การลบเลข 3 ลบกับ 2 ได้ผลลัพธ์คือ 1
 * คูณ       2*3 การคูณเลข 3 บวกกับ 2 ได้ผลลัพธ์คือ 6
/     หาร 15/2 การหาร 15 หารกับ 2 ได้ผลลัพธ์คือ 7
 % หารเอาเศษ 15%2การหารเอาเศษ 15 หารกับ 2 ได้
  ผลลัพธ์คือ 1
ตัว ดำา เนิน การความสัม พัน ธ์

 ใช้เขียนประโยคคำาสั่งแบบมีเงื่อนไข 1 ประโยค ใช้สัญลักษณ์
  ตัวดำาเนินการ ดังนี้
 ตัว ดำา เนิน การความสัม พัน ธ์ห รือ การเปรีย บเทีย บ
 สัญ ลัก ษณ์ การดำา เนิน การ         ตัว อย่า ง
 < น้อยกว่า           2<3 ผลลัพธ์ จริง(1)
 > มากกว่า            2>3 ผลลัพธ์ เท็จ(false)(0)
 <= น้อยกว่าหรือเท่ากับ 2<= 3 ผลลัพธ์ จริง(true)
 >= มากกว่าหรือเท่ากับ 2>= 3 ผลลัพธ์ เท็จ(false)
 == เท่ากับ 4==4 ผลลัพธ์ จริง(true)
 != ไม่เท่ากับ        2!= 2 ผลลัพธ์ เท็จ(false)
ตัว ดำา เนิน การเชิง ตรรกะ
          เป็นสัญลักษณ์ใช้เชื่อมประโยคคำาสั่งแบบมีเงื่อนไข 2 ประโยคขึนไป
                                                                       ้
    การสรุปค่าความจริงที่ได้ ให้ศึกษาจากตารางความจริง ใช้สัญลักษณ์ตัว
    ดำาเนินการ ดังนี้
   ตรรกะ คือการคิดเชิงเหตุผลทีมีค่าความจริงค่าใดค่าหนึ่งคือ จริง (true : 1)
                                   ่
    หรือเท็จ (false : 0 )
   ตัว ดำา เนิน การตรรกะ (logical operators)
   สัญลักษณ์         การดำาเนินการ     ตัวอย่าง
   && และ(AND)                 (2<3)&&(3>1) ผลลัพธ์ จริง
   ||     หรือ(OR) (2>3)||(4<1) ผลลัพธ์ เท็จ(false)
   !      ไม่(NOT) !(2> 3) ผลลัพธ์ จริง(true)
   อธิบาย การสรุปค่าความจริงของ 2 ประโยคเงื่อนไขนี้ ให้ศึกษาวิธีสรุปค่า
    ความจริงจากตารางต้ายล่าง โดยที่ x คือประโยคเงื่อนไขที่ 1 และ Y คือ
    ประโยคเงื่อนไขที่ 2
ตัว อย่า งคำา สัง การเขีย นนิพ จน์ท าง
                ่
                  ตรรกะ


ตัว อย่า งคำา สั่ง การเขียนนิพจน์ทางตรรกะ
( a > 0 ) && (a < 10)
หาก a มีค่า 10 ได้ค่าความจริงอย่างไร
อธิบ าย ขึ้นตอนความคิด
วิเคราะห์ประโยคที่ 1 ( a > 0 ) มีค่า T
วิเคราะห์ประโยคที่ 2 (a < 10) มีค่า F
สรุปประโยค 1 กับประโยค 2 คือ T && F
จากตารางค่าความจริง T && F ได้ F
คำา สั่ง ควบคุม แบบมีท างเลือ ก
                  ลัก ษณะ if

 คำา สั่ง ควบคุม แบบมีท างเลือ ก ลัก ษณะ if
 การเขียนคำาสั่งควบคุมการทำางานลักษณะให้ระบบ
  ตัดสินใจเลือกการทำางานคำาสั่ง หรือกลุ่มคำาสั่งใดได้
  อย่างอัตโนมัตินั่น ภาษาซีมคำาสั่งใช้ในงานด้านนีคือ
                            ี                     ้
  คำาสั่ง if และมีแนวทางการเขียนคำาสั่งควบคุมงาน 3
  ลักษณะคือ ทางเลือกแบบ if ทางเลือกแบบ if-else และ
  ทางเลือกแบบ if-else if-else
กรณีใ ช้ป ระโยคคำา สั่ง แบบ if


 ประสิท ธิภ าพของคำา สัง : ควบคุมการทำางานแบบมี
                          ่
  ทางเลือก ลักษณะ หากประโยคเงื่อนไขตรรกะได้ข้อ
  สรุปค่าความจริง ให้ไปทำางานตามคำาสัง (กลุ่มคำาสั่ง)
                                         ่
  ต่อจากเงื่อนไข แล้วไปตำาแหน่งบรรทัดคำาสั่งชุดต่อไป
  แต่หากเงื่อนไขเป็นเท็จไม่ต้องทำาคำาสั่งใดให้ไปทำางาน
  ทีตำาแหน่งคำาสังชุดต่อไป
    ่            ่
รูป แบบการเขีย นคำา สั่ง และ
  แนวทางผัง งานแบบ if
รูป แบบ 1 กรณีหลังเงื่อนไข if มี 1 คำาสั่ง
        If (เงื่อนไข)
                   คำาสั่ง ; (กรณีเงื่อนไขเป็นจริง)
        คำาสั่งชุดต่อไป ; (กรณีเงื่อนไขเป็นเท็จ)

รูป แบบ 2 กรณีหลังเงื่อนไข if มีมากกว่า 1 คำาสั่ง
           If (เงื่อนไข)
           {
                      กลุ่มคำาสั่ง ; (กรณีเงื่อนไขเป็นจริง)
} ;
 คำาสั่งชุดต่อไป ; (กรณีเงื่อนไขเป็นเท็จ)
แนวทางการใช้ค ำา สัง if แบบ 2 ทาง
                      ่
      เลือ ก ทางเลือ กละ 1 คำา สัง
                                 ่
 วัต ถุป ระสงค์ จงเขียนงานเพื่อป้อนตัวเลข 2 จำานวน แล้วตรวจสอบเงื่อนไข
  ดังนี้
 หากตัวคูณไม่ใช่ 0 ให้นำาตัวเลข 2 จำานวนคูณกัน
 นอกเหนือจากนนี้ไม่ต้องประมวลผลสมการใด ให้ไปตำาแหน่งคำาสั่งถัดไป
 3.1.3 แนวทางการใช้คำาสั่ง if แบบ 2 ทางเลือกละมากกว่า 1 คำาสั่ง
 วัต ถุป ระสงค์ จงเขียนงานเพื่อป้อนตัวเลข 2 จำานวน แล้วเลือกทางประมวล
  ผลตามเงื่อนไขดังนี้
 *หากเงื่อนไขเป็นจริง คือ Y> 0 ให้ระบบทำางานกลุ่มคำาสั่ง
 z = x /y ;
 printf ( “  n * Result = % .2f “ ,z ) ;
 และ printf (“n Good bye….. n”) ;
 หากเงื่อนไขเป็นเท็จ คือ y <= 0 ไม่ต้องประมวลผลสมการใด ให้ระบบ
  ทำางานคำาสั่ง
                                                                   17
 printf (“n Good bye….. n”) ;
กรณีใ ช้ป ระโยคคำา สั่ง แบบ if
           – else

  ประสิทธิภาพของคำาสั่ง : ใช้กรณีควบคุม
  การทำางานในลักษณะ หากประโยค
  เงื่อนไขตรรกะได้ข้อสรุปค่าความจริงเป็น
  จริง ให้ทำางานตามคำาสั่ง (กลุ่มคำาสั่ง) ชุดที่
  1 แล้วไปทีคำาสังชุดต่อไป แต่หากเงื่อนไข
              ่     ่
  ตรรกะเป็นเท็จ ให้ทำางานตามคำาสัง (กลุ่ม
                                      ่
  คำาสั่ง) ชุดที่ 2 แล้วไปทำางานที่ตำาแหน่งคำา
  สั่งชุดต่อไป
รูป แบบของคำา สั่ง
   if..else if..else
เราสามารถใช้ค ำา สั่ง if ที่ม ีห ลาย
 เงือ นไขได้ ดัง นี้
    ่

    if (logical expression 1) {
           statements 1
    } else if (logical expression 2) {
           statements 2
    } else {
           statements 3
    }
Flowchart ของคำา สั่ง
  if..else if..else
        จริ       นิพ จน์     เท็
        ง      ตรรกศาสต       จ
                 ร์ท ี่ 1
  ชุด คำา
  สั่ง ที่ 1          จริ  นิพ จน์       เท็
                      ง ตรรกศาสต         จ
                              ร์ท ี่ 2
                 ชุด คำา                 ชุด คำา
                 สั่ง ที่ 2              สั่ง ที่ 3
ตัว อย่า งโปรแกรมที่ใ ช้ค ำา
    สั่ง if..else if..else
 public class SampleIfElseIf {
       public static void main(String args[]) {
         int x = Integer.parseInt(args[0]);
         if (x == 1) {
                System.out.println("Value is one");
         } else if (x == 2) {
                System.out.println("Value is two");
         } else {
                System.out.println("Other than 1 or 2");
         }
       }
 }
รูป แบบของคำา สั่ง
                 switch
 มีร ูป แบบการใช้ค ำา สั่ง ดัง นี้
      switch (expression)     {
      case value 1:statements 1
            break;
      case value 2:statements 2
            break;
             :                 :
      case value N:statements N
            break;
      default: statements N+1;
      }
Flowchart แสดงลำา ดับ การ
 ทำา งานของคำา สั่ง switch
ตัว แปร
          =                   ชุด คำา
                    จริง     สั่ง ที่ 1
          ค่า ที่
          1
          =                   ชุด คำา
                    จริง     สั่ง ที่ 2
          ค่า ที่ :
          2
          = ค่า ที่         ชุด คำา สั่ง
                    จริง      ที่ N
          N

          = ค่า   จริง     ชุด คำา สั่ง ที่
          default             N+1
คำา สั่ง switch
นิพจน์ต้องมีชนิดข้อมูลเป็น char, byte,
 short หรือ int เท่านั้น
ชนิดข้อมูลของนิพจน์และค่าที่ 1 ถึง N
 ต้องเป็นชนิดเดียวกัน
ถ้าค่าของนิพจน์ตรงกับค่าใด จะทำาชุดคำา
 สังของค่านั้น
   ่
ถ้าค่าของนิพจน์ไม่ตรงกับค่าใดเลย จะทำา
 ชุดคำาสังของ default
         ่
ตัว อย่า งโปรแกรมที่ใ ช้
          คำา สั่ง switch
public class SampleSwitch {
  public static void main(String args[]) {
        int x = Integer.parseInt(args[0]);
        switch(x) {
          case 1: System.out.println("Value is one");
                                   break;
          case 2: System.out.println("Value is two");
                                   break;
          default: System.out.println("Other than 1 or 2");
        }
  }
}
ตัว อย่า งโปรแกรมที่ใ ช้ค ำา สั่ง
              switch
char grade = 'B';
switch (grade)
{
case 'A':
  System.out.println("Average");
  break;
case 'B':
  System.out.println("Boring");
  break;
case 'C':
  System.out.println("Cool!");
  break;
case 'D':
  System.out.println("Delight");
  break;
default:
  System.out.println("Fabulous");
}
สรุป เนื้อ หา
 การสร้างโปรแกรมระบบงานลักษณะมีทางเลือกประมวลผล มีจุดประสงค์ควบคุมให้
  ระบบสามารถทำางานวิเคราะห์เลือกทางประมวลผลทางใดทางหนึ่งโดย อัตโนมัติ เพื่อ
  ให้คล้ายกับระบบการประมวลผลของสมองมนุษย์ในเรืองการตัดสินใจ ภาษา
                                                       ่
  คอมพิวเตอร์จึงใช้ประโยชน์จากประสิทธิภาพการทำางานของคอมพิวเตอร์ทเหนือกว่า
                                                                         ี่
  เครื่องคำานวณชนิดอื่น ตรงทีประมวลผลเปรียบเทียบแบบตรรกะทางคณิตศาสตร์ได้
                               ่
  ทังนี้ระบบวิเคราะห์เปรียบเทียบของคอมพิวเตอร์กำาหนดว่า หากตรรกะเป็นจริงจะให้
    ้
  ค่า 1 แต่หากตรรกะเป็นเท็จจะให้ค่า 0 สำาหรับภาษาซีมีคำาสั่งให้เลือกใช้ควบคุมการ
  ทำางานแบบมีทางเลือก 2 รูปแบบ คือ คำาสั่ง if และคำาสั่ง switch
         การเขียนคำาสั่งควบคุมแบบมีทางเลือก ผู้สร้างงานโปรแกรมระบบงานจำาเป็น
  ต้องมีความรู้ความเข้าใจในเรื่องของรูปแบบและประสิทธิภาพการทำางานของ
  สัญลักษณ์ทใช้ในการเขียนประโยคคำาสั่งแบบนิพจน์ตรรกะ การสรุปค่าความจริงของ
               ี่
  นิพจน์ตรรกะ ซึ่งใช้หลักการเดียวกันกับตรรกศาสตร์วิธีเขียนนิพจน์ตรรกะ กฎเกณ์
  ไวยากรณ์การเขียนคำาสั่งควบคุมมีทางเลือก และประสิทธิภาพการทำางานของคำาสั่ง
         ประโยคคำาสั่งแบบ if จะใช้กับงานกรณีประโยคนิพจน์ตรรกะเป็นเงื่อนไขซ้อน
  มากกว่า 1 ประโยค และต้องใช้สัญลักษณ์เชื่อมประโยคเงื่อนไข เช่น พนักงานเป็น
  เพศชายและสถานะภาพโสด ไม่มีขอจำากัดในประโยคคำาสั่ง switch จะใช้ในกรณีทาง
                                     ้
  เลือกการทำางานหลายทางเลือก แต่ควรเป็นประโยคเงื่อนไขเดียว ไม่ใช่ประโยค

การเขียนคำสั่งควบคุมแบบมีทางเลือก กลุ่ม 3

  • 1.
    LOGO การเขีย นคำา สัง ควบคุม แบบ ่ มีท างเลือ ก
  • 2.
    คำา สั่ง จัดเก็บ ข้อ มูล ลง หน่ว ยความจำา คำา สัง จัด เก็บ ข้อ มูล ลงหน่ว ยความจำา ่  การเขียนคำาสังกำาหนดลักษณะการจัดการ ่ ข้อมูล ให้หน่วยความจำาซึ่งมีด้วยกัน 2 ประเภท คือ ประเภทตัวแปร และค่าคงที่ สำาหรับบทนีมีรายละเอียดที่สำาคัญที่ต้องทราบ ้ เพื่อนำาไปเขียนคำาสังกำาหนดคุณสมบัติหน่วย ่ ความจำาได้ถูกต้อง มีประสิทธิภาพมากขึ้น นั่น ์ คือกฎเกณฑ์การกำาหนดชือหน่วยความจำา ชนิด ่ ข้อมูลพื้นฐานทั้งหมดในภาษาซี การเขียนคำาสังกำาหนดค่าคงที่อีกรูปแบบหนึ่ง ่
  • 3.
    กฎเกณ์ก าร กำา หนดชื่อ  กฎเกณ์ก ารกำา หนดชื่อ  ชื่อ (ldentifier) หมายถึง ชื่อหน่วยความจำาประเภทตัวแปร ชื่อ หน่วยความจำาประเภทตัวแปรค่าคงที่ หรือ ชื่อในส่วนใดๆ ของ โปรแกรมที่ผู้สร้างโปรแกรมเป็นผู้กำาหนดด้วยตนเอง มีกฎเกณ์ ดังนี้  1.อักขระแรกต้องเป็นอักษร หรือเครื่องหมายขีดล่าง ( _ ) ตัว ถัดไปเป็นอักษร หรือตัวเลข หรือ เครื่องหมายขีดล่าง ( _ ) ก็ได้  2.ภาษาซีมีความแตกต่างของชื่อที่กำาหนดคือ ชื่อทีใช้อกษรตัว ั พิมพ์ใหย๋ หรือตัวพิมเล็ก จะจดเก็บข้อมูลในหน่วยความจำา ตำาแหน่งต่างกัน  3.ห้ามใช้อกขระพิเศษ เช่น $ @ และห้ามมีช่องว่างระหว่าง ั อักขระโดยเด็ดขาด
  • 4.
    ชนิด ข้อ มูล ชนิดข้อ มูล ภาษาซีมีชนิดข้อมูลพื้นฐานให้เลือกใช้งาน 3 กลุ่ม หลุกคือ อักขระ ตัวเลขจำานวนเต็ม วเลขทศนิยมผู้สร้างงาน โปรแกรมควร เลือกใช้ชนิดข้อมูล ที่มีขอบเขตเหมาะสมกับข้อมูลจริง ในระบบงาน เพื่อใช้หน่วยความจำาได้อย่างมีประสิทธิภาพ เพราะ
  • 5.
    ชนิดข้อมูล ขอบเขตของ การเก็บข้อมูล ข้อมูล Char -128 ถึง 127 เก็บแบบอักขระ Unsigned 0 ถึง 255 เก็บแบบอักขระ ไม่คิด char เครื่องหมาย Int -32768 ถึง เก็บแบบจำานวนเต็ม 32767 Unsigned 0 ถึง 65535 เก็บแบบจำานวนเต็ม ไม่ int คิดเครื่องหมาย Short -128 ถึง 127 เก็บแบบจำานวนเต็ม แบบสั่น Unsigned 0 ถึง 255 เก็บแบบจำานวนเต็ม short แบบสั่น ไม่คิด เครื่องหมาย Long - เก็บแบบจำานวนเต็ม 2147483648 แบบยาว ถึง 2147483649 Unsigned 0 ถึง เก็บแบบจำานวนเต็ม long 4294967296 แบบยาว ไม่คิด อธิบ าย หากต้องการใช้ข้อมูลแบบข้อความ ต้องใช้ เครื่องหมาย ข้อมูลประเภทตัวแปรชุด เช่น Float 3.4 x 10-38 ถึง เก็บตัวเลขแบบทศนิยม
  • 6.
    คำา สั่ง กำาหนดข้อ มูล แบ ค่า คงที่  คำาสังกำาหนดข้อมูลแบค่าคงที่ ่  คำาสังกำาหนดลักษณะข้อมูลให้เป็นค่าคงทีมี 3 ลักษณะ ่ ่ คือ  1.3.1 แบบที่ 1 ไม่ต้องกำาหนดชื่อหน่วยความจำา รองรับข้อมูล  ตัว อย่า งคำา สั่ง พิมพ์ค่าคงที่โดยไม่ผ่านการใช้หน่วย ความจำา  printf ( “ 2 x 2 = %d n “ , 4) ;  printf ( “ c => %c%c n “ , ‘c’) ;  อธิบาย เลข 4 กับ ‘c’ คือข้อมูลแบบค่าคงที่ ไม่ต้องจัด
  • 7.
     แบบที่ 2เขียนบริเวณส่วนหัว ในโครงสร้าง ภาษาซี  รูป แบบ #define macro_name data ;  อธิบ าย macro_name คือชื่อของแมโคร ต้องใช้อกษรตัวพิมพ์ใหญ่ ั  data คือข้อมูลที่กำาหนดเป็นค่าคงที่  ตัว อย่า งคำา สั่ง กำาหนดค่าคงที่ชื่อ MAX เพื่อ เก็บค่า 10  #define MAX 10 ;
  • 8.
    แบบที่ 3 เขียนบริเวณส่วนฟังก์ชั่นหลัก main ()  รูป แบบ const variable = data ;  อธิบาย variable คือชื่อของตัวแปร  Data คือข้อมูลที่กำาหนดเป็นค่าคงที่  ตัวอย่างคำาสั่ง กำาหนดค่าคงที่พร้อมให้จัดเก็บข้อมูล  Const pi 3.14 ;  Const ans = ‘n’ ;  Const words = “ computer “ ;
  • 9.
    การเขีย นนิพ จน์เชิง ตรรกะ  การเขีย นนิพ จน์เ ชิง ตรรกะ  การเขียนนิพจน์คณิตศาสตร์ ต้องใช้ตัวดำาเนินดาร คณิตศาสตร์ เขียนคำาสั่งควบคุมการประมาณผลข้อมูล สำาหรับการเขียนประโยคคำาสั่งควบคุมแบบมีทางเลือก ต้องกำาหนดเงื่อนไขการทำางาน ให้ระบบวิเคราะห์ ข้อมูล เพือตัดสินใจเลิอกทางประมวลผลได้อัตโนมัติ ่ ทางใดทางหนึงนั้น จึงต้องเขียนนิพจน์เชิงตรรกะ โดย ่ ใช้ตัวดำาเนินการความสัมพันธ์ และตัวดำาเนินงานทาง ตรรกะ
  • 10.
    ตัว ดำา เนินการทางคณิต ศาสตร์  ภาษาซีมีสัญลักษณ์ ดังนี้  เครื่อ งหมาย ความหมาย ตัว อย่า ง  + บวก 3+2 การบวกเลข 3 บวกกับ 2 ได้ผลลัพธ์คือ 5 - ลบ 3 - 2 การลบเลข 3 ลบกับ 2 ได้ผลลัพธ์คือ 1  * คูณ 2*3 การคูณเลข 3 บวกกับ 2 ได้ผลลัพธ์คือ 6 / หาร 15/2 การหาร 15 หารกับ 2 ได้ผลลัพธ์คือ 7  % หารเอาเศษ 15%2การหารเอาเศษ 15 หารกับ 2 ได้ ผลลัพธ์คือ 1
  • 11.
    ตัว ดำา เนินการความสัม พัน ธ์  ใช้เขียนประโยคคำาสั่งแบบมีเงื่อนไข 1 ประโยค ใช้สัญลักษณ์ ตัวดำาเนินการ ดังนี้  ตัว ดำา เนิน การความสัม พัน ธ์ห รือ การเปรีย บเทีย บ  สัญ ลัก ษณ์ การดำา เนิน การ ตัว อย่า ง  < น้อยกว่า 2<3 ผลลัพธ์ จริง(1)  > มากกว่า 2>3 ผลลัพธ์ เท็จ(false)(0)  <= น้อยกว่าหรือเท่ากับ 2<= 3 ผลลัพธ์ จริง(true)  >= มากกว่าหรือเท่ากับ 2>= 3 ผลลัพธ์ เท็จ(false)  == เท่ากับ 4==4 ผลลัพธ์ จริง(true)  != ไม่เท่ากับ 2!= 2 ผลลัพธ์ เท็จ(false)
  • 12.
    ตัว ดำา เนินการเชิง ตรรกะ  เป็นสัญลักษณ์ใช้เชื่อมประโยคคำาสั่งแบบมีเงื่อนไข 2 ประโยคขึนไป ้ การสรุปค่าความจริงที่ได้ ให้ศึกษาจากตารางความจริง ใช้สัญลักษณ์ตัว ดำาเนินการ ดังนี้  ตรรกะ คือการคิดเชิงเหตุผลทีมีค่าความจริงค่าใดค่าหนึ่งคือ จริง (true : 1) ่ หรือเท็จ (false : 0 )  ตัว ดำา เนิน การตรรกะ (logical operators)  สัญลักษณ์ การดำาเนินการ ตัวอย่าง  && และ(AND) (2<3)&&(3>1) ผลลัพธ์ จริง  || หรือ(OR) (2>3)||(4<1) ผลลัพธ์ เท็จ(false)  ! ไม่(NOT) !(2> 3) ผลลัพธ์ จริง(true)  อธิบาย การสรุปค่าความจริงของ 2 ประโยคเงื่อนไขนี้ ให้ศึกษาวิธีสรุปค่า ความจริงจากตารางต้ายล่าง โดยที่ x คือประโยคเงื่อนไขที่ 1 และ Y คือ ประโยคเงื่อนไขที่ 2
  • 13.
    ตัว อย่า งคำาสัง การเขีย นนิพ จน์ท าง ่ ตรรกะ ตัว อย่า งคำา สั่ง การเขียนนิพจน์ทางตรรกะ ( a > 0 ) && (a < 10) หาก a มีค่า 10 ได้ค่าความจริงอย่างไร อธิบ าย ขึ้นตอนความคิด วิเคราะห์ประโยคที่ 1 ( a > 0 ) มีค่า T วิเคราะห์ประโยคที่ 2 (a < 10) มีค่า F สรุปประโยค 1 กับประโยค 2 คือ T && F จากตารางค่าความจริง T && F ได้ F
  • 14.
    คำา สั่ง ควบคุมแบบมีท างเลือ ก ลัก ษณะ if  คำา สั่ง ควบคุม แบบมีท างเลือ ก ลัก ษณะ if  การเขียนคำาสั่งควบคุมการทำางานลักษณะให้ระบบ ตัดสินใจเลือกการทำางานคำาสั่ง หรือกลุ่มคำาสั่งใดได้ อย่างอัตโนมัตินั่น ภาษาซีมคำาสั่งใช้ในงานด้านนีคือ ี ้ คำาสั่ง if และมีแนวทางการเขียนคำาสั่งควบคุมงาน 3 ลักษณะคือ ทางเลือกแบบ if ทางเลือกแบบ if-else และ ทางเลือกแบบ if-else if-else
  • 15.
    กรณีใ ช้ป ระโยคคำาสั่ง แบบ if  ประสิท ธิภ าพของคำา สัง : ควบคุมการทำางานแบบมี ่ ทางเลือก ลักษณะ หากประโยคเงื่อนไขตรรกะได้ข้อ สรุปค่าความจริง ให้ไปทำางานตามคำาสัง (กลุ่มคำาสั่ง) ่ ต่อจากเงื่อนไข แล้วไปตำาแหน่งบรรทัดคำาสั่งชุดต่อไป แต่หากเงื่อนไขเป็นเท็จไม่ต้องทำาคำาสั่งใดให้ไปทำางาน ทีตำาแหน่งคำาสังชุดต่อไป ่ ่
  • 16.
    รูป แบบการเขีย นคำาสั่ง และ แนวทางผัง งานแบบ if รูป แบบ 1 กรณีหลังเงื่อนไข if มี 1 คำาสั่ง If (เงื่อนไข) คำาสั่ง ; (กรณีเงื่อนไขเป็นจริง) คำาสั่งชุดต่อไป ; (กรณีเงื่อนไขเป็นเท็จ) รูป แบบ 2 กรณีหลังเงื่อนไข if มีมากกว่า 1 คำาสั่ง If (เงื่อนไข) { กลุ่มคำาสั่ง ; (กรณีเงื่อนไขเป็นจริง) } ; คำาสั่งชุดต่อไป ; (กรณีเงื่อนไขเป็นเท็จ)
  • 17.
    แนวทางการใช้ค ำา สังif แบบ 2 ทาง ่ เลือ ก ทางเลือ กละ 1 คำา สัง ่  วัต ถุป ระสงค์ จงเขียนงานเพื่อป้อนตัวเลข 2 จำานวน แล้วตรวจสอบเงื่อนไข ดังนี้  หากตัวคูณไม่ใช่ 0 ให้นำาตัวเลข 2 จำานวนคูณกัน  นอกเหนือจากนนี้ไม่ต้องประมวลผลสมการใด ให้ไปตำาแหน่งคำาสั่งถัดไป  3.1.3 แนวทางการใช้คำาสั่ง if แบบ 2 ทางเลือกละมากกว่า 1 คำาสั่ง  วัต ถุป ระสงค์ จงเขียนงานเพื่อป้อนตัวเลข 2 จำานวน แล้วเลือกทางประมวล ผลตามเงื่อนไขดังนี้  *หากเงื่อนไขเป็นจริง คือ Y> 0 ให้ระบบทำางานกลุ่มคำาสั่ง  z = x /y ;  printf ( “ n * Result = % .2f “ ,z ) ;  และ printf (“n Good bye….. n”) ;  หากเงื่อนไขเป็นเท็จ คือ y <= 0 ไม่ต้องประมวลผลสมการใด ให้ระบบ ทำางานคำาสั่ง 17  printf (“n Good bye….. n”) ;
  • 18.
    กรณีใ ช้ป ระโยคคำาสั่ง แบบ if – else ประสิทธิภาพของคำาสั่ง : ใช้กรณีควบคุม การทำางานในลักษณะ หากประโยค เงื่อนไขตรรกะได้ข้อสรุปค่าความจริงเป็น จริง ให้ทำางานตามคำาสั่ง (กลุ่มคำาสั่ง) ชุดที่ 1 แล้วไปทีคำาสังชุดต่อไป แต่หากเงื่อนไข ่ ่ ตรรกะเป็นเท็จ ให้ทำางานตามคำาสัง (กลุ่ม ่ คำาสั่ง) ชุดที่ 2 แล้วไปทำางานที่ตำาแหน่งคำา สั่งชุดต่อไป
  • 19.
    รูป แบบของคำา สั่ง if..else if..else เราสามารถใช้ค ำา สั่ง if ที่ม ีห ลาย เงือ นไขได้ ดัง นี้ ่ if (logical expression 1) { statements 1 } else if (logical expression 2) { statements 2 } else { statements 3 }
  • 20.
    Flowchart ของคำา สั่ง if..else if..else จริ นิพ จน์ เท็ ง ตรรกศาสต จ ร์ท ี่ 1 ชุด คำา สั่ง ที่ 1 จริ นิพ จน์ เท็ ง ตรรกศาสต จ ร์ท ี่ 2 ชุด คำา ชุด คำา สั่ง ที่ 2 สั่ง ที่ 3
  • 21.
    ตัว อย่า งโปรแกรมที่ใช้ค ำา สั่ง if..else if..else public class SampleIfElseIf { public static void main(String args[]) { int x = Integer.parseInt(args[0]); if (x == 1) { System.out.println("Value is one"); } else if (x == 2) { System.out.println("Value is two"); } else { System.out.println("Other than 1 or 2"); } } }
  • 22.
    รูป แบบของคำา สั่ง switch  มีร ูป แบบการใช้ค ำา สั่ง ดัง นี้ switch (expression) { case value 1:statements 1 break; case value 2:statements 2 break; : : case value N:statements N break; default: statements N+1; }
  • 23.
    Flowchart แสดงลำา ดับการ ทำา งานของคำา สั่ง switch ตัว แปร = ชุด คำา จริง สั่ง ที่ 1 ค่า ที่ 1 = ชุด คำา จริง สั่ง ที่ 2 ค่า ที่ : 2 = ค่า ที่ ชุด คำา สั่ง จริง ที่ N N = ค่า จริง ชุด คำา สั่ง ที่ default N+1
  • 24.
    คำา สั่ง switch นิพจน์ต้องมีชนิดข้อมูลเป็นchar, byte, short หรือ int เท่านั้น ชนิดข้อมูลของนิพจน์และค่าที่ 1 ถึง N ต้องเป็นชนิดเดียวกัน ถ้าค่าของนิพจน์ตรงกับค่าใด จะทำาชุดคำา สังของค่านั้น ่ ถ้าค่าของนิพจน์ไม่ตรงกับค่าใดเลย จะทำา ชุดคำาสังของ default ่
  • 25.
    ตัว อย่า งโปรแกรมที่ใช้ คำา สั่ง switch public class SampleSwitch { public static void main(String args[]) { int x = Integer.parseInt(args[0]); switch(x) { case 1: System.out.println("Value is one"); break; case 2: System.out.println("Value is two"); break; default: System.out.println("Other than 1 or 2"); } } }
  • 26.
    ตัว อย่า งโปรแกรมที่ใช้ค ำา สั่ง switch char grade = 'B'; switch (grade) { case 'A': System.out.println("Average"); break; case 'B': System.out.println("Boring"); break; case 'C': System.out.println("Cool!"); break; case 'D': System.out.println("Delight"); break; default: System.out.println("Fabulous"); }
  • 27.
    สรุป เนื้อ หา การสร้างโปรแกรมระบบงานลักษณะมีทางเลือกประมวลผล มีจุดประสงค์ควบคุมให้ ระบบสามารถทำางานวิเคราะห์เลือกทางประมวลผลทางใดทางหนึ่งโดย อัตโนมัติ เพื่อ ให้คล้ายกับระบบการประมวลผลของสมองมนุษย์ในเรืองการตัดสินใจ ภาษา ่ คอมพิวเตอร์จึงใช้ประโยชน์จากประสิทธิภาพการทำางานของคอมพิวเตอร์ทเหนือกว่า ี่ เครื่องคำานวณชนิดอื่น ตรงทีประมวลผลเปรียบเทียบแบบตรรกะทางคณิตศาสตร์ได้ ่ ทังนี้ระบบวิเคราะห์เปรียบเทียบของคอมพิวเตอร์กำาหนดว่า หากตรรกะเป็นจริงจะให้ ้ ค่า 1 แต่หากตรรกะเป็นเท็จจะให้ค่า 0 สำาหรับภาษาซีมีคำาสั่งให้เลือกใช้ควบคุมการ ทำางานแบบมีทางเลือก 2 รูปแบบ คือ คำาสั่ง if และคำาสั่ง switch  การเขียนคำาสั่งควบคุมแบบมีทางเลือก ผู้สร้างงานโปรแกรมระบบงานจำาเป็น ต้องมีความรู้ความเข้าใจในเรื่องของรูปแบบและประสิทธิภาพการทำางานของ สัญลักษณ์ทใช้ในการเขียนประโยคคำาสั่งแบบนิพจน์ตรรกะ การสรุปค่าความจริงของ ี่ นิพจน์ตรรกะ ซึ่งใช้หลักการเดียวกันกับตรรกศาสตร์วิธีเขียนนิพจน์ตรรกะ กฎเกณ์ ไวยากรณ์การเขียนคำาสั่งควบคุมมีทางเลือก และประสิทธิภาพการทำางานของคำาสั่ง  ประโยคคำาสั่งแบบ if จะใช้กับงานกรณีประโยคนิพจน์ตรรกะเป็นเงื่อนไขซ้อน มากกว่า 1 ประโยค และต้องใช้สัญลักษณ์เชื่อมประโยคเงื่อนไข เช่น พนักงานเป็น เพศชายและสถานะภาพโสด ไม่มีขอจำากัดในประโยคคำาสั่ง switch จะใช้ในกรณีทาง ้ เลือกการทำางานหลายทางเลือก แต่ควรเป็นประโยคเงื่อนไขเดียว ไม่ใช่ประโยค