SlideShare a Scribd company logo
1 of 4
ใบความรู้ท ี่ 1
       เรื่อ ง ประวัต ิแ ละขั้น ตอนการพัฒ นาโปรแกรมภาษาซี
                         @@@@@@@@@
ป ร ะ วั ติ ค ว า ม เ ป็ น ม า ภ า ษ า ซี
        ภาษาซีเกิดขึ้นในปี ค.ศ. 1972 ผู้คิดค้นคือ Dennis Rittchie
โดยพัฒนามาจากภาษา B และ ภาษา BCPL แต่ยังไม่มีการใช้งานอย่าง
กว้างขวางนัก ในปี ค.ศ. 1978 Brain Kernighan ได้ร่วมกับ
Dennis Ritchie มาพัฒนามาตรฐานของภาษาซี เรียกว่า K&R ทำาให้
มีผู้สนใจเกี่ยว
กับภาษาซีมากขึ้น จึงเกิดภาษาซีอีกหลายรูปแบบเพราะยังไม่มีการกำา
หน                                                    ดรูปแบบภาษา
ซีที่เป็นมาตรฐาน และในปี 1988 Ritchie จึงได้กำาหนดมาตรฐาน
ของภาษาซีเรียกว่า ANSI C เพื่อใช้เป็นตัวกำาหนดมาตรฐานในการ
สร้างภาษาซีรุ่นต่อไปภาษาซี เป็นภาษาซีระดับกลางเหมาะสมสำาหรับ
การเขียนโปรแกรมแบบโครงสร้าง เป็นภาษาที่มีความยืดหยุ่นมากคือใช้
งานได้กับเครื่องต่างๆ ได้และปัจจุบันภาษาซีเป็นภาษาพื้นฐานของ
ภาษาโปรแกรมรุ่นใหม่ ๆ เช่น C++

ขั้ น ต อ น ก า ร พั ฒ น า โ ป ร แ ก ร ม ภ า ษ า ซี

ขั้ น ต อ น ที่ 1 เ ขี ย น โ ป ร แ ก ร ม (source code)
      ใช้ editor เขี ย นโปรแกรมภาษาซี แ ละทำา การบั น ทึ ก ไฟล์ ใ ห้ มี
น า ม ส กุ ล เ ป็ น         .c     เ ช่ น           work.c เ ป็ น ต้ น
editor คือ โปรแกรมที่ใช้สำา หรั บการเขี ยนโปรแกรม โดยตั วอย่าง
ข อ ง editor ที่ นิ ย ม นำา ม า ใ ช้ ใ น ก า ร เ ขี ย น โ ป ร แ ก ร ม ไ ด้ แ ก่
Notepad,Edit ของ Dos ,TextPad EditPlus Dev C++ Turbo
C เป็นต้น ผู้เขียนโปรแกรมสามารถเลือกใช้โปรแกรมใดในการเรีย น
โ ป ร แ ก ร ม ก็ ไ ด้ แ ล้ ว แ ต่ ค ว า ม ถ นั ด ข อ ง แ ต่ ล ะ บุ ค ค ล

ขั้น ตอนที่ 2 คอมไพล์โ ปรแกรม (compile)
      นำา source code จากขั้นตอนที่ 1 มาทำาการคอมไพล์ เพื่อแปล
จากภาษาซีที่มนุษย์เข้าใจไปเป็นภาษาเครื่องที่คอมพิวเตอร์เข้าใจได้
ในขั้นตอนนี้คอมไพเลอร์จะทำาการตรวจสอบ source code ว่าเกิด
ข้อผิดพลาดหรือไม่
 หากเกิดข้อผิดพลาด จะแจ้งให้ผู้เขียนโปรแกรมทราบ ผู้เขียน
         โปรแกรมจะต้องกลับไปแก้ไขโปรแกรม และทำาการคอมไพล์
         โปรแกรมใหม่อีกครั้ง
        หากไม่พบข้อผิดพลาด คอมไพเลอร์จะแปลไฟล์ source
         code จากภาษาซีไปเป็นภาษาเครื่อง (ไฟล์นามสกุล .obj)
         เช่นถ้าไฟล์ source code ชื่อ work.c ก็จะถูกแปลไปเป็น
         ไฟล์ work.obj ซึ่งเก็บภาษาเครื่องไว้เป็นต้น
compile เป็นตัวแปลภาษารูปแบบหนึ่ง มีหน้าที่หลักคือการแปลภาษา
โปรแกรมที่มนุษย์เขียนขึ้นไปเป็น
ภาษาเครื่อง โดยคอมไพเลอร์ของภาษาซี คือ C Compiler ซึ่งหลัก
การที่คอมไพเลอร์ใช้ เรียกว่า คอมไพล์ (compile) โดยจะทำาการ
อ่านโปรแกรมภาษาซีทั้งหมดตั้งแต่ต้นจนจบ แล้วทำาการแปลผลที
เดีย ว
       นอกจากคอมไพเลอร์แล้ว ยังมีตัวแปลภาษาอีกรูปแบบหนึ่งที่เรียก
ว่า อิน เตอร์พ รีเ ตอร์ การอ่านและแปลโปรแกรมทีล ะบรรทัด
เมื่อแปลผลบรรทัดหนึ่งเสร็จก็จะทำางานตามคำาสั่งในบรรทัดนั้น แล้วจึง
ทำาการแปลผลตามคำาสั่งในบรรทัดถัดไป หลักการที่อินเตอร์พรีเตอร์ใช้
เรียกว่า อินเตอร์เพรต (interpret)

ข้อ ดีแ ละข้อ เสีย ของตัว แปลภาษาทั้ง สองแบบมีด ัง นี้
                                    ข้อ ดี                 ข้อ เสีย
คอมไพเลอร์                 ทำางานได้เร็ว          เมื่อเกิดข้อผิดพลาด
                            เนื่องจากทำาการแปล      ขึนกับโปรแกรมจะ
                                                      ้
                            ผลทีเดียว แล้วจึง       ตรวจสอบหาข้อผิด
                            ทำางานตามคำาสั่งของ     พลาดได้ยาก เพราะ
                            โปรแกรมในภายหลัง        ทำาการแปลผลทีเดียว
                           เมื่อทำาการแปลผล        ทั้งโปรแกรม
                            แล้ว ในครั้งต่อไปไม่
                            จำาเป็นต้องทำาการ
                            แปลผลใหม่อีก
                            เนื่องจากภาษาเครื่อง
                            ที่แปลได้จะถูกเก็บไว้
                            ทีหน่วยความจำา
                               ่
                            สามารถเรียกใช้งาน
                            ได้ทันที
อินเตอร์พรีเตอร์           หาข้อผิดพลาดของ        ช้า เนื่องจากที่
โปรแกรมได้ง่าย             ทำางานทีละบรรทัด
                            เนื่องจากทำาการแปล
                            ผลทีละบรรทัด
                           เนื่องจากทำางานทีละ
                            บรรทัดดังนั้นจึงสั่ง
                            ให้โปรแกรมทำางาน
                            ตามคำาสั่งเฉพาะจุดที่
                            ต้องการได้
                           ไม่เสียเวลารอการ
                            แปลโปรแกรมเป็น
                            เวลานาน


ขั้น ตอนที่ 3 เชื่อ มโยงโปรแกรม (link)
       การเขียนโปรแกรมภาษาซีนั้นผู้เขียนโปรแกรมไม่จำาเป็นต้อง
เขียนคำาสั่งต่าง ๆ ขึ้นใช้งานเอง เนื่องจากภาษาซีมีฟังก์ชั้นมาตรฐาน
ให้ผู้เขียนโปรแกรมสามารถเรียกใช้งานได้ เช่น การเขียนโปรแกรม
แสดงข้อความ “Rachasathit” ออกทางหน้าจอ ผู้เขียนโปรแกรม
สามารถเรียกใช้ฟังก์ชั่น printf() ซึ่งเป็นฟังก์ชั่น         มาตรฐาน
ของภาษาซีมาใช้งานได้ โดยส่วนการประกาศ (declaration) ของฟัง
ก์ชั่นมาตรฐานต่าง ๆ จะถูกจัดเก็บอยู่ในเฮดเดอร์ไฟล์แต่ละตัว แตกต่าง
กันไปตามลักษณะการใช้งาน
       ด้วยเหตุนี้ภาษาเครื่องที่ได้จากขั้นตอนที่ 2 จึงยังไม่สามารถนำา
ไปใช้งานได้ แต่ต้องนำามาเชื่อมโยงเข้ากับ library ก่อน ซึ่งผลจาก
การเชื่อมโยงจะทำาให้ได้ executable program (ไฟล์นามสกุล.exe
เช่น work.exe)          ที่สามารถนำาไปใช้งานได้

ขั้น ตอนที่ 4 ประมวลผล (run)
      เมื่อนำา executable program จากขั้นตอนที่ 3 มาประมวลผล
ก็จะได้ผลลัพธ์ (output) ของโปรแกรมออกมา (ถ้ามี)

    Edito
    Edito
      r
      r สร้
        าง
   Work.
   Work.         Comp
    cc           ileC                     link
                    C            Work.
                                 Work.              Work. run Outp
                                                    Work.
   ………
   ………
                 Compil
                 Compil           obj
                                  obj                exe
                                                     exe      ut
    ..
     ..
   ………              er
                    er
   ………
    ..
     ..
Source                    Object         Executabl
Code                      Program        e
                                 Library
                                 Library

         รูปที่ 1 ขันตอนการพัฒนาโปรแกรมด้วยภาษาซี
                    ้

More Related Content

What's hot

การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์Onpreeya Sahnguansak
 
การสร้างงานโปรเเกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรเเกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรเเกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรเเกรมด้วยภาษาคอมพิวเตอร์Pete Panupong
 
การสร้างโปรแกรมด้วยภาษาคอมพิมเตอร์
การสร้างโปรแกรมด้วยภาษาคอมพิมเตอร์การสร้างโปรแกรมด้วยภาษาคอมพิมเตอร์
การสร้างโปรแกรมด้วยภาษาคอมพิมเตอร์Adisak' Jame
 
การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_
การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_
การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_Aoy-Phisit Modify-Computer
 
16 พีรพล-ปวช3-7
16 พีรพล-ปวช3-716 พีรพล-ปวช3-7
16 พีรพล-ปวช3-7naraporn buanuch
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์N'Name Phuthiphong
 
บทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐาน
บทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐานบทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐาน
บทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐานBaramee Chomphoo
 
โปรแกรมคอม
โปรแกรมคอมโปรแกรมคอม
โปรแกรมคอมOnrutai Intanin
 
โปรแกรมคอม
โปรแกรมคอมโปรแกรมคอม
โปรแกรมคอมOnrutai Intanin
 
การสร้างงานโปรแกรม
การสร้างงานโปรแกรมการสร้างงานโปรแกรม
การสร้างงานโปรแกรมComputer ITSWKJ
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์benz18
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์WEDPISIT KHAMCHAROEN
 
การเข้าใช้โปรแกรมซี Dev C++
การเข้าใช้โปรแกรมซี Dev C++การเข้าใช้โปรแกรมซี Dev C++
การเข้าใช้โปรแกรมซี Dev C++dechathon
 
Introduction to Java Programming
Introduction to Java ProgrammingIntroduction to Java Programming
Introduction to Java ProgrammingBhusit Net
 
ข้อสอบกลางภาค
ข้อสอบกลางภาคข้อสอบกลางภาค
ข้อสอบกลางภาคDai Punyawat
 
ประโยชน์ของผังงาน
ประโยชน์ของผังงานประโยชน์ของผังงาน
ประโยชน์ของผังงานPannathat Champakul
 
18 ธนวัต-ปวช.3-7
18 ธนวัต-ปวช.3-718 ธนวัต-ปวช.3-7
18 ธนวัต-ปวช.3-7naraporn buanuch
 
การสร้างงานโปรแกรมคอมพิวเตอร์ด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมคอมพิวเตอร์ด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมคอมพิวเตอร์ด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมคอมพิวเตอร์ด้วยภาษาคอมพิวเตอร์ttyuj tgyhuj
 

What's hot (20)

การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
 
การสร้างงานโปรเเกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรเเกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรเเกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรเเกรมด้วยภาษาคอมพิวเตอร์
 
การสร้างโปรแกรมด้วยภาษาคอมพิมเตอร์
การสร้างโปรแกรมด้วยภาษาคอมพิมเตอร์การสร้างโปรแกรมด้วยภาษาคอมพิมเตอร์
การสร้างโปรแกรมด้วยภาษาคอมพิมเตอร์
 
การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_
การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_
การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_
 
16 พีรพล-ปวช3-7
16 พีรพล-ปวช3-716 พีรพล-ปวช3-7
16 พีรพล-ปวช3-7
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์
 
Computer
ComputerComputer
Computer
 
บทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐาน
บทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐานบทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐาน
บทที่2การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
โปรแกรมคอม
โปรแกรมคอมโปรแกรมคอม
โปรแกรมคอม
 
โปรแกรมคอม
โปรแกรมคอมโปรแกรมคอม
โปรแกรมคอม
 
การสร้างงานโปรแกรม
การสร้างงานโปรแกรมการสร้างงานโปรแกรม
การสร้างงานโปรแกรม
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์
 
การเข้าใช้โปรแกรมซี Dev C++
การเข้าใช้โปรแกรมซี Dev C++การเข้าใช้โปรแกรมซี Dev C++
การเข้าใช้โปรแกรมซี Dev C++
 
Introduction to Java Programming
Introduction to Java ProgrammingIntroduction to Java Programming
Introduction to Java Programming
 
ข้อสอบกลางภาค
ข้อสอบกลางภาคข้อสอบกลางภาค
ข้อสอบกลางภาค
 
ประโยชน์ของผังงาน
ประโยชน์ของผังงานประโยชน์ของผังงาน
ประโยชน์ของผังงาน
 
18 ธนวัต-ปวช.3-7
18 ธนวัต-ปวช.3-718 ธนวัต-ปวช.3-7
18 ธนวัต-ปวช.3-7
 
ฝ้าย 55
ฝ้าย 55ฝ้าย 55
ฝ้าย 55
 
การสร้างงานโปรแกรมคอมพิวเตอร์ด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมคอมพิวเตอร์ด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมคอมพิวเตอร์ด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมคอมพิวเตอร์ด้วยภาษาคอมพิวเตอร์
 

Similar to Learn 1

การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++Naowarat Jaikaroon
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์Onpreeya Sahnguansak
 
ภาษา C
ภาษา Cภาษา C
ภาษา C0872671746
 
eruueng_kaarcchadkaarchftaewrain_Windows_7.docx
eruueng_kaarcchadkaarchftaewrain_Windows_7.docxeruueng_kaarcchadkaarchftaewrain_Windows_7.docx
eruueng_kaarcchadkaarchftaewrain_Windows_7.docxssuser07f67b
 
13 อภิรักษ์-3-7
13 อภิรักษ์-3-713 อภิรักษ์-3-7
13 อภิรักษ์-3-7naraporn buanuch
 
ประวัติภาษา C
ประวัติภาษา Cประวัติภาษา C
ประวัติภาษา CFair Kung Nattaput
 
งานคอมกลุ่ม
งานคอมกลุ่มงานคอมกลุ่ม
งานคอมกลุ่มGroup1st
 
โครงงานคอม 5
โครงงานคอม 5โครงงานคอม 5
โครงงานคอม 5wipawanmmiiww
 
โปรแกรม
โปรแกรมโปรแกรม
โปรแกรมthanapon51105
 
3 software deverlop
3 software deverlop3 software deverlop
3 software deverlopPor Kung
 
ใบงานที่ 5 โครงงานประเภทการพัฒนาเครื่องมือ
ใบงานที่ 5 โครงงานประเภทการพัฒนาเครื่องมือใบงานที่ 5 โครงงานประเภทการพัฒนาเครื่องมือ
ใบงานที่ 5 โครงงานประเภทการพัฒนาเครื่องมือKaRn Tik Tok
 

Similar to Learn 1 (20)

การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++
 
1236363
12363631236363
1236363
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
ภาษา C
ภาษา Cภาษา C
ภาษา C
 
eruueng_kaarcchadkaarchftaewrain_Windows_7.docx
eruueng_kaarcchadkaarchftaewrain_Windows_7.docxeruueng_kaarcchadkaarchftaewrain_Windows_7.docx
eruueng_kaarcchadkaarchftaewrain_Windows_7.docx
 
13 อภิรักษ์-3-7
13 อภิรักษ์-3-713 อภิรักษ์-3-7
13 อภิรักษ์-3-7
 
Know1 2
Know1 2Know1 2
Know1 2
 
ประวัติภาษา C
ประวัติภาษา Cประวัติภาษา C
ประวัติภาษา C
 
Ch17
Ch17Ch17
Ch17
 
Lesson1
Lesson1Lesson1
Lesson1
 
Lesson1
Lesson1Lesson1
Lesson1
 
Lesson1
Lesson1Lesson1
Lesson1
 
งานนำเสนอ
งานนำเสนองานนำเสนอ
งานนำเสนอ
 
งานคอมกลุ่ม
งานคอมกลุ่มงานคอมกลุ่ม
งานคอมกลุ่ม
 
โครงงานคอม 5
โครงงานคอม 5โครงงานคอม 5
โครงงานคอม 5
 
โปรแกรม
โปรแกรมโปรแกรม
โปรแกรม
 
3 software deverlop
3 software deverlop3 software deverlop
3 software deverlop
 
ใบงานที่ 5 โครงงานประเภทการพัฒนาเครื่องมือ
ใบงานที่ 5 โครงงานประเภทการพัฒนาเครื่องมือใบงานที่ 5 โครงงานประเภทการพัฒนาเครื่องมือ
ใบงานที่ 5 โครงงานประเภทการพัฒนาเครื่องมือ
 

More from Sompon Ketsuwong (6)

Work2 1
Work2  1Work2  1
Work2 1
 
Work1 1
Work1  1Work1  1
Work1 1
 
Learn 4
Learn 4Learn 4
Learn 4
 
Learn 3
Learn 3Learn 3
Learn 3
 
Learn 2
Learn 2Learn 2
Learn 2
 
D6
D6D6
D6
 

Learn 1

  • 1. ใบความรู้ท ี่ 1 เรื่อ ง ประวัต ิแ ละขั้น ตอนการพัฒ นาโปรแกรมภาษาซี @@@@@@@@@ ป ร ะ วั ติ ค ว า ม เ ป็ น ม า ภ า ษ า ซี ภาษาซีเกิดขึ้นในปี ค.ศ. 1972 ผู้คิดค้นคือ Dennis Rittchie โดยพัฒนามาจากภาษา B และ ภาษา BCPL แต่ยังไม่มีการใช้งานอย่าง กว้างขวางนัก ในปี ค.ศ. 1978 Brain Kernighan ได้ร่วมกับ Dennis Ritchie มาพัฒนามาตรฐานของภาษาซี เรียกว่า K&R ทำาให้ มีผู้สนใจเกี่ยว กับภาษาซีมากขึ้น จึงเกิดภาษาซีอีกหลายรูปแบบเพราะยังไม่มีการกำา หน ดรูปแบบภาษา ซีที่เป็นมาตรฐาน และในปี 1988 Ritchie จึงได้กำาหนดมาตรฐาน ของภาษาซีเรียกว่า ANSI C เพื่อใช้เป็นตัวกำาหนดมาตรฐานในการ สร้างภาษาซีรุ่นต่อไปภาษาซี เป็นภาษาซีระดับกลางเหมาะสมสำาหรับ การเขียนโปรแกรมแบบโครงสร้าง เป็นภาษาที่มีความยืดหยุ่นมากคือใช้ งานได้กับเครื่องต่างๆ ได้และปัจจุบันภาษาซีเป็นภาษาพื้นฐานของ ภาษาโปรแกรมรุ่นใหม่ ๆ เช่น C++ ขั้ น ต อ น ก า ร พั ฒ น า โ ป ร แ ก ร ม ภ า ษ า ซี ขั้ น ต อ น ที่ 1 เ ขี ย น โ ป ร แ ก ร ม (source code) ใช้ editor เขี ย นโปรแกรมภาษาซี แ ละทำา การบั น ทึ ก ไฟล์ ใ ห้ มี น า ม ส กุ ล เ ป็ น .c เ ช่ น work.c เ ป็ น ต้ น editor คือ โปรแกรมที่ใช้สำา หรั บการเขี ยนโปรแกรม โดยตั วอย่าง ข อ ง editor ที่ นิ ย ม นำา ม า ใ ช้ ใ น ก า ร เ ขี ย น โ ป ร แ ก ร ม ไ ด้ แ ก่ Notepad,Edit ของ Dos ,TextPad EditPlus Dev C++ Turbo C เป็นต้น ผู้เขียนโปรแกรมสามารถเลือกใช้โปรแกรมใดในการเรีย น โ ป ร แ ก ร ม ก็ ไ ด้ แ ล้ ว แ ต่ ค ว า ม ถ นั ด ข อ ง แ ต่ ล ะ บุ ค ค ล ขั้น ตอนที่ 2 คอมไพล์โ ปรแกรม (compile) นำา source code จากขั้นตอนที่ 1 มาทำาการคอมไพล์ เพื่อแปล จากภาษาซีที่มนุษย์เข้าใจไปเป็นภาษาเครื่องที่คอมพิวเตอร์เข้าใจได้ ในขั้นตอนนี้คอมไพเลอร์จะทำาการตรวจสอบ source code ว่าเกิด ข้อผิดพลาดหรือไม่
  • 2.  หากเกิดข้อผิดพลาด จะแจ้งให้ผู้เขียนโปรแกรมทราบ ผู้เขียน โปรแกรมจะต้องกลับไปแก้ไขโปรแกรม และทำาการคอมไพล์ โปรแกรมใหม่อีกครั้ง  หากไม่พบข้อผิดพลาด คอมไพเลอร์จะแปลไฟล์ source code จากภาษาซีไปเป็นภาษาเครื่อง (ไฟล์นามสกุล .obj) เช่นถ้าไฟล์ source code ชื่อ work.c ก็จะถูกแปลไปเป็น ไฟล์ work.obj ซึ่งเก็บภาษาเครื่องไว้เป็นต้น compile เป็นตัวแปลภาษารูปแบบหนึ่ง มีหน้าที่หลักคือการแปลภาษา โปรแกรมที่มนุษย์เขียนขึ้นไปเป็น ภาษาเครื่อง โดยคอมไพเลอร์ของภาษาซี คือ C Compiler ซึ่งหลัก การที่คอมไพเลอร์ใช้ เรียกว่า คอมไพล์ (compile) โดยจะทำาการ อ่านโปรแกรมภาษาซีทั้งหมดตั้งแต่ต้นจนจบ แล้วทำาการแปลผลที เดีย ว นอกจากคอมไพเลอร์แล้ว ยังมีตัวแปลภาษาอีกรูปแบบหนึ่งที่เรียก ว่า อิน เตอร์พ รีเ ตอร์ การอ่านและแปลโปรแกรมทีล ะบรรทัด เมื่อแปลผลบรรทัดหนึ่งเสร็จก็จะทำางานตามคำาสั่งในบรรทัดนั้น แล้วจึง ทำาการแปลผลตามคำาสั่งในบรรทัดถัดไป หลักการที่อินเตอร์พรีเตอร์ใช้ เรียกว่า อินเตอร์เพรต (interpret) ข้อ ดีแ ละข้อ เสีย ของตัว แปลภาษาทั้ง สองแบบมีด ัง นี้ ข้อ ดี ข้อ เสีย คอมไพเลอร์  ทำางานได้เร็ว  เมื่อเกิดข้อผิดพลาด เนื่องจากทำาการแปล ขึนกับโปรแกรมจะ ้ ผลทีเดียว แล้วจึง ตรวจสอบหาข้อผิด ทำางานตามคำาสั่งของ พลาดได้ยาก เพราะ โปรแกรมในภายหลัง ทำาการแปลผลทีเดียว  เมื่อทำาการแปลผล ทั้งโปรแกรม แล้ว ในครั้งต่อไปไม่ จำาเป็นต้องทำาการ แปลผลใหม่อีก เนื่องจากภาษาเครื่อง ที่แปลได้จะถูกเก็บไว้ ทีหน่วยความจำา ่ สามารถเรียกใช้งาน ได้ทันที อินเตอร์พรีเตอร์  หาข้อผิดพลาดของ  ช้า เนื่องจากที่
  • 3. โปรแกรมได้ง่าย ทำางานทีละบรรทัด เนื่องจากทำาการแปล ผลทีละบรรทัด  เนื่องจากทำางานทีละ บรรทัดดังนั้นจึงสั่ง ให้โปรแกรมทำางาน ตามคำาสั่งเฉพาะจุดที่ ต้องการได้  ไม่เสียเวลารอการ แปลโปรแกรมเป็น เวลานาน ขั้น ตอนที่ 3 เชื่อ มโยงโปรแกรม (link) การเขียนโปรแกรมภาษาซีนั้นผู้เขียนโปรแกรมไม่จำาเป็นต้อง เขียนคำาสั่งต่าง ๆ ขึ้นใช้งานเอง เนื่องจากภาษาซีมีฟังก์ชั้นมาตรฐาน ให้ผู้เขียนโปรแกรมสามารถเรียกใช้งานได้ เช่น การเขียนโปรแกรม แสดงข้อความ “Rachasathit” ออกทางหน้าจอ ผู้เขียนโปรแกรม สามารถเรียกใช้ฟังก์ชั่น printf() ซึ่งเป็นฟังก์ชั่น มาตรฐาน ของภาษาซีมาใช้งานได้ โดยส่วนการประกาศ (declaration) ของฟัง ก์ชั่นมาตรฐานต่าง ๆ จะถูกจัดเก็บอยู่ในเฮดเดอร์ไฟล์แต่ละตัว แตกต่าง กันไปตามลักษณะการใช้งาน ด้วยเหตุนี้ภาษาเครื่องที่ได้จากขั้นตอนที่ 2 จึงยังไม่สามารถนำา ไปใช้งานได้ แต่ต้องนำามาเชื่อมโยงเข้ากับ library ก่อน ซึ่งผลจาก การเชื่อมโยงจะทำาให้ได้ executable program (ไฟล์นามสกุล.exe เช่น work.exe) ที่สามารถนำาไปใช้งานได้ ขั้น ตอนที่ 4 ประมวลผล (run) เมื่อนำา executable program จากขั้นตอนที่ 3 มาประมวลผล ก็จะได้ผลลัพธ์ (output) ของโปรแกรมออกมา (ถ้ามี) Edito Edito r r สร้ าง Work. Work. Comp cc ileC link C Work. Work. Work. run Outp Work. ……… ……… Compil Compil obj obj exe exe ut .. .. ……… er er ……… .. ..
  • 4. Source Object Executabl Code Program e Library Library รูปที่ 1 ขันตอนการพัฒนาโปรแกรมด้วยภาษาซี ้