SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Downloaden Sie, um offline zu lesen
โครงสร้างภาษาซีเบื้องต้น



            ครูอัครเดช โพธิญาณ์
    โรงเรียนศรี บุญเรืองวิทยาคาร
โปรแกรมภาษา
      ในการเขียนโปรแกรมคอมพิวเตอร์ ด้ วยภาษาระดับต่าหรือ
 ระดับสูง จะต้ องเปลี่ยนภาษานั้นให้ เป็ นภาษาเครื่อง เพื่อให้ เครื่อง
 คอมพิวเตอร์ทางานได้
       โปรแกรมต้ นฉบับ (Source Program)
       โปรแกรมที่เครื่องทางานได้ (Executable Program)
  การเขียนโปรแกรมด้ วยแอสเซมบลี (ภาษาระดับต่า) เป็ นภาษาเครื่อง




                ขั้นตอนการแปลงภาษาแอสเซมบลีเป็ นภาษาเครือง
                                                        ่
โปรแกรมภาษา
  การเขียนโปรแกรมด้ วยภาษาระดับสูงเป็ นภาษาเครื่อง
    อินเทอร์พรีเตอร์ (Interpreter)


                                  interpreter


    คอมไพเลอร์ (Compiler)


                                      compiler




                          ขั้นตอนการแปลภาษาโปรแกรม
ขันตอนพัฒนาโปรแกรม
  ้
      การเขียนโปรแกรมคอมพิวเตอร์ ให้ทางานได้ตามเราต้องการ ผูเ้ ขียน
                   ่
 โปรแกรมจะต้องรู ้วาจะให้โปรแกรมทาอะไร มีขอมูลอะไร และต้องการอะไร
                                          ้
 จากโปรแกรม รวมทั้งรู ปแบบการแสดงผลด้วย โดยทัวไปจะมีข้ นตอนการ
                                              ่        ั
 พัฒนาโปรแกรม ดังนี้
       การกาหนดและวิเคราะห์ปัญหา

       การเขียนผังงานและซูโดโค๊ด

       การเขียนโปรแกรม

       การทดสอบและแก้ไขโปรแกรม

       การทาเอกสารและบารุ งรักษาโปรแกรม
แนะนาภาษาซี
 ภาษาที่เป็ นโครงสร้ าง
 คาสั่งประกอบด้ วยพจน์ (term) ซึ่งจะมีลักษณะเหมือนกับนิพจน์ทางพีชคณิต
 มีส่วนขยายเป็ นคาหลัก (keyword) ในภาษาอังกฤษ เช่น if, else, for, do และ while
 สามารถใช้ งานในระดับต่า (low-level) ได้
 สามารถใช้ กับงานด้ านโปรแกรมระบบ (system programming) เช่ น เขียนโปรแกรม
  ระบบปฏิบตการ (operating system) หรือใช้ กบงานทั่ว ๆ ไป
            ั ิ                            ั
 สามารถย้ ายไปทางานในเครื่องอื่นได้
ประวัติภาษาซี
 ภาษาซีพัฒนาขึ้นมาในปี 1970 โดย Dennis Ritchie แห่ ง Bell Telephone
  Laboratories, Inc. (ปัจจุบันคือ AT&T Bell Laboratories)
 ต้ นกาเนิดมาจากภาษา 2 ภาษา คือ ภาษา BCPL และ ภาษา B
 ภาษาซีน้ันถูกใช้ งานอยู่ เพียงใน Bell Laboratories จนกระทั่งปี 1978 Brian
  Kernighan และ Ritchie นั้นเป็ นที่ร้ ูจักกันในชื่อของ "K&R C"
 ในกลางปี 1980 ภาษาซีกกลายเป็ นภาษาที่ได้ รับความนิยม
                            ็
โครงสร้างโปรแกรมภาษาซี
                                            void main(void)
        Preprocessor directive
                                            {
         Global Declarations                       Local Declarations

             main function                            Statements ;

         User define functions              }

                                            int function ()
                                            {
         User define functions
                                                   Local Declarations

                                                      Statements ;
โครงสร้ างภาษาซีประกอบด้ วยหลายส่ วน แต่
ในการเขียนไม่ จาเป็ นจะต้ องเขียนทุกส่ วน   }
การใช้ Preprocessor Directive
   ทุกโปรแกรมต้องมี
   ใช้เรี ยกไฟล์ที่โปรแกรมใช้ในการทางานร่ วมกัน
                           ั
    ใช้กาหนดค่าคงที่ให้กบโปรแกรม
   เริ่ มต้นด้วยเครื่ องหมาย #
                 ั
    ที่เราจะใช้กนมี 2 directives คือ
        #include ใช้สาหรับเรี ยกไฟล์ที่โปรแกรมใชในการทางาน
                                              ั
         #define ใช้สาหรับกาหนดมาโครที่ให้กบโปรแกรม
                #include    #define     #undef       #if

                 #ifdef     #ifndef     #else       #elif

                 #endif      #line      #error     #pragma
การใช้ #include
                           วิธีการใช้งาน
  #include <ชื่อไฟล์> หรื อ #include ‚ชื่อไฟล์‛
                            ตัวอย่าง
  #include <stdio.h> (เป็ นการเรี ยกใช้ไฟล์ stdio.h เข้ามาในโปรแกรม)
  #include <mypro.h> (เป็ นการเรี ยกใช้ไฟล์ mypro.h เข้ามาในโปรแกรม)

  < > จะเรี ยกไฟล์ใน directory ที่กาหนดโดยตัวคอมไพล์เลอร์
                                         ่
  “ ” จะเรี ยกไฟล์ใน directory ทีทางานอยูในปั จจุบน
                                                  ั
การใช้ #define
                           วิธีการใช้งาน
                 #define ชื่อ ค่าที่ตองการ
                                     ้
                             ตัวอย่าง
  #define START 10 (กาหนดค่า START = 10)
  #define A 3*5/4      (กาหนดค่า A=3*5/4)
  #define pi 3.14159 (กาหนดค่า pi = 3.14159)
  #define sum(a,b) a+b
       (กาหนดค่า sum(ตัวแปรที่1, ตัวแปรที่2) = ตัวแปรที่1+ตัวแปรที่2
ส่วนประกาศ (Global Declarations)
 เป็ นการประกาศตัวแปรเพื่อใช้ งานในโปรแกรม โดยตัวแปรนั้นสามารถใช้ ได้ ในทุก
  ที่ในโปรแกรม
 เป็ นส่วนที่ใช้ ในการประกาศ Function Prototype ของโปรแกรม
 ส่วนนี้ในบางโปรแกรมอาจจะไม่มีกได้ ็


                                ตัวอย่าง
int summation(float x, float y) ;      (ประกาศ function summation)
int x,y ;                              (กาหนดตัวแปร x,y เป็ นจานวนเต็ม)
float z=3;                             (กาหนดตัวแปร z เป็ นจานวนจริ ง)
ส่วนประกาศ (Global Declarations)
ตัวอย่าง
  #include <stdio.h>
  int feet,inches;
  main()
  {
    feet = 6;
    inches = feet * 12;
    printf("Height in inches is %d",inches);
  }

   ผลการทางาน
     Height in inches is 72
ฟั งก์ชนหลักของโปรแกรม (Main Function)
       ั
 ส่ วนนี้ ทุกโปรแกรมจะต้องมี โดยโปรแกรมหลักจะเริ่ มต้นด้วย main() และ
  ตามด้วยเครื่ องหมายปี กกาเปิ ด ‘{’ และปี กกาปิ ด ‘}’
 ระหว่างปี กกาจะประกอบไปด้วยคาสั่ง(Statement) ต่างๆ ที่ จะให้โปรแกรม
  ทางาน
 แต่ละคาสั่งจะต้องจบด้วยเซมิโคลอน ‘;’ (Semicolon)

                #include <stdio.h>
                Main()
                {
                      ...
                      Statement ;
                }
ฟั งก์ชนหลักของโปรแกรม (Main Function)
       ั
ตัวอย่าง
  #include <stdio.h>
  int feet,inches;
  main()
  {
    feet = 6;
    inches = feet * 12;
    printf("Height in inches is %d",inches);
  }

   ผลการทางาน
     Height in inches is 72
การสร้างฟั งก์ชนใช้งานเอง (User Define Function)
               ั
 สร้างฟังก์ชนหรื อคาใหม่ ขึ้นมาใช้งานตามที่เราต้องการ
             ั
 ระหว่างปี กกาจะประกอบด้วยคาสั่ง(Statement) ต่างๆ ที่จะให้ฟังก์ชนทางาน
                                                                 ั
 สามารถเรี ยกใช้ภายในโปรแกรมได้ทุกที่
                 #include <stdio.h>
                 int function()
                 main(void)
                 {
                        ...
                        Statement ;
                 }
                 int function()
                 {
                        Statement ;
                        ...
                        return (int value);
                 }
การสร้างฟั งก์ชนใช้งานเอง (User Define Function)
               ั
ตัวอย่าง
  #include <stdio.h>
  int Feet2Inch(int);
  int feet,inches;
  main()
  {
    feet = 6;
    inches = Feet2Inch(feet);
    printf("Height in inches is %d",inches);
  }
  int Feet2Inch(int f)
  {
    return f*12;        ผลการทางาน
  }                       Height in inches is 72
การใช้คาอธิบาย (Program Comments)
 ใช้เขียนส่ วนอธิ บายโปรแกรม (คอมเมนต์)
 ช่วยให้ผศึกษาโปรแกรมภายหลังเข้าใจการทางานของโปรแกรม
          ู้
 ส่ วนของคาอธิ บายจะถูกข้ามเมื่อคอมไพล์โปรแกรม


      การเขียนส่ วนอธิบายโปรแกรม (comments)ทาได้ 2 วิธีคือ

               // สาหรับคาอธิบายไปจนถึงท้ายบรรทัด
                             และ
         /* คาอธิบาย */ ลักษณะการใช้เหมือนวงเล็บนั้นเอง
การใช้คาอธิบาย (Program Comments)
ตัวอย่าง
  #include <stdio.h>      //   Change Feet to Inches
  main()                  //   main function
  {                       //   Start
    int feet,inches;
    feet = 6;             //   feet  6
    inches = feet * 12;   //   inches  feet * 12
    printf("Height in inches   is %d", inches);
                          //   write inches
  }                       //   Stop
   ผลการทางาน
     Height in inches is 72
การใช้ printf()
    เป็ นคาสั่งที่ใช้ในการแสดงผลออกทางจอภาพ โดยมีรูปแบบการใช้งานดังนี้
printf(“control หรือ format string”, variable list …);

control หรือ format string
    เป็ นส่ วนที่ ใ ส่ ข้ อ ความที่ จ ะแสดงผล และส่ วนควบคุ ม ลั ก ษณะการ
แสดงผล รวมทั้งบอกตาแหน่ งที่ตวแปรจะแสดงผล
                                      ั

variable list
   เป็ นตัวแปรที่ต้องการจะแสดงผล ในกรณี ที่ต้องการแสดงข้ อ ความ ไม่
จาเป็ นต้ องมีส่วนนี้
โปรแกรมที่ 1
 สร้ าง folder ชื่อ source C
 สร้ างไฟล์ hello.c โดยให้ พิมพ์คาว่า hello world
 การใช้ งาน turbo c


                    F2                  Save
                    Alt+F9              Compile
                    Ctrl+F9             Compile & Run
                    Alt+F5              Output
 พิมพ์ช่ ือตัวเองเพิ่มอีกหนึ่งบรรทัด
ตัวอย่ างโปรแกรม
โปรแกรม
#include <stdio.h>
                                    Backslash n
main() {                           ขึ้นบรรทัดใหม่
  printf(“Hello worldn");
  printf(“Welcome to Computer Programming 1");

}

ผลการทางาน
Hello world
Welcome to Computer Programming 1
คาแนะนา
โปรแกรม
#include <stdio.h>

main ()
{    clrscr();       เคลียร์หน้าจอ
     ….
     getch();        รอรับค่าจากคียบอร์ ด
                                   ์
}
การใช้ Control ด้วย Backslash
                            ่
จากตัวอย่ างที่ 3 จะเห็นได้วาหากต้องการให้แสดงผลข้ามบรรทัดจะต้องเพิ่ม n
ลงไป เรี ยกว่า backslash นอกจากนี้ยงมีตวอื่นๆ เช่น
                                   ั ั

               n       ขึ้นบรรทัดใหม่
               t       เว้นระยะ 1 tab
                        ใส่ ตวอักษร hh เมื่อ hh เป็ นเลขฐานสิ บหก
                             ั
             xhh
                        เช่น 41 = 'A', 42 = 'B'
               a       ส่ งเสี ยงปิ้ บ
                      แสดง 
               "       แสดง "
ตัวอย่างโปรแกรม
โปรแกรม
 #include <stdio.h>

 main() {
   printf("%d     %5.2f     %s", 12, 20.3, "Example");
 }



   ผลการทางาน
    12    20.30   Example


    %d     %5.2f      %s คือ รหัสควบคุม
รหัสควบคุมลักษณะ (Format String)
  %d   พิมพ์จานวนเต็มฐานสิ บ
  %u   พิมพ์เลขไม่มีเครื่ องหมาย
  %f   พิมพ์เลขทศนิยม
  %e   พิมพ์ในรู ปจานวนจริ งยกกาลัง
  %c   พิมพ์ตวอักษรตัวเดียว
             ั
  %s   พิมพ์ชุดตัวอักษร (String)
  %%   พิมพ์เครื่ องหมาย %
  %o   พิมพ์เลขฐานแปด
  %x   พิมพ์เลขฐานสิ บหก
ตัวอย่างโปรแกรม
โปรแกรม
 #include <stdio.h>
 #define x 65
 main()
 {
   printf("%d %c %o %xn", x, x, x, x);
   printf(“x = %d”, x);
 }


   ผลการทางาน
    65 A 101      41
    X = 65
การจัดการหน้าจอด้วยรหัสควบคุมลักษณะ
ในกรณี ที่ ต ้ อ งการจั ด การหน้ า จอแสดงผลสามารถใช้ ต ั ว เลขร่ วมกั น กั บ
รหัสควบคุมได้ เช่น
       %5d หมายถึง แสดงตัวเลขจานวนเต็ม 5 หลักอย่างต่า
       %5.2f หมายถึง แสดงตัวเลขจานวนจานวน 5 หลักอย่างต่า และ
                             ทศนิยม 2 ตาแหน่ง
   ค่ า      %d         %5d            ค่ า           %f             %5.2f
  12      12            ___12         1.2      1.200000               _1.20
 123      123           __123       1.234      1.234000               _1.23
 1234     1234          _1234       12.345     12.345000              12.35
12345     12345         12345      123.456 123.456000                123.46
X in decimal = 65
                                   X in octadecimal = 101
โปรแกรมที่ 2                       X in Hexadecimal = 41
                                   Y = 1.234
 สร้ างไฟล์ print.c โดย           Y = 1.23e+00
 กาหนด #define ดังต่อไปนี ้
                                   CH = %C
   จานวนเต็ม X มีคา 65
                   ่               SRW =
   จานวนจริ ง Y มีคา 1.23456
                    ่                 “Sriboonrungwittayakar
                                      n School”
   ตัวอักษร CH มีคา ‘C’
                   ่
   ชุดตัวอักษร SRW มีคา ‚Sriboonrungwittayakarn School‛
                       ่
 พิมพ์คาต่างๆ ที่กาหนด ให้ แสดงผลดังรูป
        ่
การเก็บค่าในภาษา C
 ทาได้ 2 ลักษณะ คือ
   แบบค่าคงที่ (Constant)
   แบบตัวแปร (Variable)
 การสร้ างตัวแปร
    ต้ องรู้ว่าจะใช้ ตัวแปรเก็บค่าอะไร
    ประกาศตัวแปรให้ เหมาะสมกับค่าที่จะเก็บ
 ชนิดของตัวแปรหลักในภาษา C
   ตัวแปรที่ใช้ เก็บอักขระ (Character variable)
   ตัวแปรที่ใช้ เก็บเลขจานวนเต็ม (Integer variable)
   ตัวแปรที่ใช้ เก็บเลขจานวนจริง (Float variable)
การประกาศตัวแปร

รู ปแบบของการประกาศตัวแปร

               ชนิดตัวแปร     ชื่อตัวแปร;

  int i;               ประกาศ i ให้ชนิดเป็ น integer
  float realnum;       ประกาศ realnum ให้มีชนิดเป็ น float
  char ch;             ประกาศ ch ให้ชนิดเป็ น character
ชนิดของตัวแปร
                                                          ขนาด
ประเภทข้ อมูล     คาอธิบาย             ค่ าที่เก็บได้
                                                          (ไบต์ )
   char         ตัวอักษร 1 ตัว        -128 ถึง 127          1
   short        ตัวเลขจานวนเต็ม       -128 ถึง 127          1
                 ตัวเลขจานวน
     int              เต็ม
                                    -32768 ถึง 32767        2

    long        ตัวเลขจานวนเต็ม       -232 ถึง 232-1        4
    float       ตัวเลขทศนิยม      3.4E+/-38 (7 ตาแหน่ง)     4
                                     1.7E+/-308 (15
   double        ตัวเลขทศนิยม
                                        ตาแหน่ง)
                                                            8
การประกาศตัวแปรชนิดเดียวกัน
 เราสามารถประกาศตัวแปรหลายๆตัว ที่มชนิดเดียวกันโดยใช้เพียง
                                    ี
  ประโยค(statement) เดียวได้ โดยใช้รูปแบบ
  1. การประกาศทีละตัว เช่ น
              int i;
              int j;
              int k;
  2. การประกาศพร้ อมกันหลายตัว เช่ น int i, j, k;
การประกาศตัวแปรพร้อมให้ค่าเริ่มต้น
 ในภาษา C ประโยค (statement) ของการประกาศตัวแปร สามารถ
  กาหนดค่าเริ่มต้ นให้ กบตัวแปรได้ ทนที
                        ั           ั
  โดยใช้ รูปแบบ         ชนิดตัวแปร      ชื่อตัวแปร = ค่ าเริ่มต้ น;

                เช่น int i = 5;

 นอกจากนี ้ยังสามารถประกาศ หลายๆ ตัวแปรในบรรทัดเดียว
  กันได้ อีก
                เช่น    int i = 5, k = 3, y;
หลักการตังชื่อ (Identifier)
         ้
ชื่อ (Identifier)
    ไอเดนติฟายเออร์ เป็ นชื่อที่ผ้ ูใช้ กาหนดขึ้นในโปรแกรม เช่น ชื่อค่าคงที่           ชื่อตัว
    แปร ชื่อฟังก์ชัน เป็ นต้ น
    ต้ องขึ้นต้ นด้ วยตัวอักษรภาษาอังกฤษ (ตัวใหญ่หรือเล็กก็ได้ ) หรือขีดล่าง ‘_’
    ตามด้ วยตัวอักษรภาษาอังกฤษ ตัวเลข หรือขีดล่าง (Underscore) ‘_’
    ไม่มีช่องว่างหรือตัวอักษรพิเศษอื่นๆ เช่น ‘!’, ‘@’, ‘#’, ‘$’, ‘%’, ‘^’ เป็ นต้ น
    ตัวพิมพ์ใหญ่และเล็กจะเป็ นคนละตัวกันเช่น NAME, name, Name, NamE
    ห้ ามซากับคาสงวน Reserve Words ของภาษา C
           ้
    ห้ ามตั้งชื่อซากับ Function ที่อยู่ใน Library ของภาษา C
                   ้
คาสงวน Reserve Words ของภาษา C
    auto      double     int       struct
   break       else     long       switch
   case       enum     register   typedef
    char      extern   return      union
   const       float    short     unsigned
  continue     for     signed       void
  default      goto    sizeof     volatile
     do         if      static     While
    asm        _cs       _ds        _es
    _ss       cdecl      far       huge
  interrupt    near    pascal     _export
วีธการสร้างตัวแปรและกาหนดค่า
   ี
#include <stdio.h>       #include <stdio.h>
main ()                  main ()
{                        {
   int age;                 int age = 20;
   char sex;                char sex = ‘ f ’;
   float grade;             float grade = 3.14;
                            char name[10] = “malee”
    age = 20;
    sex = ‘ f ’;               printf(“you are %sn”,name);
    grade = 3.14;              ...
}                        }
นิพจน์
 นิพจน์อาจประกอบด้วย
   ตัวแปร                           a + b
   ค่าคงที่                         x = y
                                     c = a + b
   การเรียกใช้ฟังก์ชน
                     ั               x == y
   หรือมีตวดาเนินการร่วมอยู่ก็ได้
           ั                         ++i
ตัวดาเนินการ

                      กลุ่มของตัวดาเนินการ         ตัวดาเนินการ
ลาดับความสาคัญมาก ตัวดาเนินการยูนารี          - ++ -- ! sizeof (type)
                   คูณ าร และ าเศษเ ลือ              * / %
                   บวกและลบ                            + -
                   ตัวดาเนินการเปรี ยบเทียบ       < <= > >=
                   ตัวดาเนินการเทียบเท่ า             == !=
                   AND                                  &&
                   OR                                    ||
                   ตัวดาเนินการเงื่อนไข                 ?:
ลาดับความสาคัญน้อย ตัวดาเนินการกา นดค่ า       = += -= *= /= %=
การใช้ scanf()
   เป็ นคาสั่งที่ใช้ในการรับค่า โดยมีรูปแบบการใช้งานดังนี้
        scanf(“format string”, address list …);


format string
  เป็ นส่ วนทีใช้ ในการใส่ รูปแบบของการรับข้ อมูล
              ่

address list
 เป็ นตาแหน่ งของตัวแปรทีต้องการจะเก็บข้ อมูล
                         ่
ตัวอย่างโปรแกรม
            โปรแกรม
            #include <stdio.h>

             main() {
              int x ;

                scanf("%d",&x);
                printf("%d %c", x, x);
            }

                      ผลการทางาน
   66                              65
   66   B                          65   A
ตัวอย่างโปรแกรม
    โปรแกรม
     #include <stdio.h>

     main() {
       char s1[80], s2[80] ;

         scanf("%[0-9]%[a-zA-Z]", s1, s2);
         printf("%s %s", s1, s2);
     }


                   ผลการทางาน
     1234test               test1234
     1234 test                test
โปรแกรมที่ 3
 สร้ างไฟล์ triangle.c โดยให้
    รับค่าฐานเป็ นเลขจานวนจริง
    รับค่าความสูงเป็ นเลขจานวนจริง
    คานวนหาค่าพื้นที่ของสามเหลี่ยม
      Area = ½ * ฐาน * สูง
ตัวอย่างโปรแกรม
Input Base = 12.0           Input Base = 3.2
Input Height = 6.0          Input Height = 1.2
Area of triangle is 36.00   Area of triangle is 1.92

#include <stdio.h>

main() {
  float b,h,area ;
  printf("Input Base = ");
  scanf("%f",&b);
  printf("Input Height = ");
  scanf("%f",&h);
  area = 0.5*b*h ;
  printf("Area of triangle is %5.2f",area);

}
โปรแกรมที่ 4
 สร้ างไฟล์ circle.c โดยให้
    รับค่ารัศมีเป็ นเลขจานวนจริง
    กาหนดค่าคงที่ PI มีค่า 3.14159
    คานวนหาค่าพื้นที่ของวงกลม
      Area = PI* (รัศมี)2
ตัวอย่ างโปรแกรม
Input Radias = 12.0
Area of circle is 452.39


/* program to calculate area of a circle */
#include <stdio.h>
#define     PI     3.14159
main()
{
      float radius, area;
      printf(“Input Radius = ?");
      scanf("%f", &radius);
      area = PI * radius * radius;
      printf("Area of circle is %7.2f ", area);
}
โปรแกรมที่ 5
 สร้ างไฟล์ donut.c โดยให้
    รับค่ารัศมีของวงกลม 2 วง
    กาหนดค่าคงที่ PI มีค่า 3.14159
    คานวนหาค่าพื้นที่ของวงกลมส่วนสีเทา
ตัวอย่างโปรแกรม
#include <stdio.h>
#define      PI     3.14159
main()
{
  float radius1,radius2, area1, area2;
  printf("Input outer radius =");
  scanf(%f, &radius1);
  printf("Input inner radius =");
  scanf(%f, &radius2);
  if (radius2 < radius1) {
    area1 = PI * radius1 * radius1;
    area2 = PI * radius2 * radius2;
    printf("Area of donut is %5.2f", area1-area2);
  }
}
จบโครงสร้างภาษาซีเบืองต้น
                   ้

Weitere ähnliche Inhalte

Was ist angesagt?

การเข้าใช้โปรแกรมซี Dev C++
การเข้าใช้โปรแกรมซี Dev C++การเข้าใช้โปรแกรมซี Dev C++
การเข้าใช้โปรแกรมซี Dev C++
dechathon
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
Little Tukta Lita
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซี
mansuang1978
 

Was ist angesagt? (17)

การเข้าใช้โปรแกรมซี Dev C++
การเข้าใช้โปรแกรมซี Dev C++การเข้าใช้โปรแกรมซี Dev C++
การเข้าใช้โปรแกรมซี Dev C++
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
 
ภาษา C เบื้องต้น
ภาษา C เบื้องต้นภาษา C เบื้องต้น
ภาษา C เบื้องต้น
 
C lu
C luC lu
C lu
 
3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี3.1 โครงสร้างของภาษาซี
3.1 โครงสร้างของภาษาซี
 
การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++
 
3.6 ฟังก์ชัน
3.6 ฟังก์ชัน3.6 ฟังก์ชัน
3.6 ฟังก์ชัน
 
บทที่1 พื้นฐานโปรแกรมภาษาซี
บทที่1 พื้นฐานโปรแกรมภาษาซีบทที่1 พื้นฐานโปรแกรมภาษาซี
บทที่1 พื้นฐานโปรแกรมภาษาซี
 
ภาษา C
ภาษา Cภาษา C
ภาษา C
 
โครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซีโครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซี
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
การเขียนคำสั่งขั้นพื้นฐาน(ภาษาC)
 
1. ประวัติภาษาซี
1. ประวัติภาษาซี1. ประวัติภาษาซี
1. ประวัติภาษาซี
 
การเขียนโปรแกรม
การเขียนโปรแกรมการเขียนโปรแกรม
การเขียนโปรแกรม
 
C Programming
C ProgrammingC Programming
C Programming
 
การใช้สูตรหาพื้นที่ ด้วย Dev++
การใช้สูตรหาพื้นที่ ด้วย Dev++การใช้สูตรหาพื้นที่ ด้วย Dev++
การใช้สูตรหาพื้นที่ ด้วย Dev++
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 

Ähnlich wie Chapter1

การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
choco336
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
choco336
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
choco336
 
การพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญาการพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญา
winewic199
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
Aeew Autaporn
 
หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1
SubLt Masu
 

Ähnlich wie Chapter1 (20)

การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
Pbl2
Pbl2Pbl2
Pbl2
 
โครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซีโครงสร้างของโปรแกรมภาษาซี
โครงสร้างของโปรแกรมภาษาซี
 
โครงสร้างของโปรแกรมภาษา C
โครงสร้างของโปรแกรมภาษา Cโครงสร้างของโปรแกรมภาษา C
โครงสร้างของโปรแกรมภาษา C
 
การพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญาการพัฒนาโปรแกรม วิชญา
การพัฒนาโปรแกรม วิชญา
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวาพื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
 
Know 1 1
Know 1 1Know 1 1
Know 1 1
 
ภาษาซี
ภาษาซีภาษาซี
ภาษาซี
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐานโปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
 
ภาษาซีเบื้องต้น
ภาษาซีเบื้องต้นภาษาซีเบื้องต้น
ภาษาซีเบื้องต้น
 
หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1
 
3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ
 
3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ3.8 การทำงานตามลำดับ
3.8 การทำงานตามลำดับ
 
3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ3.8 การทำงานแบบลำดับ
3.8 การทำงานแบบลำดับ
 
7 2โครงสร้าง
7 2โครงสร้าง7 2โครงสร้าง
7 2โครงสร้าง
 
งานทำBlog บทที่ 1
งานทำBlog บทที่ 1งานทำBlog บทที่ 1
งานทำBlog บทที่ 1
 
งานทำBlog บทที่ 1
งานทำBlog บทที่ 1งานทำBlog บทที่ 1
งานทำBlog บทที่ 1
 
งานทำBlog บทที่ 1
งานทำBlog บทที่ 1งานทำBlog บทที่ 1
งานทำBlog บทที่ 1
 

Mehr von อัครเดช โพธิญาณ์

เอกสารแบบรางาน โครงงานบทที่ 2 ม.ปลาย
เอกสารแบบรางาน โครงงานบทที่ 2 ม.ปลายเอกสารแบบรางาน โครงงานบทที่ 2 ม.ปลาย
เอกสารแบบรางาน โครงงานบทที่ 2 ม.ปลาย
อัครเดช โพธิญาณ์
 
เอกสารประการเรียนรู้ รายวิชา ง20202 ทฤษฎีความรู้
เอกสารประการเรียนรู้ รายวิชา ง20202 ทฤษฎีความรู้เอกสารประการเรียนรู้ รายวิชา ง20202 ทฤษฎีความรู้
เอกสารประการเรียนรู้ รายวิชา ง20202 ทฤษฎีความรู้
อัครเดช โพธิญาณ์
 

Mehr von อัครเดช โพธิญาณ์ (20)

หน่วยที่ 1 การสืบค้นข้อมูล
หน่วยที่ 1 การสืบค้นข้อมูล หน่วยที่ 1 การสืบค้นข้อมูล
หน่วยที่ 1 การสืบค้นข้อมูล
 
ประมวลการสอน
ประมวลการสอนประมวลการสอน
ประมวลการสอน
 
Test
TestTest
Test
 
chapter 3 คำสั่งควบคุม
chapter 3 คำสั่งควบคุมchapter 3 คำสั่งควบคุม
chapter 3 คำสั่งควบคุม
 
บทที่ 3 คำสั่งควบคุม ส่วนที่ 1
บทที่ 3 คำสั่งควบคุม ส่วนที่ 1บทที่ 3 คำสั่งควบคุม ส่วนที่ 1
บทที่ 3 คำสั่งควบคุม ส่วนที่ 1
 
Facebook
FacebookFacebook
Facebook
 
Cchapter 1
Cchapter 1 Cchapter 1
Cchapter 1
 
เอกสารแบบรางาน โครงงานบทที่ 2 ม.ปลาย
เอกสารแบบรางาน โครงงานบทที่ 2 ม.ปลายเอกสารแบบรางาน โครงงานบทที่ 2 ม.ปลาย
เอกสารแบบรางาน โครงงานบทที่ 2 ม.ปลาย
 
11 biodata
11 biodata11 biodata
11 biodata
 
10 bibliography
10 bibliography10 bibliography
10 bibliography
 
8 chapter4
8 chapter48 chapter4
8 chapter4
 
7 chapter3
7 chapter37 chapter3
7 chapter3
 
5 chapter1
5 chapter15 chapter1
5 chapter1
 
4 content
4 content4 content
4 content
 
12 kumnum
12 kumnum12 kumnum
12 kumnum
 
3 abstract
3 abstract3 abstract
3 abstract
 
เอกสารประการเรียนรู้ รายวิชา ง20202 ทฤษฎีความรู้
เอกสารประการเรียนรู้ รายวิชา ง20202 ทฤษฎีความรู้เอกสารประการเรียนรู้ รายวิชา ง20202 ทฤษฎีความรู้
เอกสารประการเรียนรู้ รายวิชา ง20202 ทฤษฎีความรู้
 
Tok
TokTok
Tok
 
แนวทาง Tok
แนวทาง Tokแนวทาง Tok
แนวทาง Tok
 
1 titlepage
1 titlepage1 titlepage
1 titlepage
 

Chapter1

  • 1. โครงสร้างภาษาซีเบื้องต้น ครูอัครเดช โพธิญาณ์ โรงเรียนศรี บุญเรืองวิทยาคาร
  • 2. โปรแกรมภาษา ในการเขียนโปรแกรมคอมพิวเตอร์ ด้ วยภาษาระดับต่าหรือ ระดับสูง จะต้ องเปลี่ยนภาษานั้นให้ เป็ นภาษาเครื่อง เพื่อให้ เครื่อง คอมพิวเตอร์ทางานได้ โปรแกรมต้ นฉบับ (Source Program) โปรแกรมที่เครื่องทางานได้ (Executable Program)  การเขียนโปรแกรมด้ วยแอสเซมบลี (ภาษาระดับต่า) เป็ นภาษาเครื่อง ขั้นตอนการแปลงภาษาแอสเซมบลีเป็ นภาษาเครือง ่
  • 3. โปรแกรมภาษา  การเขียนโปรแกรมด้ วยภาษาระดับสูงเป็ นภาษาเครื่อง  อินเทอร์พรีเตอร์ (Interpreter) interpreter  คอมไพเลอร์ (Compiler) compiler ขั้นตอนการแปลภาษาโปรแกรม
  • 4. ขันตอนพัฒนาโปรแกรม ้ การเขียนโปรแกรมคอมพิวเตอร์ ให้ทางานได้ตามเราต้องการ ผูเ้ ขียน ่ โปรแกรมจะต้องรู ้วาจะให้โปรแกรมทาอะไร มีขอมูลอะไร และต้องการอะไร ้ จากโปรแกรม รวมทั้งรู ปแบบการแสดงผลด้วย โดยทัวไปจะมีข้ นตอนการ ่ ั พัฒนาโปรแกรม ดังนี้  การกาหนดและวิเคราะห์ปัญหา  การเขียนผังงานและซูโดโค๊ด  การเขียนโปรแกรม  การทดสอบและแก้ไขโปรแกรม  การทาเอกสารและบารุ งรักษาโปรแกรม
  • 5. แนะนาภาษาซี  ภาษาที่เป็ นโครงสร้ าง  คาสั่งประกอบด้ วยพจน์ (term) ซึ่งจะมีลักษณะเหมือนกับนิพจน์ทางพีชคณิต  มีส่วนขยายเป็ นคาหลัก (keyword) ในภาษาอังกฤษ เช่น if, else, for, do และ while  สามารถใช้ งานในระดับต่า (low-level) ได้  สามารถใช้ กับงานด้ านโปรแกรมระบบ (system programming) เช่ น เขียนโปรแกรม ระบบปฏิบตการ (operating system) หรือใช้ กบงานทั่ว ๆ ไป ั ิ ั  สามารถย้ ายไปทางานในเครื่องอื่นได้
  • 6. ประวัติภาษาซี  ภาษาซีพัฒนาขึ้นมาในปี 1970 โดย Dennis Ritchie แห่ ง Bell Telephone Laboratories, Inc. (ปัจจุบันคือ AT&T Bell Laboratories)  ต้ นกาเนิดมาจากภาษา 2 ภาษา คือ ภาษา BCPL และ ภาษา B  ภาษาซีน้ันถูกใช้ งานอยู่ เพียงใน Bell Laboratories จนกระทั่งปี 1978 Brian Kernighan และ Ritchie นั้นเป็ นที่ร้ ูจักกันในชื่อของ "K&R C"  ในกลางปี 1980 ภาษาซีกกลายเป็ นภาษาที่ได้ รับความนิยม ็
  • 7. โครงสร้างโปรแกรมภาษาซี void main(void) Preprocessor directive { Global Declarations Local Declarations main function Statements ; User define functions } int function () { User define functions Local Declarations Statements ; โครงสร้ างภาษาซีประกอบด้ วยหลายส่ วน แต่ ในการเขียนไม่ จาเป็ นจะต้ องเขียนทุกส่ วน }
  • 8. การใช้ Preprocessor Directive  ทุกโปรแกรมต้องมี  ใช้เรี ยกไฟล์ที่โปรแกรมใช้ในการทางานร่ วมกัน  ั ใช้กาหนดค่าคงที่ให้กบโปรแกรม  เริ่ มต้นด้วยเครื่ องหมาย #  ั ที่เราจะใช้กนมี 2 directives คือ  #include ใช้สาหรับเรี ยกไฟล์ที่โปรแกรมใชในการทางาน  ั #define ใช้สาหรับกาหนดมาโครที่ให้กบโปรแกรม #include #define #undef #if #ifdef #ifndef #else #elif #endif #line #error #pragma
  • 9. การใช้ #include วิธีการใช้งาน #include <ชื่อไฟล์> หรื อ #include ‚ชื่อไฟล์‛ ตัวอย่าง #include <stdio.h> (เป็ นการเรี ยกใช้ไฟล์ stdio.h เข้ามาในโปรแกรม) #include <mypro.h> (เป็ นการเรี ยกใช้ไฟล์ mypro.h เข้ามาในโปรแกรม) < > จะเรี ยกไฟล์ใน directory ที่กาหนดโดยตัวคอมไพล์เลอร์ ่ “ ” จะเรี ยกไฟล์ใน directory ทีทางานอยูในปั จจุบน ั
  • 10. การใช้ #define วิธีการใช้งาน #define ชื่อ ค่าที่ตองการ ้ ตัวอย่าง #define START 10 (กาหนดค่า START = 10) #define A 3*5/4 (กาหนดค่า A=3*5/4) #define pi 3.14159 (กาหนดค่า pi = 3.14159) #define sum(a,b) a+b (กาหนดค่า sum(ตัวแปรที่1, ตัวแปรที่2) = ตัวแปรที่1+ตัวแปรที่2
  • 11. ส่วนประกาศ (Global Declarations)  เป็ นการประกาศตัวแปรเพื่อใช้ งานในโปรแกรม โดยตัวแปรนั้นสามารถใช้ ได้ ในทุก ที่ในโปรแกรม  เป็ นส่วนที่ใช้ ในการประกาศ Function Prototype ของโปรแกรม  ส่วนนี้ในบางโปรแกรมอาจจะไม่มีกได้ ็ ตัวอย่าง int summation(float x, float y) ; (ประกาศ function summation) int x,y ; (กาหนดตัวแปร x,y เป็ นจานวนเต็ม) float z=3; (กาหนดตัวแปร z เป็ นจานวนจริ ง)
  • 12. ส่วนประกาศ (Global Declarations) ตัวอย่าง #include <stdio.h> int feet,inches; main() { feet = 6; inches = feet * 12; printf("Height in inches is %d",inches); } ผลการทางาน Height in inches is 72
  • 13. ฟั งก์ชนหลักของโปรแกรม (Main Function) ั  ส่ วนนี้ ทุกโปรแกรมจะต้องมี โดยโปรแกรมหลักจะเริ่ มต้นด้วย main() และ ตามด้วยเครื่ องหมายปี กกาเปิ ด ‘{’ และปี กกาปิ ด ‘}’  ระหว่างปี กกาจะประกอบไปด้วยคาสั่ง(Statement) ต่างๆ ที่ จะให้โปรแกรม ทางาน  แต่ละคาสั่งจะต้องจบด้วยเซมิโคลอน ‘;’ (Semicolon) #include <stdio.h> Main() { ... Statement ; }
  • 14. ฟั งก์ชนหลักของโปรแกรม (Main Function) ั ตัวอย่าง #include <stdio.h> int feet,inches; main() { feet = 6; inches = feet * 12; printf("Height in inches is %d",inches); } ผลการทางาน Height in inches is 72
  • 15. การสร้างฟั งก์ชนใช้งานเอง (User Define Function) ั  สร้างฟังก์ชนหรื อคาใหม่ ขึ้นมาใช้งานตามที่เราต้องการ ั  ระหว่างปี กกาจะประกอบด้วยคาสั่ง(Statement) ต่างๆ ที่จะให้ฟังก์ชนทางาน ั  สามารถเรี ยกใช้ภายในโปรแกรมได้ทุกที่ #include <stdio.h> int function() main(void) { ... Statement ; } int function() { Statement ; ... return (int value); }
  • 16. การสร้างฟั งก์ชนใช้งานเอง (User Define Function) ั ตัวอย่าง #include <stdio.h> int Feet2Inch(int); int feet,inches; main() { feet = 6; inches = Feet2Inch(feet); printf("Height in inches is %d",inches); } int Feet2Inch(int f) { return f*12; ผลการทางาน } Height in inches is 72
  • 17. การใช้คาอธิบาย (Program Comments)  ใช้เขียนส่ วนอธิ บายโปรแกรม (คอมเมนต์)  ช่วยให้ผศึกษาโปรแกรมภายหลังเข้าใจการทางานของโปรแกรม ู้  ส่ วนของคาอธิ บายจะถูกข้ามเมื่อคอมไพล์โปรแกรม การเขียนส่ วนอธิบายโปรแกรม (comments)ทาได้ 2 วิธีคือ // สาหรับคาอธิบายไปจนถึงท้ายบรรทัด และ /* คาอธิบาย */ ลักษณะการใช้เหมือนวงเล็บนั้นเอง
  • 18. การใช้คาอธิบาย (Program Comments) ตัวอย่าง #include <stdio.h> // Change Feet to Inches main() // main function { // Start int feet,inches; feet = 6; // feet  6 inches = feet * 12; // inches  feet * 12 printf("Height in inches is %d", inches); // write inches } // Stop ผลการทางาน Height in inches is 72
  • 19. การใช้ printf() เป็ นคาสั่งที่ใช้ในการแสดงผลออกทางจอภาพ โดยมีรูปแบบการใช้งานดังนี้ printf(“control หรือ format string”, variable list …); control หรือ format string เป็ นส่ วนที่ ใ ส่ ข้ อ ความที่ จ ะแสดงผล และส่ วนควบคุ ม ลั ก ษณะการ แสดงผล รวมทั้งบอกตาแหน่ งที่ตวแปรจะแสดงผล ั variable list เป็ นตัวแปรที่ต้องการจะแสดงผล ในกรณี ที่ต้องการแสดงข้ อ ความ ไม่ จาเป็ นต้ องมีส่วนนี้
  • 20. โปรแกรมที่ 1  สร้ าง folder ชื่อ source C  สร้ างไฟล์ hello.c โดยให้ พิมพ์คาว่า hello world  การใช้ งาน turbo c F2 Save Alt+F9 Compile Ctrl+F9 Compile & Run Alt+F5 Output  พิมพ์ช่ ือตัวเองเพิ่มอีกหนึ่งบรรทัด
  • 21. ตัวอย่ างโปรแกรม โปรแกรม #include <stdio.h> Backslash n main() { ขึ้นบรรทัดใหม่ printf(“Hello worldn"); printf(“Welcome to Computer Programming 1"); } ผลการทางาน Hello world Welcome to Computer Programming 1
  • 22. คาแนะนา โปรแกรม #include <stdio.h> main () { clrscr(); เคลียร์หน้าจอ …. getch(); รอรับค่าจากคียบอร์ ด ์ }
  • 23. การใช้ Control ด้วย Backslash ่ จากตัวอย่ างที่ 3 จะเห็นได้วาหากต้องการให้แสดงผลข้ามบรรทัดจะต้องเพิ่ม n ลงไป เรี ยกว่า backslash นอกจากนี้ยงมีตวอื่นๆ เช่น ั ั n ขึ้นบรรทัดใหม่ t เว้นระยะ 1 tab ใส่ ตวอักษร hh เมื่อ hh เป็ นเลขฐานสิ บหก ั xhh เช่น 41 = 'A', 42 = 'B' a ส่ งเสี ยงปิ้ บ แสดง " แสดง "
  • 24. ตัวอย่างโปรแกรม โปรแกรม #include <stdio.h> main() { printf("%d %5.2f %s", 12, 20.3, "Example"); } ผลการทางาน 12 20.30 Example %d %5.2f %s คือ รหัสควบคุม
  • 25. รหัสควบคุมลักษณะ (Format String) %d พิมพ์จานวนเต็มฐานสิ บ %u พิมพ์เลขไม่มีเครื่ องหมาย %f พิมพ์เลขทศนิยม %e พิมพ์ในรู ปจานวนจริ งยกกาลัง %c พิมพ์ตวอักษรตัวเดียว ั %s พิมพ์ชุดตัวอักษร (String) %% พิมพ์เครื่ องหมาย % %o พิมพ์เลขฐานแปด %x พิมพ์เลขฐานสิ บหก
  • 26. ตัวอย่างโปรแกรม โปรแกรม #include <stdio.h> #define x 65 main() { printf("%d %c %o %xn", x, x, x, x); printf(“x = %d”, x); } ผลการทางาน 65 A 101 41 X = 65
  • 27. การจัดการหน้าจอด้วยรหัสควบคุมลักษณะ ในกรณี ที่ ต ้ อ งการจั ด การหน้ า จอแสดงผลสามารถใช้ ต ั ว เลขร่ วมกั น กั บ รหัสควบคุมได้ เช่น %5d หมายถึง แสดงตัวเลขจานวนเต็ม 5 หลักอย่างต่า %5.2f หมายถึง แสดงตัวเลขจานวนจานวน 5 หลักอย่างต่า และ ทศนิยม 2 ตาแหน่ง ค่ า %d %5d ค่ า %f %5.2f 12 12 ___12 1.2 1.200000 _1.20 123 123 __123 1.234 1.234000 _1.23 1234 1234 _1234 12.345 12.345000 12.35 12345 12345 12345 123.456 123.456000 123.46
  • 28. X in decimal = 65 X in octadecimal = 101 โปรแกรมที่ 2 X in Hexadecimal = 41 Y = 1.234  สร้ างไฟล์ print.c โดย Y = 1.23e+00  กาหนด #define ดังต่อไปนี ้ CH = %C  จานวนเต็ม X มีคา 65 ่ SRW =  จานวนจริ ง Y มีคา 1.23456 ่ “Sriboonrungwittayakar n School”  ตัวอักษร CH มีคา ‘C’ ่  ชุดตัวอักษร SRW มีคา ‚Sriboonrungwittayakarn School‛ ่  พิมพ์คาต่างๆ ที่กาหนด ให้ แสดงผลดังรูป ่
  • 29. การเก็บค่าในภาษา C  ทาได้ 2 ลักษณะ คือ  แบบค่าคงที่ (Constant)  แบบตัวแปร (Variable)  การสร้ างตัวแปร  ต้ องรู้ว่าจะใช้ ตัวแปรเก็บค่าอะไร  ประกาศตัวแปรให้ เหมาะสมกับค่าที่จะเก็บ  ชนิดของตัวแปรหลักในภาษา C  ตัวแปรที่ใช้ เก็บอักขระ (Character variable)  ตัวแปรที่ใช้ เก็บเลขจานวนเต็ม (Integer variable)  ตัวแปรที่ใช้ เก็บเลขจานวนจริง (Float variable)
  • 30. การประกาศตัวแปร รู ปแบบของการประกาศตัวแปร ชนิดตัวแปร ชื่อตัวแปร; int i; ประกาศ i ให้ชนิดเป็ น integer float realnum; ประกาศ realnum ให้มีชนิดเป็ น float char ch; ประกาศ ch ให้ชนิดเป็ น character
  • 31. ชนิดของตัวแปร ขนาด ประเภทข้ อมูล คาอธิบาย ค่ าที่เก็บได้ (ไบต์ ) char ตัวอักษร 1 ตัว -128 ถึง 127 1 short ตัวเลขจานวนเต็ม -128 ถึง 127 1 ตัวเลขจานวน int เต็ม -32768 ถึง 32767 2 long ตัวเลขจานวนเต็ม -232 ถึง 232-1 4 float ตัวเลขทศนิยม 3.4E+/-38 (7 ตาแหน่ง) 4 1.7E+/-308 (15 double ตัวเลขทศนิยม ตาแหน่ง) 8
  • 32. การประกาศตัวแปรชนิดเดียวกัน  เราสามารถประกาศตัวแปรหลายๆตัว ที่มชนิดเดียวกันโดยใช้เพียง ี ประโยค(statement) เดียวได้ โดยใช้รูปแบบ 1. การประกาศทีละตัว เช่ น int i; int j; int k; 2. การประกาศพร้ อมกันหลายตัว เช่ น int i, j, k;
  • 33. การประกาศตัวแปรพร้อมให้ค่าเริ่มต้น  ในภาษา C ประโยค (statement) ของการประกาศตัวแปร สามารถ กาหนดค่าเริ่มต้ นให้ กบตัวแปรได้ ทนที ั ั โดยใช้ รูปแบบ ชนิดตัวแปร ชื่อตัวแปร = ค่ าเริ่มต้ น; เช่น int i = 5;  นอกจากนี ้ยังสามารถประกาศ หลายๆ ตัวแปรในบรรทัดเดียว กันได้ อีก เช่น int i = 5, k = 3, y;
  • 34. หลักการตังชื่อ (Identifier) ้ ชื่อ (Identifier) ไอเดนติฟายเออร์ เป็ นชื่อที่ผ้ ูใช้ กาหนดขึ้นในโปรแกรม เช่น ชื่อค่าคงที่ ชื่อตัว แปร ชื่อฟังก์ชัน เป็ นต้ น  ต้ องขึ้นต้ นด้ วยตัวอักษรภาษาอังกฤษ (ตัวใหญ่หรือเล็กก็ได้ ) หรือขีดล่าง ‘_’  ตามด้ วยตัวอักษรภาษาอังกฤษ ตัวเลข หรือขีดล่าง (Underscore) ‘_’  ไม่มีช่องว่างหรือตัวอักษรพิเศษอื่นๆ เช่น ‘!’, ‘@’, ‘#’, ‘$’, ‘%’, ‘^’ เป็ นต้ น  ตัวพิมพ์ใหญ่และเล็กจะเป็ นคนละตัวกันเช่น NAME, name, Name, NamE  ห้ ามซากับคาสงวน Reserve Words ของภาษา C ้  ห้ ามตั้งชื่อซากับ Function ที่อยู่ใน Library ของภาษา C ้
  • 35. คาสงวน Reserve Words ของภาษา C auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static While asm _cs _ds _es _ss cdecl far huge interrupt near pascal _export
  • 36. วีธการสร้างตัวแปรและกาหนดค่า ี #include <stdio.h> #include <stdio.h> main () main () { { int age; int age = 20; char sex; char sex = ‘ f ’; float grade; float grade = 3.14; char name[10] = “malee” age = 20; sex = ‘ f ’; printf(“you are %sn”,name); grade = 3.14; ... } }
  • 37. นิพจน์  นิพจน์อาจประกอบด้วย  ตัวแปร a + b  ค่าคงที่ x = y c = a + b  การเรียกใช้ฟังก์ชน ั x == y  หรือมีตวดาเนินการร่วมอยู่ก็ได้ ั ++i
  • 38. ตัวดาเนินการ กลุ่มของตัวดาเนินการ ตัวดาเนินการ ลาดับความสาคัญมาก ตัวดาเนินการยูนารี - ++ -- ! sizeof (type) คูณ าร และ าเศษเ ลือ * / % บวกและลบ + - ตัวดาเนินการเปรี ยบเทียบ < <= > >= ตัวดาเนินการเทียบเท่ า == != AND && OR || ตัวดาเนินการเงื่อนไข ?: ลาดับความสาคัญน้อย ตัวดาเนินการกา นดค่ า = += -= *= /= %=
  • 39. การใช้ scanf() เป็ นคาสั่งที่ใช้ในการรับค่า โดยมีรูปแบบการใช้งานดังนี้ scanf(“format string”, address list …); format string เป็ นส่ วนทีใช้ ในการใส่ รูปแบบของการรับข้ อมูล ่ address list เป็ นตาแหน่ งของตัวแปรทีต้องการจะเก็บข้ อมูล ่
  • 40. ตัวอย่างโปรแกรม โปรแกรม #include <stdio.h> main() { int x ; scanf("%d",&x); printf("%d %c", x, x); } ผลการทางาน 66 65 66 B 65 A
  • 41. ตัวอย่างโปรแกรม โปรแกรม #include <stdio.h> main() { char s1[80], s2[80] ; scanf("%[0-9]%[a-zA-Z]", s1, s2); printf("%s %s", s1, s2); } ผลการทางาน 1234test test1234 1234 test test
  • 42. โปรแกรมที่ 3  สร้ างไฟล์ triangle.c โดยให้  รับค่าฐานเป็ นเลขจานวนจริง  รับค่าความสูงเป็ นเลขจานวนจริง  คานวนหาค่าพื้นที่ของสามเหลี่ยม  Area = ½ * ฐาน * สูง
  • 43. ตัวอย่างโปรแกรม Input Base = 12.0 Input Base = 3.2 Input Height = 6.0 Input Height = 1.2 Area of triangle is 36.00 Area of triangle is 1.92 #include <stdio.h> main() { float b,h,area ; printf("Input Base = "); scanf("%f",&b); printf("Input Height = "); scanf("%f",&h); area = 0.5*b*h ; printf("Area of triangle is %5.2f",area); }
  • 44. โปรแกรมที่ 4  สร้ างไฟล์ circle.c โดยให้  รับค่ารัศมีเป็ นเลขจานวนจริง  กาหนดค่าคงที่ PI มีค่า 3.14159  คานวนหาค่าพื้นที่ของวงกลม  Area = PI* (รัศมี)2
  • 45. ตัวอย่ างโปรแกรม Input Radias = 12.0 Area of circle is 452.39 /* program to calculate area of a circle */ #include <stdio.h> #define PI 3.14159 main() { float radius, area; printf(“Input Radius = ?"); scanf("%f", &radius); area = PI * radius * radius; printf("Area of circle is %7.2f ", area); }
  • 46. โปรแกรมที่ 5  สร้ างไฟล์ donut.c โดยให้  รับค่ารัศมีของวงกลม 2 วง  กาหนดค่าคงที่ PI มีค่า 3.14159  คานวนหาค่าพื้นที่ของวงกลมส่วนสีเทา
  • 47. ตัวอย่างโปรแกรม #include <stdio.h> #define PI 3.14159 main() { float radius1,radius2, area1, area2; printf("Input outer radius ="); scanf(%f, &radius1); printf("Input inner radius ="); scanf(%f, &radius2); if (radius2 < radius1) { area1 = PI * radius1 * radius1; area2 = PI * radius2 * radius2; printf("Area of donut is %5.2f", area1-area2); } }