1
ใบความรู้ที 1.3
เรือง รู้จกั กับภาษาซีและการใช้งานโปรแกรม Dev-C++
ในปจจุบันภาษาคอมพวิ เตอรทใ่ี ชส ําหรบั พัฒนาโปรแกรมมมี ากมาย บางภาษาแมว า จะมี
มานานแลวแตกย็ ังไดร ับความนยิ มอยู เนอื่ งจากมกี ารพฒั นามาอยา งยาวนาน จงึ มเี คร่อื งมือชว ยให
เขยี นโปรแกรมไดง ายขน้ึ ภาษาแตละภาษาจะมีโครงสรา งของภาษาตา งกัน มคี วามสามารถที่เดน
ตางกัน และตามสภาพแวดลอ มของเครอ่ื งคอมพวิ เตอรท่ีตา งกันดว ย ภาษาซีเปน ภาษาทงี่ า ย
ตอ การใชง านและไดร บั ความนยิ มในการเขยี นโปรแกรมสาํ หรบั ผเู ริม่ ตน พื้นฐานทางดานการเขียน
โปรแกรม
1. กําเนดิ ภาษาซี
ดวยศักยภาพและเทคโนโลยีของคอมพวิ เตอรท ่แี พรห ลาย จึงทําใหมีผูคดิ คนพฒั นาโปรแกรม
คอมพวิ เตอรภาษาซขี ึน้ คอื นายเดนนิส ริทช่ี (Dennis Ritchie) ท่ีศนู ยว ิจัยเบล (Bell
Laboratories) ประเทศสหรฐั อเมรกิ าเม่ือป ค.ศ. 1972 และเปนภาษาคอมพิวเตอรท ใี่ ชเ ขียน
ระบบปฏบิ ตั กิ ารยนู ิกส (UNIX Operating System) ซึง่ ใชก นั แพรหลายในระบบเครอื ขา ย
คอมพิวเตอรใ นปจ จบุ นั โดยเดนนิส ไดใ ชห ลกั การของภาษาบีซีพแี อล (BCPL : Basic Combine
Programming Language หรือเกิดจากการดดั แปลงภาษาบี B Language) ซ่ึงพฒั นาข้นึ โดย เคน
ทอมสัน (Ken tomson) การออกแบบและพัฒนาภาษาซขี องเดนนิส ริดช่ี มจี ุดมงุ หมายใหเ ปน
ภาษาสําหรับใชเขียนโปรแกรมปฏบิ ตั กิ ารระบบยูนกิ ซ และไดต ้งั ชื่อวา ซี (C) เพราะเหน็ วา ซี
(C) เปนตัวอกั ษรตอ จากบี (B) ของภาษา BCPL ภาษาซถี อื วา เปนภาษาระดบั ตาํ่ และภาษา
ระดับสูง ท้งั น้ีเพราะภาษาซีมวี ิธีใชข อ มลู และมีโครงสรา งการควบคมุ การทํางานของโปรแกรม
เปน อยางเดยี วกบั ภาษาของโปรแกรมระดบั สูงอื่นๆ จงึ ถอื วา เปน ภาษาระดับสูง ในดา นทถี่ อื วา
ภาษาซีเปนภาษาระดบั ตา่ํ เพราะภาษาซีมีวธิ กี ารเขา ถงึ ในระดับตํา่ ท่ีสดุ ของฮารด แวร
ความสามารถท้งั สองดา นของภาษานเ้ี ปน สงิ่ ท่เี ก้อื หนนุ ซ่งึ กันและกนั ความสามารถระดับตํ่า
ทําใหภาษาซสี ามารถใชเฉพาะเครื่องได และความสามารถระดับสูง ทําใหภ าษาซีเปนอสิ ระ
จากฮารด แวร ภาษาซีสามารถสรา งรหัสภาษาเครื่องซ่ึงตรงกบั ชนดิ ของขอ มลู น้นั ไดเ อง
2
ทาํ ใหโ ปรแกรมท่เี ขียนดว ยภาษาซีท่ีเขยี นบนเครือ่ งหน่ึง สามารถนําไปใชก บั อีกเคร่อื งหนึง่ ได
ประกอบกบั การใชพ อยนเ ตอรใ นภาษาซี นับไดว า เปน ตวั อยางทดี่ ีของการเปนอิสระจากฮารด แวร
ภาษาซีเปนภาษาท่มี ีความใกลเ คยี งกับภาษาระดบั ต่าํ (Low-Level Language) จึงทําให
นกั พฒั นาโปรแกรมสามารถทีจ่ ะกําหนดรายละเอยี ดของโปรแกรมใหเ ขาถึงการทาํ งานในสว น
ตา งๆ ของคอมพวิ เตอรใ หม ากทส่ี ุดเพ่อื ใหเกดิ ความเร็วในการทาํ งานสงู สุด และในขณะเดยี วกนั
ภาษาซีก็ยังมคี วามเปน ภาษาระดบั สงู (High-Level Language) ทาํ ใหผพู ัฒนาสามารถทีจ่ ะพฒั นา
โปรแกรมได โดยเนน ไปทก่ี ารแกปญหาทีต่ องการไดอยางอิสระโดยไมตอ งคาํ นึงถึงฮารด แวรใ ดๆ
ขอดี : เปน ภาษาทมี่ คี วามยดื หยนุ สามารถทํางานบนเครื่องคอมพิวเตอรส ว นบคุ คล
และระบบปฏิบตั กิ ารตา งๆ ได นอกจากนย้ี ังสามารถเขา ถงึ ฮารดแวรข องคอมพิวเตอรไดโดยตรง
ขอ เสยี : คําสัง่ ของภาษาจะไมเ หมือนคําศัพทภ าษาอังกฤษโดยตรง จึงอาจจะจดจาํ ยากขน้ึ
และวิธีการใชค ําสง่ั จะมกี ฎเกณฑร ายละเอียดจาํ นวนมาก
ภาพที่ 3.1 นายเดนนสิ ริทช่ี (Dennis Ritchie) ผคู ดิ คนพัฒนาโปรแกรมคอมพิวเตอรภาษาซี
ภาพที่ 3.2 นายเคน ทอมสัน (Ken tomson) ผูคดิ คน พฒั นาหลักการของภาษาบซี พี ีแอล
3
ภาษาซเี ปนภาษาโปรแกรมคอมพวิ เตอรที่ไดรบั ความนยิ มและมีการพัฒนาอยา งตอเนอื่ ง
นายเบยี เนอ สเดราสดร็อบ นกั วิจยั และพฒั นาของศนู ยว จิ ยั เบล (Bell Laboratiories) ไดพฒั นา
ภาษา C++ (ซีพลัสพลัส) ขึ้นมา โดยท่ีภาษา C++ มีความสามารถในการทาํ งานไดทกุ อยา ง
เหมอื นกับภาษาซี ซงึ่ มรี ูปแบบและโครงสรา งของภาษาใกลเคยี งกนั แตภ าษา C++ ใชหลกั การ
ออกแบบโปรแกรมเชงิ วตั ถุ (Object-Oriented programming) ในขณะทภ่ี าษาซใี ชหลกั การ
ออกแบบโปรแกรมแบบโมดลู าร (Modular Design)
ขอ ดี : เปนภาษาที่มรี ูปแบบการเขียนโปรแกรมเชงิ วตั ถุ สามารถทาํ งานเขาถึงการทาํ งานของ
ฮารด แวรไ ดโ ดยตรงจึงเหมาะกับการพัฒนาโปรแกรมประยุกต และไดรับความนยิ มเปน อยางสงู
ขอ เสีย : เปนภาษาระดบั สงู และมีรูปแบบการเขียนโปรแกรมทีซ่ ับซอนขนึ้ ไมเหมาะสําหรับ
ผเู รม่ิ ตนเขียนโปรแกรม
ภาพท่ี 3.3 นายเบียเนอ สเดราสดร็อบ (Bjarner Stroustrup) ผูพฒั นาภาษา C++
2. เริมต้นกบั การใช้งานโปรแกรม Dev-C++
ชดุ พัฒนาหรือเครื่องมือทช่ี ว ยในการพฒั นาโปรแกรม ภาษาอังกฤษเรยี กวา IDE (Intregal
Development Environment) เปนโปรแกรมที่ออกแบบมาเพื่อชวยใหผ ทู ท่ี ําการเขยี นโปรแกรม
ใชใ นการสรา งโปรแกรม โดยจะมี อีดเิ ตอร (Editor) สําหรบั เขยี นโคดของโปรแกรมและมี
ตวั แปลภาษามาใหพรอ ม ปจจุบนั มกี ารออกชุดพัฒนามาหลายรุน และเปล่ียนแปลงรวดเรว็ มาก
เชน Turbo C++, Borland C++, Microsoft C/C++, Microsoft Visual C++, Microsoft Visual
C#, Microsoft Visual C++.NET ซ่งึ ชดุ พฒั นาแตละตัวมวี ิธีการนาํ ไปใชง านท่ีแตกตา งกัน
เพราะเปนผลติ ภัณฑท ี่พฒั นามาจากบรษิ ทั ตา งกนั แตอ ยา งไรกต็ ามการเขยี นโปรแกรมภาษาซี
4
ไมวาจะเปน IDE ใด ก็มหี ลกั การและวิธกี ารในการเขยี นทีค่ ลา ยคลงึ กนั จะตางกันทร่ี ายละเอียด
บางอยา งท่ีเพ่มิ ขนึ้ หรือพฒั นาใหง า ยในการเขียนโปรแกรม
ที่จะกลาวถึงตอ ไปน้ี เปน IDE ของ Bloodshed Dev-C++ ซ่ึงเปนชดุ พฒั นาขน้ึ มาเพื่อใชเ ปน
ฟรีแวร (Freeware) และทาํ งานภายใตร ะบบปฏบิ ัติการ Windows ใชไดก บั Windows ทุกรนุ
ซงึ่ มวี ธิ กี ารเรยี กโปรแกรมข้ึนมาใชงานไดดังน้ี
2.1 การเรียกใช้โปรแกรมภาษาซี
2.1.1 คลกิ ที่ Start เลอื ก All Program
2.1.2 เลอ่ื นเมาสไปที่ Bloodshed Dev-C++
2.1.3 คลกิ ที่ Dev-C++
ภาพที่ 3.4 แสดงขนั้ ตอนการเรียกใชโปรแกรมภาษาซี
2.2 โปรแกรม Dev-C++
เมอ่ื เรยี กโปรแกรม Dev-C++ ข้ึนมาใชงานแลวจะมหี นาตางดังรูป
ภาพท่ี 3.5 แสดงหนาตางโปรแกรม Dev-C++
5
ซึ่งโปรแกรมจะมีสวนประกอบดังน้ี
2.2.1 ไตเตลิ้ บาร (Title Bar) แถบทีอ่ ยบู นสดุ ของโปรแกรม มีสนี ํา้ เงนิ และจะมชี อื่ ของ
ชุดพฒั นาโปรแกรมภาษาซี คือ Dev-C++
2.2.2 เมนูบาร (Menu Bar) ประกอบดวยเมนูตางๆ 11 รายการคอื File Edit Search
View Project Execute Debug Tools CVS Window และ Help
2.2.3 ทูลบาร (Tools Bars) เปน สว นของเครอ่ื งมอื ทช่ี ว ยอาํ นวยความสะดวกในการเขยี น
และพฒั นาโปรแกรม
2.2.4 โปรเจค/คลาส เบราเซอร (Project/Class Browser) เปนสวนท่อี ยทู างดา นซา ยของ
โปรแกรม ใชเพอื่ แสดง Project หรอื Class ตา งๆ ของโปรแกรม
2.2.5 อดิ เิ ตอร สกรีน (Editor Screen) สว นที่อยทู างดานขวา ใชเ พ่ือเขยี นคาํ สัง่ โปรแกรม
ภาษาซี
2.2.6 สเตตสั บาร (Status Bar) สวนทีอ่ ยูลา งสดุ ใชเ พ่อื บอกสถานะตา งๆ ในขณะทก่ี าํ ลงั
พัฒนาโปรแกรม เชน จํานวนบรรทัดท้งั หมด หรือสถานะการพิมพแทรก/พิมพท บั
Title Bar Menu Bar Tools Bar
Project/Class Browser
Status Bar Editor
ภาพที่ 3.6 แสดงสว นประกอบของโปรแกรม Dev-C++
6
2.3 รู้จกั กบั เมนูของโปรแกรม Dev-C++
ในสวนนจ้ี ะแนะนาํ เมนูหลักและเมนูยอ ยทคี่ วรรดู ังตอไปน้ี
2.3.1 เมนู File
1) New เพอื่ สรา งไฟลใหม
2) Open Project or File เพื่อเปดไฟลห รอื โปรเจค ท่ไี ดท าํ งาน และบันทกึ ไวแลว
3) Save เพือ่ บันทกึ ไฟล
4) Save As เพื่อบนั ทกึ ไฟลเปน ชอ่ื ใหมหรือเพือ่ บนั ทึกลงในโฟลเดอรอ ื่น
5) Save All เพอ่ื บันทึกไฟลหรือโปรเจคทั้งหมด ท่เี ปด ทาํ งานอยู
6) Close เพ่อื ปดไฟลท ี่กําลัง Active อยู
7) Close All เพ่อื ปด ไฟลห รอื โปรเจคทั้งหมด ทเ่ี ปด อยู
8) Exit เพ่อื ปดโปรแกรม Dev-C++
ภาพที่ 3.7 แสดงสวนประกอบของเมนู File
2.3.2 เมนู Edit
1) Undo เลิกทําหรอื ยกเลิกการทํางาน
2) Redo ใหทาํ ซํ้างานท่ีเพ่งิ ทาํ ผา นไป
3) Cut ตดั ขอ ความท่ที ําแถบสีนาํ ไปไวใ น คลิปบอรด
4) Copy คัดลอกขอความทท่ี ําแถบสนี าํ ไปไวใ น คลิปบอรด
5) Paste ใหว างปะ ขอ ความทีไ่ ด Cut หรอื Copy ไวแ ลว มาวางลงในตําแหนง ของ
เคอรเซอร
7
6) Insert ทําการแทรก
(1) วนั ที่ (Date/Time) ลงใน Editor
(2) Comment header สวนท่เี ปนหมายเหตใุ นการพฒั นาโปรแกรมลงบนสว นหวั
ของ Editor
7) Select All เลอื กโคด หรอื ขอความทง้ั หมดที่อยูใน Editor
ภาพท่ี 3.8 แสดงสว นประกอบของเมนู Edit
2.3.3 เมนู Search
1) Find คนหาคํา หรอื ขอความใน Editor
2) Search Again ใหคนซาํ้ หรอื คน หาตอ ไปอกี
3) Replace ใหแทนที่คาํ ที่คน หา ดวยคําใหม
ภาพท่ี 3.9 แสดงสวนประกอบของเมนู Search
8
2.3.4 เมนู View
1) Project/Class Browser เพอื่ แสดงหรอื ไมแสดง Project/Class Browser
2) Status bar เพือ่ แสดงหรือไมแ สดง Status bar
3) Toolbars เพ่ือแสดงหรือไมแ สดง Toolbars ตา งๆ ซ่ึงประกอบดว ย
(1) Main Toolbar
(2) Edit Toolbar
(3) Search Toolbar
(4) Compile and run Toolbar
(5) Project Toolbar
(6) Options Toolbar
(7) Special Toolbar
(8) Class Toolbar
ภาพที่ 3.10 แสดงสว นประกอบของเมนู View
2.3.5 เมนู Project
1) New file เพ่ิมไฟลง านใหมภ ายใน Project
2) Add to Project เพ่มิ Project ใหม
3) Remove from Project ลบ Project
4) Project Options กาํ หนดคณุ สมบัตกิ ารทาํ งานของ Project
9
ภาพท่ี 3.11 แสดงสวนประกอบของเมนู Project
2.3.6 เมนู Execute
1) Compile (Ctrl+F9) สง่ั ใหทาํ การ Compile ซอรส โคด
เมอื่ Compile แลว จะไดไฟลใหมที่มสี ว นขยายเปน .exe
2) Run (Ctrl+F10) สั่งใหโปรแกรมทาํ งาน
3) Compile & Run (F9) ใหทาํ การ Compile และ Run โปรแกรม
4) Rebuild All (Ctrl+F11) ใหส รา งไฟล .exe ใหม แทนที่ไฟลเดิม
ภาพท่ี 3.12 แสดงสว นประกอบของเมนู Execute
10
2.3.7 เมนู Debug
Debug (F8) ตรวจสอบความถกู ตอ งของการเขียนโปรแกรม
ภาพท่ี 3.13 แสดงสว นประกอบของเมนู Debug
2.3.8 เมนู Tools
Editor Options เปน การต้งั คาสภาพแวดลอมใหก ับ Editor เชน ใหม หี มายเลข
บรรทัดเปน ตน
ภาพท่ี 3.14 แสดงสวนประกอบของเมนู Tools
11
2.3.9 เมนู CVS
เปนเมนูเพิม่ คณุ สมบัตพิ เิ ศษใหก ับการเขียนโปรแกรมภาษาขนาดใหญท่ีมผี ูเ ขยี น
หลายคน ซึง่ จะบนั ทกึ การแกไขเปลี่ยนแปลงโปรแกรมท่ีเกิดขนึ้ ใน Project
ตามผูแกไข วัน เวลา
ภาพที่ 3.15 แสดงสว นประกอบของเมนู CVS
2.3.10 เมนู Windows
1) Close All ปด วนิ โดวส ของ Editor ท้ังหมด
2) Full Screen Mode ใหว ินโดวสแสดงแบบเต็มจอ ถา ตองการยกเลกิ
แบบ Full Screen ให click ที่ X เพ่อื นปด วนิ โดวส
3) Next ใหแสดงวนิ โดวสข อง Editor ถดั ไป
4) Previous ใหแสดงวนิ โดวสข อง Editor กอ นหนา
12
ภาพท่ี 3.16 แสดงสวนประกอบของเมนู Windows
2.3.11 เมนู Help
เปน เมนูใชช ดุ คําส่งั ในการขอความชว ยเหลอื
ภาพท่ี 3.17 แสดงสว นประกอบของเมนู Help
-----------------------------------------------------------