More Related Content
Similar to ประวัติภาษา C (20)
More from Fair Kung Nattaput
More from Fair Kung Nattaput (6)
ประวัติภาษา C
- 2. แนะนำภำษำ C
• ภาษา C เป็ นภาษาระดับสู ง แต่มีขีดความสามารถพิเศษเหนือกว่าภาษา
ระดับสู งอื่น กล่าวคือสามารถทางานในระดับต่าได้เช่นเดียวกับ
ภาษาระดับต่า จึงสามารถใช้เขียนโปรแกรมระบบปฏิบติการ หรื องาน
ั
ทัวไป เช่น ใช้เขียนโปรแกรมที่มีการคานวณมากๆ ทางด้านคณิ ตศาสตร์
่
หรื อทางด้านธุ รกิจ
• ภาษา C มีลกษณะเป็ นภาษาโครงสร้ าง(Structure programming) คือ เมื่อ
ั
โปรแกรมถูกประมวลผล ประโยคคาสั่งในโปรแกรมจะถูกจัดให้มีลาดับ
การทางานตามคาสั่ง เช่น คาสั่ง if-else,while หรื อ do while เป็ นต้น
- 3. ประวัติภาษาซี
เป็ นภาษา C เกิดขึ้นในปี ค.ศ .1972 ผูคิดค้นคือ
้
นายเดนนิส ริตชี (Dennis Ritchi) แห่งห้องทดลอง
เบลล์ (Bell laboratories) ที่มลรัฐนิวเจอร์ซีย ์
สหรัฐอเมริ กา นายเดนนีสได้ใช้หลักการมาจากภาษา
บีซีพแอล (BCPL : Basic Combine Programming
ี
Language) ของนายเคน ทอมสัน (Ken tomson)
เดนนิส ริ ตชีมีจุดมุ่งหมายให้ภาษา C ที่เขาพัฒนาขึ้น
เป็ นภาษาสาหรับใช้เขียนโปรแกรมปฏิบติการระบบ
ั
ยูนิกซ์ และได้ต้ งชื่อว่า ซี (C) เพราะเห็นว่า ซี (C) เป็ น
ั
ตัวอักษรต่อจากบี (B) ของภาษา BCPL ภาษาซีถือว่า
เป็ นภาษาระดับสูงและภาษาระดับต่า การศึกษาภาษาซี
ถือว่าเป็ นพื้นฐานในการศึกษาภาษาใหม่ ๆ ได้
- 4. จุดกาเนิดของภาษา C นั้น เกิดมาจาก UNIX ผูออกแบบภาษา UNIX ต้องการ
้
ให้ OS ของตัวเอง สามารถใช้งานได้บนเครื่ องต่างๆ กัน แต่การที่
ุ่
จะต้อง Implement UNIX โดยใช้ภาษา Assembly ของแต่ละเครื่ อง เป็ นสิ่ งที่ยงยาก
เกินไป ผูออกแบบ UNIX จึงสร้างภาษากลางภาษาหนึ่ง ซึ่ง UNIX ทั้งตัวเขียนจาก
้
ภาษาดังกล่าว
ดังนั้นเมื่อต้องการ ให้ UNIX ใช้ งานได้บนเครื่ องใด ก็ให้สร้างคอมไพเลอร์
ของภาษากลางบนเครื่ องนั้นก่อน คอมไพเลอร์จะแปล โปรแกรมให้เป็ น
ภาษาเครื่ อง ทาให้ลดความซับซ้อนลงมาก ภาษากลางดังกล่าวก็คือ ภาษา C
- 6. จุดเด่ นของภาษา C
1.เป็ นภาษาคอมพิวเตอร์ที่มีการพัฒนาขึ้นใช้งานเพื่อเป็ นภาษามาตรฐานไม่
ขึ้นกับโปรแกรมจัดระบบงานและฮาร์ดแวร์
2.เป็ นภาษาคอมพิวเตอร์ที่อาศัยหลักการที่เรี ยกว่า "โปรแกรมโครงสร้าง" จึง
เป็ นภาษาที่เหมาะกับการพัฒนาโปรแกรมระบบ
3.เป็ นคอมไพเลอร์ที่มีประสิ ทธิภาพสูง ให้รหัสออบเจ็กต์ส้ น ทางานได้
ั
รวดเร็ ว เหมาะกับงานที่ตองการ ความรวดเร็ วเป็ นสาคัญ
้
4.มีความคล่องตัวคล้ายภาษาแอสเซมบลี ภาษาซี สามารถเขียนแทน
ภาษาแอสเซมบลีได้ดี ค้นหาที่ผิดหรื อ แก้โปรแกรมได้ง่าย ภาษาซี จึงเป็ นภาษา
ระดับสูงที่ทางานเหมือนภาษาระดับต่า
5.มีความคล่องตัวที่จะประยุกต์เข้ากับงานต่างๆ ได้เป็ นอย่างดี การพัฒนา
่
6.เป็ นภาษาที่มีอยูบนเกือบทุกโปรแกรมจัดระบบงาน
7.เป็ นภาษาที่รวมข้อดีเด่นในเรื่ องการพัฒนา จนทาให้เป็ นภาษาที่มีผสนใจ
ู้
มากมายที่จะเรี ยนรู ้หลักการของภาษา และวิธีการเขียนโปรแกรม ตลอดจนการพัฒนา
งานบนภาษานี้
- 7. ขั้นตอนการพัฒนาโปรแกรมภาษาซี
ขั้นตอนที่ 1 เขียนโปรแกรม (source code)
ใช้ editor เขียนโปรแกรมภาษาซีและทาการบันทึกไฟล์ให้มี
นามสกุลเป็ น .c เช่น work.c เป็ นต้น
***editor คือ โปรแกรมที่ใช้สาหรับการเขียนโปรแกรม โดย
ตัวอย่างของ editor ที่นิยมนามาใช้ในการเขียนโปรแกรม
ได้แก่ Notepad,Edit ของ Dos ,TextPad และ EditPlus เป็ นต้น
ผูเ้ ขียนโปรแกรมสามารถเลือกใช้โปรแกรมใดในการเรี ยน
โปรแกรมก็ได้ แล้วแต่ความถนัดของแต่ละบุคคล
- 8. ขั้นตอนที่ 2 คอมไพล์โปรแกรม (compile)
นา source code จากขั้นตอนที่ 1 มาทาการคอมไพล์ เพื่อแปลจาก
ภาษาซีที่มนุษย์เข้าใจไปเป็ นภาษาเครื่ องที่คอมพิวเตอร์เข้าใจได้ ใน
ขั้นตอนนี้คอมไพเลอร์ จะทาการตรวจสอบ source code ว่าเกิด
ข้อผิดพลาดหรื อไม่
หากเกิดข้อผิดพลาด จะแจ้งให้ผเู ้ ขียนโปรแกรมทราบ ผูเ้ ขียน
โปรแกรมจะต้องกลับไปแก้ไขโปรแกรม และทาการคอมไพล์โปรแกรม
ใหม่อีกครั้ง
หากไม่พบข้อผิดพลาด คอมไพเลอร์ จะแปลไฟล์ source code จาก
ภาษาซีไปเป็ นภาษาเครื่ อง (ไฟล์นามสกุล .obj) เช่นถ้าไฟล์ source code
ชื่อ work.c ก็จะถูกแปลไปเป็ นไฟล์ work.obj ซึ่ งเก็บภาษาเครื่ องไว้
เป็ นต้น
- 9. compile เป็ นตัวแปลภาษารู ปแบบหนึ่ง มีหน้าที่หลักคือการ
แปลภาษาโปรแกรมที่มนุษย์เขียนขึ้นไปเป็ นภาษาเครื่ อง โดย
คอมไพเลอร์ของภาษาซี คือ C Compiler ซึ่งหลักการที่คอมไพเลอร์
ใช้ เรี ยกว่า คอมไพล์ (compile) โดยจะทาการอ่านโปรแกรมภาษาซี
ทั้งหมดตั้งแต่ตนจนจบ แล้วทาการแปลผลทีเดียว
้
นอกจากคอมไพเลอร์แล้ว ยังมีตวแปลภาษาอีกรู ปแบบหนึ่งที่
ั
เรี ยกว่า อินเตอร์ พรีเตอร์ การอ่านและแปลโปรแกรมทีละบรรทัด เมื่อ
แปลผลบรรทัดหนึ่งเสร็ จก็จะทางานตามคาสั่งในบรรทัดนั้น แล้วจึงทา
การแปลผลตามคาสั่งในบรรทัดถัดไป หลักการที่อินเตอร์ พรี เตอร์ ใช้
เรี ยกว่า อินเตอร์ เพรต(interpret)
- 10. ข้ อดีและข้ อเสี ยของตัวแปลภาษาทั้งสองแบบมีดังนี้
ข้ อดี
คอมไพเลอร์
ข้ อเสีย
•ทางานได้เร็ ว เนื่องจากทาการ
แปลผลทีเดียว แล้วจึงทางานตาม
คาสังของโปรแกรมในภายหลัง
่
•เมื่อทาการแปลผลแล้ว ในครั้ง
ต่อไปไม่จาเป็ นต้องทาการแปล
ผลใหม่อีก เนื่องจากภาษาเครื่ องที่
แปลได้จะถูกเก็บไว้ที่
หน่วยความจา สามารถเรี ยกใช้
งานได้ทนที
ั
- เมื่อเกิดข้อผิดพลาด
ขึ้นกับโปรแกรมจะ
ตรวจสอบหาข้อผิดพลาด
ได้ยาก เพราะทาการแปล
ผลทีเดียวทั้งโปรแกรม
- 11. ข้ อดี
อินเตอร์พรี เตอร์
ข้ อเสีย
•หาข้อผิดพลาดของโปรแกรมได้ - ช้า เนื่องจากที่ทางานทีละ
ง่าย เนื่องจากทาการแปลผลทีละ บรรทัด
บรรทัด
•เนื่องจากทางานทีละบรรทัดดังนั้น
จึงสังให้โปรแกรมทางานตามคาสัง
่
่
เฉพาะจุดที่ตองการได้
้
•ไม่เสี ยเวลารอการแปลโปรแกรม
เป็ นเวลานาน
- 12. ขั้นตอนที่ 3 เชื่อมโยงโปรแกรม (link)
การเขียนโปรแกรมภาษาซีน้ นผูเ้ ขียนโปรแกรมไม่จาเป็ นต้องเขียนคาสัง
ั
่
ต่าง ๆ ขึ้นใช้งานเอง เนื่องจากภาษาซีมีฟังก์ช้ นมาตรฐานให้ผเู ้ ขียนโปรแกรม
ั
สามารถเรี ยกใช้งานได้ เช่น การเขียนโปรแกรมแสดงข้อความ “Khon Kaen
University” ออกทางหน้าจอ ผูเ้ ขียนโปรแกรมสามารถเรี ยกใช้ฟังก์ชน printf() ซึ่ง
ั่
เป็ นฟังก์ชน มาตรฐานของภาษาซีมาใช้งานได้ โดยส่วนการประกาศ
ั่
่
(declaration) ของฟังก์ชนมาตรฐานต่าง ๆ จะถูกจัดเก็บอยูในเฮดเดอร์ไฟล์แต่ละตัว
ั่
แตกต่างกันไปตามลักษณะการใช้งาน
ด้วยเหตุน้ ีภาษาเครื่ องที่ได้จากขั้นตอนที่ 2 จึงยังไม่สามารถนาไปใช้งานได้
แต่ตองนามาเชื่อมโยงเข้ากับ library ก่อน ซึ่งผลจากการเชื่อมโยงจะทาให้
้
ได้ executable program (ไฟล์นามสกุล.exe เช่น work.exe) ที่สามารถนาไปใช้
งานได้
- 13. ขั้นตอนที่ 4 ประมวลผล (run)
เมื่อนา executable program จากขั้นตอนที่ 3 มาประมวลผลก็จะได้
ผลลัพธ์ (output) ของโปรแกรมออกมา (ถ้ามี)