SlideShare a Scribd company logo
ประวัติภาษา C
และ
ขั้นตอนการพัฒนาโปรแกรมภาษาซี

โดย...
ครู ศศิกานต์ บรรเทา
แนะนำภำษำ C
• ภาษา C เป็ นภาษาระดับสู ง แต่มีขีดความสามารถพิเศษเหนือกว่าภาษา
ระดับสู งอื่น กล่าวคือสามารถทางานในระดับต่าได้เช่นเดียวกับ
ภาษาระดับต่า จึงสามารถใช้เขียนโปรแกรมระบบปฏิบติการ หรื องาน
ั
ทัวไป เช่น ใช้เขียนโปรแกรมที่มีการคานวณมากๆ ทางด้านคณิ ตศาสตร์
่
หรื อทางด้านธุ รกิจ
• ภาษา C มีลกษณะเป็ นภาษาโครงสร้ าง(Structure programming) คือ เมื่อ
ั
โปรแกรมถูกประมวลผล ประโยคคาสั่งในโปรแกรมจะถูกจัดให้มีลาดับ
การทางานตามคาสั่ง เช่น คาสั่ง if-else,while หรื อ do while เป็ นต้น
ประวัติภาษาซี
เป็ นภาษา C เกิดขึ้นในปี ค.ศ .1972 ผูคิดค้นคือ
้
นายเดนนิส ริตชี (Dennis Ritchi) แห่งห้องทดลอง
เบลล์ (Bell laboratories) ที่มลรัฐนิวเจอร์ซีย ์
สหรัฐอเมริ กา นายเดนนีสได้ใช้หลักการมาจากภาษา
บีซีพแอล (BCPL : Basic Combine Programming
ี
Language) ของนายเคน ทอมสัน (Ken tomson)
เดนนิส ริ ตชีมีจุดมุ่งหมายให้ภาษา C ที่เขาพัฒนาขึ้น
เป็ นภาษาสาหรับใช้เขียนโปรแกรมปฏิบติการระบบ
ั
ยูนิกซ์ และได้ต้ งชื่อว่า ซี (C) เพราะเห็นว่า ซี (C) เป็ น
ั
ตัวอักษรต่อจากบี (B) ของภาษา BCPL ภาษาซีถือว่า
เป็ นภาษาระดับสูงและภาษาระดับต่า การศึกษาภาษาซี
ถือว่าเป็ นพื้นฐานในการศึกษาภาษาใหม่ ๆ ได้
จุดกาเนิดของภาษา C นั้น เกิดมาจาก UNIX ผูออกแบบภาษา UNIX ต้องการ
้
ให้ OS ของตัวเอง สามารถใช้งานได้บนเครื่ องต่างๆ กัน แต่การที่
ุ่
จะต้อง Implement UNIX โดยใช้ภาษา Assembly ของแต่ละเครื่ อง เป็ นสิ่ งที่ยงยาก
เกินไป ผูออกแบบ UNIX จึงสร้างภาษากลางภาษาหนึ่ง ซึ่ง UNIX ทั้งตัวเขียนจาก
้
ภาษาดังกล่าว
ดังนั้นเมื่อต้องการ ให้ UNIX ใช้ งานได้บนเครื่ องใด ก็ให้สร้างคอมไพเลอร์
ของภาษากลางบนเครื่ องนั้นก่อน คอมไพเลอร์จะแปล โปรแกรมให้เป็ น
ภาษาเครื่ อง ทาให้ลดความซับซ้อนลงมาก ภาษากลางดังกล่าวก็คือ ภาษา C
ภาษา
BCPL
Basic Combined
Programming
Language

ภาษา
B
บนเครื่อง
PDP-7
(UNIX)
พ.ศ. 2513

ภาษา
C
พ.ศ. 2515
โดย เดนนิช ริทชี่
จุดเด่ นของภาษา C
1.เป็ นภาษาคอมพิวเตอร์ที่มีการพัฒนาขึ้นใช้งานเพื่อเป็ นภาษามาตรฐานไม่
ขึ้นกับโปรแกรมจัดระบบงานและฮาร์ดแวร์
2.เป็ นภาษาคอมพิวเตอร์ที่อาศัยหลักการที่เรี ยกว่า "โปรแกรมโครงสร้าง" จึง
เป็ นภาษาที่เหมาะกับการพัฒนาโปรแกรมระบบ
3.เป็ นคอมไพเลอร์ที่มีประสิ ทธิภาพสูง ให้รหัสออบเจ็กต์ส้ น ทางานได้
ั
รวดเร็ ว เหมาะกับงานที่ตองการ ความรวดเร็ วเป็ นสาคัญ
้
4.มีความคล่องตัวคล้ายภาษาแอสเซมบลี ภาษาซี สามารถเขียนแทน
ภาษาแอสเซมบลีได้ดี ค้นหาที่ผิดหรื อ แก้โปรแกรมได้ง่าย ภาษาซี จึงเป็ นภาษา
ระดับสูงที่ทางานเหมือนภาษาระดับต่า
5.มีความคล่องตัวที่จะประยุกต์เข้ากับงานต่างๆ ได้เป็ นอย่างดี การพัฒนา
่
6.เป็ นภาษาที่มีอยูบนเกือบทุกโปรแกรมจัดระบบงาน
7.เป็ นภาษาที่รวมข้อดีเด่นในเรื่ องการพัฒนา จนทาให้เป็ นภาษาที่มีผสนใจ
ู้
มากมายที่จะเรี ยนรู ้หลักการของภาษา และวิธีการเขียนโปรแกรม ตลอดจนการพัฒนา
งานบนภาษานี้
ขั้นตอนการพัฒนาโปรแกรมภาษาซี
ขั้นตอนที่ 1 เขียนโปรแกรม (source code)
ใช้ editor เขียนโปรแกรมภาษาซีและทาการบันทึกไฟล์ให้มี
นามสกุลเป็ น .c เช่น work.c เป็ นต้น
***editor คือ โปรแกรมที่ใช้สาหรับการเขียนโปรแกรม โดย
ตัวอย่างของ editor ที่นิยมนามาใช้ในการเขียนโปรแกรม
ได้แก่ Notepad,Edit ของ Dos ,TextPad และ EditPlus เป็ นต้น
ผูเ้ ขียนโปรแกรมสามารถเลือกใช้โปรแกรมใดในการเรี ยน
โปรแกรมก็ได้ แล้วแต่ความถนัดของแต่ละบุคคล
ขั้นตอนที่ 2 คอมไพล์โปรแกรม (compile)
นา source code จากขั้นตอนที่ 1 มาทาการคอมไพล์ เพื่อแปลจาก
ภาษาซีที่มนุษย์เข้าใจไปเป็ นภาษาเครื่ องที่คอมพิวเตอร์เข้าใจได้ ใน
ขั้นตอนนี้คอมไพเลอร์ จะทาการตรวจสอบ source code ว่าเกิด
ข้อผิดพลาดหรื อไม่
หากเกิดข้อผิดพลาด จะแจ้งให้ผเู ้ ขียนโปรแกรมทราบ ผูเ้ ขียน
โปรแกรมจะต้องกลับไปแก้ไขโปรแกรม และทาการคอมไพล์โปรแกรม
ใหม่อีกครั้ง
หากไม่พบข้อผิดพลาด คอมไพเลอร์ จะแปลไฟล์ source code จาก
ภาษาซีไปเป็ นภาษาเครื่ อง (ไฟล์นามสกุล .obj) เช่นถ้าไฟล์ source code
ชื่อ work.c ก็จะถูกแปลไปเป็ นไฟล์ work.obj ซึ่ งเก็บภาษาเครื่ องไว้
เป็ นต้น
compile เป็ นตัวแปลภาษารู ปแบบหนึ่ง มีหน้าที่หลักคือการ
แปลภาษาโปรแกรมที่มนุษย์เขียนขึ้นไปเป็ นภาษาเครื่ อง โดย
คอมไพเลอร์ของภาษาซี คือ C Compiler ซึ่งหลักการที่คอมไพเลอร์
ใช้ เรี ยกว่า คอมไพล์ (compile) โดยจะทาการอ่านโปรแกรมภาษาซี
ทั้งหมดตั้งแต่ตนจนจบ แล้วทาการแปลผลทีเดียว
้
นอกจากคอมไพเลอร์แล้ว ยังมีตวแปลภาษาอีกรู ปแบบหนึ่งที่
ั
เรี ยกว่า อินเตอร์ พรีเตอร์ การอ่านและแปลโปรแกรมทีละบรรทัด เมื่อ
แปลผลบรรทัดหนึ่งเสร็ จก็จะทางานตามคาสั่งในบรรทัดนั้น แล้วจึงทา
การแปลผลตามคาสั่งในบรรทัดถัดไป หลักการที่อินเตอร์ พรี เตอร์ ใช้
เรี ยกว่า อินเตอร์ เพรต(interpret)
ข้ อดีและข้ อเสี ยของตัวแปลภาษาทั้งสองแบบมีดังนี้
ข้ อดี
คอมไพเลอร์

ข้ อเสีย

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

- เมื่อเกิดข้อผิดพลาด
ขึ้นกับโปรแกรมจะ
ตรวจสอบหาข้อผิดพลาด
ได้ยาก เพราะทาการแปล
ผลทีเดียวทั้งโปรแกรม
ข้ อดี
อินเตอร์พรี เตอร์

ข้ อเสีย

•หาข้อผิดพลาดของโปรแกรมได้ - ช้า เนื่องจากที่ทางานทีละ
ง่าย เนื่องจากทาการแปลผลทีละ บรรทัด
บรรทัด
•เนื่องจากทางานทีละบรรทัดดังนั้น
จึงสังให้โปรแกรมทางานตามคาสัง
่
่
เฉพาะจุดที่ตองการได้
้
•ไม่เสี ยเวลารอการแปลโปรแกรม
เป็ นเวลานาน
ขั้นตอนที่ 3 เชื่อมโยงโปรแกรม (link)
การเขียนโปรแกรมภาษาซีน้ นผูเ้ ขียนโปรแกรมไม่จาเป็ นต้องเขียนคาสัง
ั
่
ต่าง ๆ ขึ้นใช้งานเอง เนื่องจากภาษาซีมีฟังก์ช้ นมาตรฐานให้ผเู ้ ขียนโปรแกรม
ั
สามารถเรี ยกใช้งานได้ เช่น การเขียนโปรแกรมแสดงข้อความ “Khon Kaen
University” ออกทางหน้าจอ ผูเ้ ขียนโปรแกรมสามารถเรี ยกใช้ฟังก์ชน printf() ซึ่ง
ั่
เป็ นฟังก์ชน มาตรฐานของภาษาซีมาใช้งานได้ โดยส่วนการประกาศ
ั่
่
(declaration) ของฟังก์ชนมาตรฐานต่าง ๆ จะถูกจัดเก็บอยูในเฮดเดอร์ไฟล์แต่ละตัว
ั่
แตกต่างกันไปตามลักษณะการใช้งาน
ด้วยเหตุน้ ีภาษาเครื่ องที่ได้จากขั้นตอนที่ 2 จึงยังไม่สามารถนาไปใช้งานได้
แต่ตองนามาเชื่อมโยงเข้ากับ library ก่อน ซึ่งผลจากการเชื่อมโยงจะทาให้
้
ได้ executable program (ไฟล์นามสกุล.exe เช่น work.exe) ที่สามารถนาไปใช้
งานได้
ขั้นตอนที่ 4 ประมวลผล (run)
เมื่อนา executable program จากขั้นตอนที่ 3 มาประมวลผลก็จะได้
ผลลัพธ์ (output) ของโปรแกรมออกมา (ถ้ามี)
โปรแกรมทีใช้ งาน คือ DEV C++
่

More Related Content

What's hot

ใบความรู้เรื่อง โครงงานคอมพิวเตอร์
ใบความรู้เรื่อง โครงงานคอมพิวเตอร์ใบความรู้เรื่อง โครงงานคอมพิวเตอร์
ใบความรู้เรื่อง โครงงานคอมพิวเตอร์สุรินทร์ ดีแก้วเกษ
 
กำหนดการสอนศิลปะ
กำหนดการสอนศิลปะกำหนดการสอนศิลปะ
กำหนดการสอนศิลปะYatphirun Phuangsuwan
 
โครงงานคอมพืวเตอร์ อยากรู้ก็ส่องดู
โครงงานคอมพืวเตอร์ อยากรู้ก็ส่องดูโครงงานคอมพืวเตอร์ อยากรู้ก็ส่องดู
โครงงานคอมพืวเตอร์ อยากรู้ก็ส่องดู
Panuwat Poowichai
 
เรื่อง ขจัดรอยเปื้อนหมึกบนเสื้อ
เรื่อง ขจัดรอยเปื้อนหมึกบนเสื้อเรื่อง ขจัดรอยเปื้อนหมึกบนเสื้อ
เรื่อง ขจัดรอยเปื้อนหมึกบนเสื้อ
Cherry Lay
 
ตัวอย่างโครงงานชนะเลิศ
ตัวอย่างโครงงานชนะเลิศตัวอย่างโครงงานชนะเลิศ
ตัวอย่างโครงงานชนะเลิศsariya25
 
บทความวิจารณ์ภาพยนต์เรื่อง อวตาร โดย ดร วรภัทร์
บทความวิจารณ์ภาพยนต์เรื่อง อวตาร โดย ดร วรภัทร์บทความวิจารณ์ภาพยนต์เรื่อง อวตาร โดย ดร วรภัทร์
บทความวิจารณ์ภาพยนต์เรื่อง อวตาร โดย ดร วรภัทร์Nopporn Thepsithar
 
ใบงาน1ประมวลผลคำ
ใบงาน1ประมวลผลคำใบงาน1ประมวลผลคำ
ใบงาน1ประมวลผลคำ
โรงเรียนแหลมทอง
 
เทคนิคการจัดการเรียนการสอนแบบฐานสมรรถนะอาชีวศึกษา#1
เทคนิคการจัดการเรียนการสอนแบบฐานสมรรถนะอาชีวศึกษา#1เทคนิคการจัดการเรียนการสอนแบบฐานสมรรถนะอาชีวศึกษา#1
เทคนิคการจัดการเรียนการสอนแบบฐานสมรรถนะอาชีวศึกษา#1
Prachyanun Nilsook
 
โครงงานบอร์ดอาหารไทยสี่ภาค
โครงงานบอร์ดอาหารไทยสี่ภาคโครงงานบอร์ดอาหารไทยสี่ภาค
โครงงานบอร์ดอาหารไทยสี่ภาค
Montra Songsee
 
แบบทดสอบ ภาษาไทย(หลักภาษา) ม.3
แบบทดสอบ ภาษาไทย(หลักภาษา) ม.3แบบทดสอบ ภาษาไทย(หลักภาษา) ม.3
แบบทดสอบ ภาษาไทย(หลักภาษา) ม.3teerachon
 
แผนการสอนวิชาการเขียนโปรแกรมภาษาซี
แผนการสอนวิชาการเขียนโปรแกรมภาษาซีแผนการสอนวิชาการเขียนโปรแกรมภาษาซี
แผนการสอนวิชาการเขียนโปรแกรมภาษาซีเทวัญ ภูพานทอง
 
เฉลยแบบฝึกหัดหน่วยที่ 4
เฉลยแบบฝึกหัดหน่วยที่ 4เฉลยแบบฝึกหัดหน่วยที่ 4
เฉลยแบบฝึกหัดหน่วยที่ 4
Thanawut Rattanadon
 
ตัวอย่างโครงงานเครื่องกลองน้ำ เลขที่6 8 10 11 21 22 31
ตัวอย่างโครงงานเครื่องกลองน้ำ เลขที่6 8 10 11 21 22 31ตัวอย่างโครงงานเครื่องกลองน้ำ เลขที่6 8 10 11 21 22 31
ตัวอย่างโครงงานเครื่องกลองน้ำ เลขที่6 8 10 11 21 22 31
Phai Trinod
 
อักษรหัวกลม - Peterfineart.com
อักษรหัวกลม - Peterfineart.comอักษรหัวกลม - Peterfineart.com
อักษรหัวกลม - Peterfineart.com
peter dontoom
 
ภาคผนวกโครงงานกล้อง
ภาคผนวกโครงงานกล้องภาคผนวกโครงงานกล้อง
ภาคผนวกโครงงานกล้องkrupornpana55
 
โครงงานพัฒนาเกม
โครงงานพัฒนาเกมโครงงานพัฒนาเกม
โครงงานพัฒนาเกมkimaira99
 

What's hot (20)

สารบัญ
สารบัญสารบัญ
สารบัญ
 
ใบความรู้เรื่อง โครงงานคอมพิวเตอร์
ใบความรู้เรื่อง โครงงานคอมพิวเตอร์ใบความรู้เรื่อง โครงงานคอมพิวเตอร์
ใบความรู้เรื่อง โครงงานคอมพิวเตอร์
 
กำหนดการสอนศิลปะ
กำหนดการสอนศิลปะกำหนดการสอนศิลปะ
กำหนดการสอนศิลปะ
 
โครงงานคอมพืวเตอร์ อยากรู้ก็ส่องดู
โครงงานคอมพืวเตอร์ อยากรู้ก็ส่องดูโครงงานคอมพืวเตอร์ อยากรู้ก็ส่องดู
โครงงานคอมพืวเตอร์ อยากรู้ก็ส่องดู
 
เรื่อง ขจัดรอยเปื้อนหมึกบนเสื้อ
เรื่อง ขจัดรอยเปื้อนหมึกบนเสื้อเรื่อง ขจัดรอยเปื้อนหมึกบนเสื้อ
เรื่อง ขจัดรอยเปื้อนหมึกบนเสื้อ
 
ตัวอย่างโครงงานชนะเลิศ
ตัวอย่างโครงงานชนะเลิศตัวอย่างโครงงานชนะเลิศ
ตัวอย่างโครงงานชนะเลิศ
 
บทความวิจารณ์ภาพยนต์เรื่อง อวตาร โดย ดร วรภัทร์
บทความวิจารณ์ภาพยนต์เรื่อง อวตาร โดย ดร วรภัทร์บทความวิจารณ์ภาพยนต์เรื่อง อวตาร โดย ดร วรภัทร์
บทความวิจารณ์ภาพยนต์เรื่อง อวตาร โดย ดร วรภัทร์
 
03 บทที่ 3-วิธีดำเนินงานโครงงาน
03 บทที่ 3-วิธีดำเนินงานโครงงาน03 บทที่ 3-วิธีดำเนินงานโครงงาน
03 บทที่ 3-วิธีดำเนินงานโครงงาน
 
ใบงาน1ประมวลผลคำ
ใบงาน1ประมวลผลคำใบงาน1ประมวลผลคำ
ใบงาน1ประมวลผลคำ
 
เทคนิคการจัดการเรียนการสอนแบบฐานสมรรถนะอาชีวศึกษา#1
เทคนิคการจัดการเรียนการสอนแบบฐานสมรรถนะอาชีวศึกษา#1เทคนิคการจัดการเรียนการสอนแบบฐานสมรรถนะอาชีวศึกษา#1
เทคนิคการจัดการเรียนการสอนแบบฐานสมรรถนะอาชีวศึกษา#1
 
โครงงานบอร์ดอาหารไทยสี่ภาค
โครงงานบอร์ดอาหารไทยสี่ภาคโครงงานบอร์ดอาหารไทยสี่ภาค
โครงงานบอร์ดอาหารไทยสี่ภาค
 
Internet
InternetInternet
Internet
 
แบบทดสอบ ภาษาไทย(หลักภาษา) ม.3
แบบทดสอบ ภาษาไทย(หลักภาษา) ม.3แบบทดสอบ ภาษาไทย(หลักภาษา) ม.3
แบบทดสอบ ภาษาไทย(หลักภาษา) ม.3
 
แผนการสอนวิชาการเขียนโปรแกรมภาษาซี
แผนการสอนวิชาการเขียนโปรแกรมภาษาซีแผนการสอนวิชาการเขียนโปรแกรมภาษาซี
แผนการสอนวิชาการเขียนโปรแกรมภาษาซี
 
บทที่ 4 ผลการดำเนินโครงงาน
บทที่ 4 ผลการดำเนินโครงงานบทที่ 4 ผลการดำเนินโครงงาน
บทที่ 4 ผลการดำเนินโครงงาน
 
เฉลยแบบฝึกหัดหน่วยที่ 4
เฉลยแบบฝึกหัดหน่วยที่ 4เฉลยแบบฝึกหัดหน่วยที่ 4
เฉลยแบบฝึกหัดหน่วยที่ 4
 
ตัวอย่างโครงงานเครื่องกลองน้ำ เลขที่6 8 10 11 21 22 31
ตัวอย่างโครงงานเครื่องกลองน้ำ เลขที่6 8 10 11 21 22 31ตัวอย่างโครงงานเครื่องกลองน้ำ เลขที่6 8 10 11 21 22 31
ตัวอย่างโครงงานเครื่องกลองน้ำ เลขที่6 8 10 11 21 22 31
 
อักษรหัวกลม - Peterfineart.com
อักษรหัวกลม - Peterfineart.comอักษรหัวกลม - Peterfineart.com
อักษรหัวกลม - Peterfineart.com
 
ภาคผนวกโครงงานกล้อง
ภาคผนวกโครงงานกล้องภาคผนวกโครงงานกล้อง
ภาคผนวกโครงงานกล้อง
 
โครงงานพัฒนาเกม
โครงงานพัฒนาเกมโครงงานพัฒนาเกม
โครงงานพัฒนาเกม
 

Similar to ประวัติภาษา C

หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1SubLt Masu
 
โปรแกรมคอม
โปรแกรมคอมโปรแกรมคอม
โปรแกรมคอมOnrutai Intanin
 
โปรแกรมคอม
โปรแกรมคอมโปรแกรมคอม
โปรแกรมคอมOnrutai Intanin
 
ประวัติภาษาซี
ประวัติภาษาซีประวัติภาษาซี
ประวัติภาษาซี
Hathaichon Nonruongrit
 
การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++
Naowarat Jaikaroon
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์
N'Name Phuthiphong
 
ภาษา C
ภาษา Cภาษา C
ภาษา C
0872671746
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
choco336
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีchoco336
 
โปรแกรม
โปรแกรมโปรแกรม
โปรแกรมthanapon51105
 
การเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษาการเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษา
N'Name Phuthiphong
 
การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_
การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_
การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_Aoy-Phisit Modify-Computer
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์bpatra
 
การเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษาการเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษา
Thanyalak Aranwatthananon
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
benz18
 

Similar to ประวัติภาษา C (20)

หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1หน่วยการเรียนรู้ที่ 1
หน่วยการเรียนรู้ที่ 1
 
โปรแกรมคอม
โปรแกรมคอมโปรแกรมคอม
โปรแกรมคอม
 
โปรแกรมคอม
โปรแกรมคอมโปรแกรมคอม
โปรแกรมคอม
 
ประวัติภาษาซี
ประวัติภาษาซีประวัติภาษาซี
ประวัติภาษาซี
 
การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++การเขียนโปรแกรม Dev c++
การเขียนโปรแกรม Dev c++
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์
 
ภาษา C
ภาษา Cภาษา C
ภาษา C
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
การเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซีการเขียนโปรแกรมภาษาซี
การเขียนโปรแกรมภาษาซี
 
โปรแกรม
โปรแกรมโปรแกรม
โปรแกรม
 
การเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษาการเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษา
 
งานนำเสนอ
งานนำเสนองานนำเสนอ
งานนำเสนอ
 
การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_
การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_
การสร างงานโปรแกรมด วยภาษาคอมพ_วเตอร_
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์
 
บทที่ 1
บทที่ 1บทที่ 1
บทที่ 1
 
การเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษาการเขียนโปรแกรมภาษา
การเขียนโปรแกรมภาษา
 
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
การสร้างงานโปรแกรมด้วยภาษาคอมพิวเตอร์
 

More from Fair Kung Nattaput

โครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซีโครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซีFair Kung Nattaput
 
ความหมายและองค์ประกอบการนำเสนองาน
ความหมายและองค์ประกอบการนำเสนองานความหมายและองค์ประกอบการนำเสนองาน
ความหมายและองค์ประกอบการนำเสนองานFair Kung Nattaput
 
การสร้างเว็บเพจด้วยภาษา Html
การสร้างเว็บเพจด้วยภาษา Htmlการสร้างเว็บเพจด้วยภาษา Html
การสร้างเว็บเพจด้วยภาษา HtmlFair Kung Nattaput
 
การเขียนผังงาน (Flowchart)
การเขียนผังงาน (Flowchart)การเขียนผังงาน (Flowchart)
การเขียนผังงาน (Flowchart)Fair Kung Nattaput
 
การแก้ปัญหาด้วยกระบวนการ
การแก้ปัญหาด้วยกระบวนการการแก้ปัญหาด้วยกระบวนการ
การแก้ปัญหาด้วยกระบวนการFair Kung Nattaput
 
รู้จักกับโครงงาน
รู้จักกับโครงงานรู้จักกับโครงงาน
รู้จักกับโครงงานFair Kung Nattaput
 

More from Fair Kung Nattaput (6)

โครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซีโครงสร้างโปรแกรมภาษาซี
โครงสร้างโปรแกรมภาษาซี
 
ความหมายและองค์ประกอบการนำเสนองาน
ความหมายและองค์ประกอบการนำเสนองานความหมายและองค์ประกอบการนำเสนองาน
ความหมายและองค์ประกอบการนำเสนองาน
 
การสร้างเว็บเพจด้วยภาษา Html
การสร้างเว็บเพจด้วยภาษา Htmlการสร้างเว็บเพจด้วยภาษา Html
การสร้างเว็บเพจด้วยภาษา Html
 
การเขียนผังงาน (Flowchart)
การเขียนผังงาน (Flowchart)การเขียนผังงาน (Flowchart)
การเขียนผังงาน (Flowchart)
 
การแก้ปัญหาด้วยกระบวนการ
การแก้ปัญหาด้วยกระบวนการการแก้ปัญหาด้วยกระบวนการ
การแก้ปัญหาด้วยกระบวนการ
 
รู้จักกับโครงงาน
รู้จักกับโครงงานรู้จักกับโครงงาน
รู้จักกับโครงงาน
 

ประวัติภาษา 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) ของโปรแกรมออกมา (ถ้ามี)