ภาษาซีสำหรับผู้เริ่มต้น
เขียนเมื่อ 25 กรกฎาคม พ.ศ. 2546
เขียนโดย อ.จักรกฤษณ์ แสงแก้ว สาขาสารสนเทศศาสตร์ คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม
ข้าพเจ้าหลับตาลงแล้วนึกย้อนกลับไปในวันแรกที่ตนสนใจที่จะเรียนรู้คอมพิวเตอร์
วันที่ 12 สิงหาคม 2535 คือจุดเริ่มต้นของการเรียนรู้เกี่ยวกับคอมพิวเตอร์ของข้าพเจ้า
ในยุคนั้นคอมพิวเตอร์ในเมืองไทยนับเป็นเครื่องมือสำหรับบุคคลบางกลุ่มบางพวกเท่านั้น
ได้แก่กลุ่มนักวิจัยและครูบาอาจารย์ในสายเทคโนโลยีระดับสถาบันหรือมหาวิทยาลัยภายในประเทศไทย
คอมพิวเตอร์ในยุคแรก ๆ ที่ผมเริ่มต้นใช้ สามารถแสดงสีได้เพียงสีเดียว
คือ สีเขียว เรียกว่าจอภาพแบบ Monochrome (Mono แปลว่าหนึ่ง Chrome แปลว่า
สี) ในวันนั้นผมยังคงเป็นนักศึกษาหนุ่มที่มีความปรารถนาอยากรู้อยากเห็น และได้ถามประโยคหนึ่งกับ
อ.ที่ปรึกษาว่า "อาจารย์ครับ.. เครื่องที่ตั้งอยู่ข้างโต๊ะอาจารย์ คืออะไรหรือครับ
?" เสียงตอบจากท่านอาจารย์ "อ้อ.. เครื่องไมโครคอมพิวเตอร์" ผมถามกลับไปด้วยความสงสัย
"มันใช้งานอยากหรือเปล่าครับ ?" คำตอบคือ "อืม.. ไม่ยากหรอก ถ้าสนใจเฮาสิสอนให้"
(เฮา หมายถึง ผม หรือ เรา แทนผู้พูด) นับจากนั้นเป็นต้นมา ผมจึงได้เริ่มก้าวสู่เส้นทางสายคอมพิวเตอร์มาโดยตลอด
ในปีนั้น (พ.ศ. 2535) คอมพิวเตอร์ที่ใช้งานมีฮาร์ดดีกส์ซึ่งเป็นแหล่งเก็บข้อมูลซึ่งมีขนาดเพียง
10 MB เท่านั้น ซึ่งถือว่าน้อยมากเมื่อเปรียบเทียบกับปัจจุบันนี้ ผมยังจำได้ว่าระบบปฏิบัติการที่ใช้คือ
DOS 2.0 ของบริษัทไมโครซอฟต์ โดยเมื่อเปิดเครื่องคอมพิวเตอร์ขึ้นมาครั้งแรก
จะปรากฎข้อความบนจอภาพคอมพิวเตอร์ดังนี้
ถัดจากนั้นแสดงข้อความดังนี้
เมื่อเคาะ Enter 2 ครั้งจะเข้าสู่ DOS PROMPT ดังนี้

ในยุคนั้นบรรดาผู้ใช้คอมพิวเตอร์ภายในประเทศไทยนิยมพิมพ์เอกสารด้วยโปรแกรม
CW หรือ RW ซึ่งเป็นโปรแกรมที่สร้างขึ้นโดยมหาวิทยาลัยจุฬาลงกรณ์ และโรงพยาบาลราชวิถี
ผมเชื่อว่า นักคอมพิวเตอร์หรือเด็ก ๆ สมัยใหม่ส่วนมากไม่รู้จัก CW และ RW
ผมนับได้ว่าอยู่ในช่วงรอยต่อระหว่างระบบ DOS และ Windows และเป็นช่วงเวลา
ที่ได้เรียนรู้ระบบใหม่และเก่าในเวลาเดียวกัน สมัยก่อนนั้นการสร้างไฟล์
หรือสร้างโฟล์เดอร์จะต้องเข้าใจโครงสร้าง และชุดคำสั่งที่ใช้ในการจัดการเกี่ยวกับไฟล์และโฟลเดอร์ทั้งหลาย
ปัจจุบันนี้นักคอมพิวเตอร์รุ่นใหม่ ส่วนใหญ่รู้จักการสร้าง Folder หรือลบและคัดลอกไฟล์ด้วยการลากรูปภาพกราฟิกเพียงไม่กี่ครั้งเท่านั้น
นั่นคือความแตกต่างระหว่างช่วงรอยต่อดังกล่าว !!
ปัจจุบันนี้เราสามารถสั่งงานคอมพิวเตอร์ด้วยการกระทำกับภาพกราฟิกได้อย่างสะดวกสบายกว่าในอดีตมากมายนัก
แต่เมื่อเราต้องการเขียนโปรแกรมคอมพิวเตอร์ สิ่งที่เรามองข้ามไปคือ ชุดคำสั่งเก่า
ๆ ก่อนที่จะมีระบบกราฟิกอย่างทุกวันนี้ ดังนั้น ในความคิดส่วนตัวของผม
เชื่อเหลือเกินว่าโปรแกรมเมอร์ หรือผู้ที่ปรารถนาจะเขียนโปรแกรมสำหรับวินโดวส์
ไม่อาจจะหลีกเลี่ยงการเรียนรู้คำสั่ง DOS ไปได้ ดังนั้นก่อนที่ท่านจะได้ศึกษาการเขียนโปรแกรมด้วยภาษา
C ผู้เขียนขออนุมานว่าท่านมีความรู้พื้นฐานเกี่ยวกับ DOS มาพอสมควร หากท่านยังไม่รู้จัก
DOS ท่านควรจะหาโอกาสศึกษาคำสั่งเหล่านั้นเพิ่มเติมเป็นอันดับแรก ในครั้งแรกที่ผมเริ่มเขียนโปรแกรมนั้น
ได้เขียนจดหมายส่งมายังเพื่อนที่กรุงเทพฯ พร้อมร้องขอให้เพื่อนส่งภาษาซีมาให้
ใช้เวลาร่วม ๆ หนึ่งสัปดาห์ แต่ปัจจุบันนี้ เทคโนโลยีก้าวหน้าไปกว่าก่อนมากมายนัก
เราสามารถเชื่อมต่อคอมพิวเตอร์สู่ระบบ Global Network และสามารถค้นหา ดาวน์โหลดภาษาซี
เพื่อติดตั้งได้อย่างง่ายดาย สมัยนั้น ผมใช้ Turbo C 2.0 ซึ่งมีขนาดไม่ถึง
1 MB สามารถบรรจุลงในแผ่น Disket เพียงแผ่นเดียว โปรแกรมแรกที่ผมเขียน เพื่อต้องการแสดงคำว่า
Hello World ให้ปรากฎบนจอภาพคอมพิวเตอร์ ซึ่งมีโค๊ดภาษาซีดังนี้

ผลลัพธ์ของโปรแกรมดังกล่าวจะแสดงคำว่า Hello World ให้ปรากฎบนจอภาพคอมพิวเตอร์
หลายคนอาจจะหัวเราะในใจว่า ศึกษามาตั้งเยอะแยะ เพียงแค่แสดงข้อความให้ปรากฎบนจอภาพคอมพิวเตอร์เท่านี้เองหรือ
? แต่ในความเป็นจริง เราสามารถเขียนโปรแกรมเพื่อสั่งให้คอมพิวเตอร์ทำงานได้มากกว่านั้นอีกมากมาย
ผมจึงได้เขียนโค๊ดอีกอันหนึ่ง โดยให้แสดงคำว่า Hello World อย่างไม่รู้จบสิ้น
ด้วยโค๊ดภาษาซีดังนี้
ในตอนเริ่มต้นนี้ผู้อ่านจะรู้สึกอยากลองเขียนภาษาซีมากขึ้น ต่อไปผมจะได้พาท่านผู้อ่าน
ไปดูวิธีการเขียนโปรแกรมตั้งแต่เริ่มต้น จนกระทั่งสามารถสั่งให้มันทำงานได้
ผมมารู้ทีหลังว่า ภาษาซีมีอยู่หลายตัวด้วยกัน เพราะว่าแต่ละตัวถูกผลิตขึ้นมาจากบริษัทต่าง
ๆ มากมาย ได้แก่
- Microsoft C ของบริษัทไมโครซอฟต์
- TC และ TC++ ของบริษัท Borland
- BC และ BC++ ของบริษัท Borland
- Keil C (อ่านว่า เคียว) ของบริษัท Keil
- Pic C ของบริษัทไมโครซิป
- Visual C++ ของบริษัทไมโครซอฟต์
- Quick C ของบริษัทไมโครซอฟต์
- ภาษาซี ในระบบปฏิบัติการ UNIX
นอกจากนั้นยังมีภาษาซีอีกหลากหลายบริษัทเหลือเกิน แต่ทั้งหมดนั้น ยังคงใช้หลักการเขียนโปรแกรมอันเดียวกันทั้งสิ้น
เขียนโปรแกรมภาษาซีในระบบ
UNIX
ระบบ UNIX เป็นระบบปฏิบัติการแบบ Multi User คืออนุญาตให้ผู้ใช้หลายคน
เชื่อมต่อเข้ามายังคอมพิวเตอร์แม่ข่ายและเรียกใช้งานโปรแกรมภายในระบบคอมพิวเตอร์ได้
การเชื่อมต่อของระบบ UNIX ผมจะไม่ขอกล่าวถึง แต่ในครั้งแรกที่เราเข้าสู่ระบบ
UNIX จำเป็นต้องป้อนชื่อ Account และ Password ให้ถูกต้องตามลำดับ ปัจจุบันนี้ระบบปฏิบัติการ
Windows NT , Window2000 และ XP สามารถเชื่อมต่อเข้ากับระบบ Unix ได้ด้วยโปรแกรม
Telnet ซึ่งมีอยู่ในคอมพิวเตอร์เหล่านั้นอยู่แล้ว คอมพิวเตอร์ที่ผมทำงานอยู่นี้ต่อเชื่อมกับระบบเน็ตเวอร์ค
ดังนั้นผมจะทดลองใช้คำสั่ง Telnet ไปยังเครื่องคอมพิวเตอร์ดังกล่าว ด้วยการใช้คำสั่งดังนี้
ขั้นที่ 1 ล็อกออนเข้าสู่เครื่องที่ใช้
UNIX
สมมติว่าเราต้องการเชื่อมต่อเข้ากับคอมพิวเตอร์ปลายทางหมายเลข
202.47.249.6 ซึ่งจากตัวอย่างนี้คอมพิวเตอร์เครื่องดังกล่าวตั้งอยู่ที่การสื่อสารแห่งประเทศไทย
เขตไปรษณีย์กลางบางรัก กรุงเทพมหานคร ฯ และเครื่องที่ผมใช้งานขณะนี้ตั้งอยู่ที่มหาวิทยาลัยเทคโนโลยีพระจอมเกล้าธนบุรี
ผมต้องการเชื่อมต่อเข้ากับระบบ Unix ที่ตั้งอยู่ไปรษณีย์กลางบางรัก และผมมี
User และ Password สามารถทำได้โดยการเรียกใช้โปรแกรม Telnet (โปรแกรมควบคุมคอมพิวเตอร์ระยะไกล
ปัจจุบันไม่นิยมเพราะไม่ปลอดภัยและหันมาใช้ SSH แทน) โดยคลิ๊กที่ Start >
Run ดังภาพด้านล่าง

ขั้นที่ 2 เรียกใช้โปรแกรม
Telnet
โปรแกรม Telnet ที่ใช้เป็นของบริษัทไมโครซอฟต์ เราสามารถเรียก
Telnet ตามด้วยหมายเลข IP Address ของเครื่องแม่ข่ายปลายทางได้ ในกรณีนี้คอมพิวเตอร์แม่ข่ายที่เราต้องการเชื่อมโยงเข้าไป
มีหมายเลข IP 202.47.249.6 ดังนั้น สามารถเรียกโปรแกรมให้ทำงานได้ดังนี้

ขั้นที่ 3 พร้อมหรือยังที่จะล็อกออนเข้าสู่ระบบปฏิบัติการ
Unix
เมื่อการเชื่อมต่อสมบูรณ์ขั้นตอนถัดไปเราต้องป้อนชื่อผู้ใช้ที่เป็นสมาชิกของระบบ
Unix และรหัสผ่าน เมื่อป้อนชื่อ Account และรหัสผ่านถูกต้องจะปรากฎข้อความต้อนรับดังนี้
Last login: Thu Jul 24 15:15:13 from 202.47.250.36
Sun Microsystem Inc. SunOS 5.8 Generic February 2000
$

ขั้นที่ 4 เริ่มต้นเขียนซอร์สโค๊ด
ในการเริ่มต้นเขียนซอร์สโค๊ดภาษาซี เราจะใช้คำสั่ง cat >
filename เพื่อสร้างเท็กซ์ไฟล์ขึ้นมา คำสั่ง cat > เปรียบได้เหมือนกับคำสั่ง
copy con ในดอส หากท่านไม่เข้าใจว่าคำสั่งดังกล่าวทำอะไร ขอให้ศึกษารายละเอียดเพิ่มเติม
แต่ตอนนี้ขอให้ท่านจำไว้ก่อนว่า
คำสั่ง cat > hello.c ใช้ในการสร้างเท็กซ์ไฟล์ได้
ขั้นตอนต่อไปคือพิมพ์ซอร์สโค๊ด ซึ่งประกอบด้วยรายละเอียดดังนี้

ให้ท่านพิมพ์ตามโค๊ดสีเขียวด้านบน และเมื่อต้องการขึ้นบรรทัดใหม่ให้กดแป้น
Enter เสมอ ในขณะที่บรรทัดสุดท้ายเราจะต้องกดแป้น Ctrl + d (กดแป้น Ctrl
ค้างไว้ แล้วตามด้วยการกดแป้น d หนึ่งครั้ง) เพียงเท่านี้เราสามารถสร้างไฟล์ชื่อ
hello.c โดยมีรายละเอียดซอร์สโค๊ดตามตัวอย่างด้านบนได้แล้ว
ขั้นที่ 5 เริ่มต้นการคอมไพล์
การคอมไพล์จะใช้คำสั่ง gcc หรือ cc ก็ได้ โดยใช้คำสั่งดังนี้
gcc helloworld.c ถ้าคอมไพล์ไม่ผ่านตัวคอมไพล์เลอร์จะแจ้งข้อความผิดพลาดที่เกิดขึ้นภายในซอร์สโค๊ดของเรา
เนื่องจากภาษาซีเป็นโปรแกรม Case Sensitive หมายถึงตัวอักขระเล็กหรือใหญ่ถือว่าเป็นคนละตัวกัน
ดังนั้นผู้อ่านต้องระมัดระวังในรายละเอียดส่วนนี้ด้วย
ขั้นที่ 6 เริ่มต้นสั่งให้โปรแกรมของเราทำงาน
โปรแกรมที่คอมไพล์ผ่านแล้วจะมีชื่อว่า a.out ดังนั้นเราสามารถสั่งให้ไฟล์
a.out ทำงานได้โดยตรง แต่เนื่องจากการระบุถึงไฟล์ในไดเร็คทอรี่ปัจจุบันในระบบ
unix ต้องอ้างด้วยเครื่องหมาย ./ (จุดตามด้วยสแลส) เสมอ ดังนั้นเมื่อเราจะสั่งให้ไฟล์
a.out ทำงานจึงต้องพิมพ์ให้เต็มด้วยคำว่า ./a.out โปรแกรมจึงจะทำงานได้อย่างถูกต้อง
และให้ผลลัพธ์จะแสดงคำว่า Hello World ปรากฎบนจอภาพคอมพิวเตอร์
รายละเอียดเกี่ยวกับการคอมไพล์ภาษาซีบนระบบปฏิบัติการ Unix
ผู้เขียนขอกล่าวเอาไว้เพียงเท่านี้ ถ้าผู้อ่านยังไม่เข้าใจขบวนการที่ได้กล่าวไปแล้ว
ผู้เขียนขอแนะนำให้ท่านทดลองศึกษาและติดตั้งระบบปฏิบัติการ Linux ด้วยตัวท่านเองจากนั้นทดลองใช้ระบบดังกล่าวสักระยะ
ผู้เขียนเชื่อว่าเมื่อท่านกลับมาอ่านสิ่งที่ผู้เขียนได้กล่าวไปแล้ว จะทำให้ท่านเข้าใจและสามารถคอมไพล์และรันโปรแกรมภาษาซีได้อย่างสมบูรณ์
ปล. รายละเอียดเกี่ยวกับภาษาซีในระบบ Unix ยังมีอีกมากนัก ที่ได้กล่าวไปนั้นเป็นเพียงหลักการในเบื้องต้น
ซึ่งจะทำให้โปรแกรมเมอร์สามารถเริ่มต้นได้อย่างรวดเร็ว
เขียนโปรแกรมภาษาซีด้วย
Turbo C
ขั้นที่ 1 ก่อนอื่นต้องดาวน์โหลดโปรแกรม
TC เป็นลำดับแรก ผู้เขียนอนุมานว่าผู้อ่านไม่มีประสบการณ์ในการติดตั้ง
TC ดังนั้นหากท่านสามารถติดตั้งได้เอง โปรดข้ามหัวข้อนี้ไป เพื่อเข้าสู่เนื้อหาที่
Advanced มากขึ้น เริ่มต้นโดยให้ผู้อ่านเปิดโปรแกรม Windows Explorer และคลิ๊กที่แถบ
URL ด้านบน พิมพ์คำว่า http://www.sptc.ac.th/nprotech/articles/C0001/TC.zip
ดังภาพต่อไปนี้

ขั้นที่ 2 เมื่อพิมพ์ URL ครบแล้วให้ท่านกด
Enter หนึ่งครั้งเพื่อ Download File TC.zip ซึ่งจะปรากฎผลลัพธ์ดังนี้
- ถ้าท่านต้องการเปิดไฟล์ คลิ๊ก Open
- ถ้าต้องการบันทึกไฟล์ คลิ๊ก Save
- ถ้าต้องการยกเลิกการดาวน์โหลดคลิ๊ก Cancel
- ถ้าต้องการข้อมูลมากกว่านี้ คลิ๊ก More Info

ขั้นที่ 3 เลือก Save และคลิ๊กลูกศรชี้ลง
ตลอดจนเลือก ไดวร์ C: ดังภาพต่อไปนี้
ผู้เขียนต้องการให้ท่านเลือกไดเร็คทอรี่เพื่อเก็บไฟล์เอาไว้ที่ C:\ เพราะว่าภายในโปรแกรมดังกล่าวนี้
ได้ทำการตั้งค่าพารามิเตอร์ต่าง ๆ เกี่ยวกับการคอมไพล์ไว้ในไดเร็คทอรี่
C:\TC ดังนั้น หากท่านขยายไฟล์ผิดตำแหน่ง จะทำให้ไม่สามารถคอมไพล์ได้ วิธีแก้ทำได้โดยการปรับเปลี่ยนที่เมนู
Directory ให้ตรงกับไดเร็คทอรี่ที่ท่านได้เก็บไฟล์ไว้ยังตำแหน่งที่ท่านต้องการ
แต่ถ้าท่าน ทำตามวิธีที่ผู้เขียนแนะนำ ท่านไม่ต้องทำการปรับแก้ค่าตัวเลือกใด
ๆ ผู้เขียนจะกล่าวถึงรายละเอียดส่วนนี้ในบทต่อ ๆ ไป ตอนนี้ต้องการให้ผู้อ่านสามารถคอมไพล์โค๊ดภาษาซีได้เท่านั้น
ดังนั้นท่านควรปฏิบัติตามแนวทาง ที่ได้แสดงเอาไว้ในบทความชุดนี้อย่างเคร่งครัด
เว้นเสียแต่ท่านเข้าใจสิ่งที่ผู้เขียนกำลังอธิบายนี้แล้ว จึงสามารถดูผ่าน
ๆ ได้อย่างรวดเร็ว

ขั้นที่ 4 เริ่มต้นการดาวน์โหลด
ภาพด้านล่างนี้ แสดงการดาวน์โหลดไฟล์ ขณะนี้ เครื่องที่ผู้เขียนใช้งานอยู่บนระบบ
LAN จึงสามารถโหลดไฟล์ดังกล่าวด้วยความเร็วสูงกว่าการโหลดด้วย Modem ธรรมดา
สังเกตที่อัตราการ Transfer rate ที่ 31.0KB/Sec หากเป็นโมเดมธรรมดาจะอยู่ที่ประมาณ
5 KB/Sec

ขั้นที่ 5 เมื่อดาวน์โหลดเสร็จแล้วคลาย
Zip ไฟล์ TC.zip ที่โหลดมาแล้วด้วยการคลิ๊กขวา ดังภาพต่อไปนี้
สังเกตว่าไฟล์ที่เราโหลดมานั้นมีชื่อว่า TC.zip ผู้เขียนต้องการให้ท่าน
Save เอาไว้ที่ไดรว์ C:\ และคลาย Zip ออกไปไว้ที่โฟล์เดอร์ C:\TC

ขั้นที่ 6 ดับเบิ้ลคลิ๊กโฟลเดอร์
C:\TC ไฟล์ที่คลาย Zip เรียบร้อยแล้วจะเก็บไว้ที่โฟล์เดอร์ C:\TC และภายในไดเร็คทอรี่ดังกล่าวจะประกอบด้วยโฟล์เดอร์
C:\TC\INCLUDE และ C:\TC\LIB รายละเอียดส่วนนี้จะกล่าวถึงอีกครั้งในบทหลัง
ๆ แต่ตอนนี้ให้ท่านเข้าใจเพียงว่า ภายในโฟล์เดอร์ ทั้งสองจะเก็บไฟล์ ที่มีนามสกุล
.H และ .LIB เอาไว้ในโฟล์เดอร์ทั้งสองตามลำดับ

ขั้นที่ 7 เรียกให้ Turbo C ทำงานโดยคลิ๊กที่ไฟล์
TC ดังภาพต่อไปนี้ ความจริงในขั้นตอนนี้ผู้อ่านสามารถคลิ๊ก Start >
Run และพิมพ์คำว่า C:\TC\TC.EXE จากนั้นกดแป้น Enter ซึ่งจะให้ผลเช่นเดียวกับขั้นตอนนี้
กล่าวคือเรียกให้ Turbo C ทำงานและพร้อมจะเขียนโปรแกรมและคอมไพล์ต่อไป

ขั้นที่ 8 เมื่อไฟล์ TC.EXE ถูกเรียกให้ทำงานจะปรากฎผลลัพธ์ดังนี้
ภาพด้านล่างนี้เป็นหน้าจอของโปรแกรม TC ถ้าผู้อ่านต้องการให้โปรแกรมแสดงผลเต็มจอ
สามารถกดแป้น Alt + Enter (กด Alt ค้างไว้ แล้วตามด้วย Enter หนึ่งครั้ง)
จะเป็นการสลับไปมาระหว่างโหมด Full Screen กับโหมด Windows และในทำนองเดียวกัน
ถ้าต้องการสลับกลับมายังโหมดวินโดวส์ธรรมดา ให้กด Alt + Enter ได้เช่นเดียวกัน

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

ขั้นที่ 10 ทำการคอมไพล์ด้วยการกด
Alt + R แล้วกด Enter หนึ่งครั้ง ขั้นตอนนี้อาจจะกด Ctrl + F9 จะปรากฎผลเช่นเดียวกัน
ในขั้นตอนนี้เรายังไม่ได้บันทึกไฟล์เป็น Helloworld.c ดังนั้นผลลัพธ์ที่ได้จะสร้างไฟล์ชื่อว่า
noname.exe ซึ่งก็จะให้ผลลัพธ์อันเดียวกัน ขั้นตอนต่อไปจะแสดงการบันทึกแฟ้มข้อมูล

ขั้นที่ 11 ออกจากโปรแกรม TC โดยการกด
Alt + Q หรือกด Alt + F และเลื่อนลูกศรมาที่ Quit ให้ผลเช่นเดียวกัน เนื่องจากเรายังไม่ได้บันทึกแฟ้มข้อมูล
เมื่อทำการออกจากโปรแกรม คอมไพล์เลอร์จะถามว่าต้องการบันทึกซอร์สโค๊ดหรือไม่
ให้ตอบตามความต้องการของท่าน ในกรณีตัวอย่างนี้เราจะบันทึกไฟล์เก็บไว้ในชื่อ
helloworld.c

ขั้นที่ 12 ก่อนที่จะจบการทำงานโปรแกรมภาษาจะถามเราเกี่ยวกับการบันทึกไฟล์
ถ้าปรารถนาจะบันทึกให้กด Yes อย่างที่ได้กล่าวไปแล้วในขั้นตอนนี้ ผู้อ่านจะบันทึกหรือไม่บันทึกขึ้นอยู่กับตัวท่านเอง
แต่บทความนี้สำหรับผู้เริ่มต้น เราจะบันทึกไฟล์ชื่อ helloworld.c ดังนั้นกด
Y เพื่อบอกคอมไพล์เลอร์ว่า เราต้องการบันทึกซอรส์โค๊ด

ขั้นที่ 13 ตั้งชื่อไฟล์ว่า helloworld.c
จากนั้นกดแป้น Enter หนึ่งครั้ง เนื่องจาก TurboC 2.0 สนับสนุนการตั้งชื่อไฟล์ระบบเก่า
คือตั้งได้ 8 ตัว และนามสกุล 3 ตัว ดังนั้น จะเกิดการตัดคำอัตโนมัติให้เหลือเพียงคำว่า
hellowor.c แทนที่จะเป็น helloworld.c

ขั้นที่ 14 ในขั้นตอนที่ผ่านมาเราได้คอมไพล์โค๊ดภาษาซีเสร็จแล้วต่อไปต้องการรันโค๊ดใน
DOS Prompt ขอให้ท่านเลือก Start > Run ในขั้นตอนนี้ท่านผู้อ่านสามารถคลิ๊ก
Start > Run และพิมพ์คำว่า C:\TC\noname.exe ซึ่งจะให้ผลเร็ว และจะปิดวินโดวส์ไปอย่างรวดเร็ว
ดังนั้นเราจึงควรจะออกไปที่ DOS Prompt ด้วยการพิมพ์คำสั่ง Start >
Run และพิมพ์ CMD ซึ่งคำสั่ง CMD จะมีสำหรับวินโดวส์ NT และ 2000 และ XP
เท่านั้น ไม่สามารถใช้คำสั่ง CMD ในวินโดวส์ที่ต่ำกว่าที่กล่าวมาได้ ดังนั้นถ้าเป็นระบบปฏิบัติการตัวเก่า
ท่านต้องเปลี่ยนมาพิมพ์คำว่า Command เต็ม ๆ แทนคำว่า CMD

ขั้นที่ 15 พิมพ์คำสั่ง cmd เพื่อไปยัง
Dos Prompt ดังที่ได้กล่าวไปแล้วคำสั่ง CMD ใช้ได้เฉพาะใน NT, 2000 และ
XP เท่านั้น ถ้าจะให้ทำงานได้ในระบบปฏิบัติการรุ่นเก่าต้องพิมพ์คำว่า Command
แทน CMD

ขั้นที่ 16 ได้ผลลัพธ์ดังต่อไปนี้
คำสั่ง CMD จะเป็นโปรแกรมที่บอกให้ระบบปฏิบัติการรับคำสั่ง DOS เหมือนในระบบเดิม
เพียงแต่ว่า CMD ต่างจาก Command ตรงที่เราสามารถใช้ลูกเล่นต่าง ๆ ได้
เช่นใช้คำสั่ง cd \win* ซึ่งจะหมายถึงเข้าไปในไดเร็คทอรี่อะไรก็ได้ที่ขึ้นต้นด้วยคำว่า
win เป็นต้น ซึ่งแท้จริงเป็นการเพิ่มประสิทธิภาพของ Command ให้ดีขึ้นนั่นเอง
นอกจากนั้น CMD ยังสามารถ ใช้เมาส์ลากตัวอักษรบริเวณที่เราต้องการแล้วคลิ๊กขวา
เพื่อคัดลอกข้อความนั้นเอาไปยังคลิปบอร์ด ได้อีกด้วย หรือถ้าคลิ๊กลงบนพื้นที่
Console ก็จะหมายถึงการวางข้อความที่อยู่ในคลิปบอร์ดลงในพื้นที่ Console
เป็นต้น รายละเอียดส่วนนี้ศึกษาได้จากคู่มือการใช้งานคำสั่ง CMD ใน Online
Help ของวินโดวส์

ขั้นที่ 17 พิมพ์คำสั่ง cd \tc
เพื่อเข้าไปยังไดเร็คทอรี่ TC จากนั้นพิมพ์คำว่า HELLOWOR.EXE เนื่องจาก
TC2.0 สนับสนุนการตั้งชื่อไฟล์เพียง 8 ตัว ดังนั้นจะมีชื่อเพียง HELLOWOR
เท่านั้น ผลลัพธ์ของการ Execute จะให้ผลคือคำว่า Hello World ปรากฎบนจอภาพคอมพิวเตอร์

ขั้นที่ 18 ผลลัพธ์ของการคอมไพล์จะปรากฎคำว่า
Hello World ปรากฎบนจอภาพคอมพิวเตอร์ ขอให้ ท่านผู้อ่านระลึกไว้ว่า ขณะนี้เรากำลังเรียนรู้ตัวอย่างการคอมไพล์ด้วย
Turbo Cในหัวข้อต่อไป เราจะศึกษาเกี่ยวกับการคอมไพล์ภาษาซีด้วยไมโครซอฟต์วิชวลซีพลัส
ๆ (Visual C++)
เขียนโปรแกรมด้วย
Visual C++ 6.0
ขั้นที่ 1 ก่อนที่จะเขียนโปรแกรม
Visual C++ 6.0 ผู้อ่านต้องทำการติดตั้งโปรแกรม Visual Studio 6.0
เอาไว้ภายในระบบคอมพิวเตอร์ของท่านเป็นลำดับแรก รายละเอียดการติดตั้ง Visual
C++ ผู้เขียนจะไม่กล่าวถึง เพราะผู้เขียนอนุมานไว้ว่าระบบคอมพิวเตอร์ของท่านได้ติดตั้ง
Visual C++ เรียบร้อยแล้ว โปรแกรม Visual C++ มาพร้อมกับชุดเต็มของ Visual
Studio ซึ่งประกอบด้วย Visual C++ , Visual Basic และ InterDev
ขั้นที่ 2 เรียกโปรแกรม Visual C++
โดยการเลือก Start > Programs > Microsoft Visual Studio 6.0 ตามด้วย
Microsoft Visual C++ 6.0 ดังภาพที่ปรากฎด้านล่างนี้

ขั้นที่ 3 เมื่อเข้าสู่โปรแกรมหลักของ
Visual C++ จะแจ้ง Tip of the Day ให้ท่านทราบเกี่ยวกับเทคนิคต่าง ๆ เล็ก
ๆ น้อย ๆ เกี่ยวกับการใช้งาน Visual C++ ถ้าท่านไม่ต้องการให้ไดอะล็อกดังกล่าว
ปรากฎในทุกครั้งที่เปิดโปรแกรม Visual C++ ให้คลิ๊กเอาเครื่องถูกออกจากช่อง
Show tips at startup

ขั้นที่ 4 ภาพด้านล่างนี้คือหน้าจอหลักของโปรแกรม
Visual C++ ซึ่งประกอบด้วย เมนูต่าง ๆ และเครื่องมือต่าง ๆ มากมาย รายละเอียดดังกล่าวเกี่ยวกับเครื่องมือและเมนูต่าง
ๆ จะพูดถึงในบทต่อ ๆ ไป

ขั้นที่ 5 เริ่มต้นสร้างโปรแกรมด้วยการคลิ๊กเลือก
File > New หรือสามารถใช้ Ctrl + N ให้ผลลัพธ์เช่นเดียวกัน
การทำเช่นนี้หมายถึงการกำลังจะเริ่มต้นสร้างโค๊ดภาษาซีขึ้นมาใหม่ คล้ายกับการพิมพ์เอกสารใหม่
ด้วยโปรแกรมประยุกต์ทั่ว ๆ ไป

ขั้นที่ 6 เราสามารถสร้างแอพลิเคชั่นในแบบต่าง
ๆ ได้มากมาย ซึ่ง Visual C++ สนับสนุนการพัฒนาซอฟต์แวร์ หลากหลาย ในขั้นตอนเบื้องต้นเราจะเลือกการเขียนโปรแกรมเพื่อทำงานที่
Dos Prompt ดังนั้นให้ผู้อ่านเลือก Win32 Console Application จากนั้นที่ช่อง
Location: ให้ป้อนโฟล์เดอร์ที่ต้องการเก็บไฟล์โปรเจ็คของเรา ผู้เขียนเก็บไว้ที่
C:\VC ถัดมาในช่อง Project Name: ให้ป้อนชื่อโปรเจ็ค ตอนนี้ผู้เขียนให้โปรเจ็คนี้ชื่อว่า
helloworld ดังนั้นป้อนคำว่า helloworld ลงไป เมื่อพร้อมแล้วคลิ๊กที่ปุ่ม
OK

ขั้นที่ 7 ในลำดับถัดมาโปรแกรม Visual
C++ จะให้เราเลือกชนิดของ Console ที่เราต้องการสร้าง ซึ่งมี 4 ชนิด คือ
- เป็นโปรแกรมว่างเปล่าที่ไม่มีซอร์สโค๊ดให้เราเลย
- โปรแกรมจะสร้างซอร์สโค๊ดง่าย ๆ ให้เรา
- โปรแกรมจะสร้างซอร์สโค๊ด Hello World แสดงข้อความง่าย ๆ ให้เรา
- โปรแกรมจะสนับสนุนการเขียนโปรแกรมด้วยชุดคำสั่ง MFC รายละเอียดส่วนนี้จะกล่าวถึงในส่วนต่อ
ๆ ไป
ขอให้ผู้อ่านเลือก An empty project เพื่อสร้างโปรเจ็คเปล่า เมื่อพร้อมแล้วกดปุ่ม
Finish

ขั้นที่ 8 ลำดับถัดมา Visual C++
จะแจ้งให้เราทราบรายละเอียดเกี่ยวกับโปรเจ็คของเรา ซึ่งโปรเจ็คของเราตั้งเก็บไว้ที่
ไดเร็คทอรี่ C:\vc\helloworld และสร้างโปรเจ็คชนิด Win32 Console กล่าวคือรันที่
Dos Prompt และมีชนิดเป็น Empty Console Application หรือโปรแกรมที่ไม่มีโค๊ดอะไรให้เรา
เป็นโปรเจ็คเปล่า ๆ เอาไว้รันใน Dos เท่านั้น เมื่อรับทราบแล้วกดแป้น OK
เพื่อเข้าสู่หน้าจอการเขียนโปรแกรมต่อไป

ขั้นที่ 9 คลิ๊กที่รูปกระดาษซ้ายมือด้านบน
จะปรากฎวินโดวส์ชื่อ Text1 สังเกตภาพด้านล่างนี้ ประกอบด้วยวินโดวส์ย่อย
ๆ หลายอัน หนึ่งในนั้นคือ Text1 ซึ่งเป็นพื้นที่ว่างเปล่า ท่านมองเห็นมั้ยว่า
Text1 อยู่ไหน ถ้าไม่รู้ว่ามันคือตรงไหน กวาดสายตาไปทั่วทั้งรูปภาพ ถ้าท่านเห็น
Text1 แล้วใช่แล้วครับมันคือ กรอบสี่เหลี่ยมที่มีสีน้ำเงินเข้มด้านบนเป็นแถบสถานะว่ากำลังถูก
Active ในขณะนั้น บริเวณนี้เอง ที่เราจะใช้ในการเขียนโค๊ดภาษาซี

ขั้นที่ 10 เขียนโค๊ดแกรมภาษาซีที่นี่ในขั้นตอนนี้ผู้อ่าน
เขียนโปรแกรมภาษาซีลงในวินโดวส์ชื่อ Text1 โดยพิมพ์ตามดังภาพด้านล่างนี้

ขั้นที่ 11 ในขั้นตอนถัดมาให้กดที่ปุ่ม
Save (รูปแผ่น Disket) จากนั้นระบุชื่อไฟล์ว่า helloworld.c ดังภาพด้านล่างนี้
ขบวนการนี้เราเพียงกำลังบันทึกไฟล์เท่านั้น โดยเรากำหนดให้ซอร์สโค๊ดมีชื่อว่า
helloworld.c

ขั้นที่ 12 เมื่อบันทึกเสร็จแล้วต่อไปเป็นการแทรกโค๊ดภาษาซีเพื่อให้เข้ามาเป็นส่วนหนึ่งของโปรเจ็ค
โดยการคลิ๊กขวา แล้วเลือก Insert File into Project และเลือกชื่อไฟล์ ซึ่งตอนนี้คือคำว่า
helloworld ขอให้ผู้อ่านพิจารณาจากภาพด้านล่างนี้

ขั้นที่ 13 ขั้นตอนการคอมไพล์ ขอให้ผู้อ่านใช้เมาส์คลิ๊กที่เมนู
Build และเลือก Execute helloworld.exe หรือจะคอมไพล์โดยการใช้คีย์ลัด กล่าวคือกดแป้น
Ctrl + F5 ซึ่งจะหมายถึงการคอมไพล์โค๊ดเช่นเดียวกัน (อย่าลืมว่ากด Ctrl ค้างไว้แล้วตามด้วยแป้น
F5 ในขณะที่แป้น Ctrl ยังคงกดอยู่ จากนั้นปล่อยมือทั้งสองข้าง ออกมาจากคีย์บอร์ด)

ขั้นที่ 14 ในการคอมไพล์ทุกครั้ง
Visual C++ จะสร้างไฟล์ .EXE ทุกครั้ง ในกรณีนี้ ไฟล์ดังกล่าวยังไม่ได้สร้างขึ้นมา
ดังนั้น Visual C++ จะถามเพื่อแสดงการยืนยัน ที่จะคอมไพล์ด้วยข้อความดังภาพด้านล่างนี้

ขั้นที่ 15 เมื่อคอมไพล์เสร็จแล้วโปรแกรม
Visual C++ จะทำการ Execute กล่าวคือสั่งให้ไฟล์ helloworld.exe ทำงานโดยอัตโนมัติและแสดงผลลัพธ์ดังปรากฎดังภาพด้านล่าง
ในตัวอย่างนี้ข้อความที่ต่อจากคำว่า Hello World จะเป็นคำว่า Press any key
to continue หมายความว่าโปรแกรม Visual C++ จะอนุญาติให้โปรแกรมเมอร์ ตรวจสอบผลลัพธ์
ก่อนทุกครั้ง เมื่อโปรแกรมเมอร์ ตรวจสอบผลลัพธ์เสร็จเรียบร้อยแล้วสามารถกดแป้นใด
ๆ หนึ่งครั้งเพื่อปิดหน้าจอการ Execute ไปได้ เพื่อเข้าสู่การเขียนโปรแกรมต่อไป

ขั้นที่ 16 เมื่อเขียนโปรแกรมเสร็จเรียบร้อยแล้วและต้องการจบการทำงาน
ผู้อ่านสามารถคลิ๊กที่เมนู File > Exit ซึ่งคล้ายกับการจบโปรแกรมทั่ว
ๆ ไป

รายละเอียดการคอมไพล์ด้วย Visual C++ ค่อนข้างซับซ้อนสำหรับโปรแกรมเมอร์มือใหม่
แต่เมื่อท่านสามารถคอมไพล์ผ่านแล้วหนึ่งครั้ง นั่นหมายความว่าท่าน ได้ก้าวสู่อีกขั้นสำหรับการเขียนโปรแกรมด้วย
Visual C++