ภาษาซีสำหรับผู้เริ่มต้น จัดทำโดย : จักรกฤษณ์ แสงแก้ว พิมพ์
 Untitled Document

ภาษาซีสำหรับผู้เริ่มต้น

  ข้าพเจ้าหลับตาลงแล้วนึกย้อนกลับไปในวันแรกที่ตนสนใจที่จะเรียนรู้คอมพิวเตอร์ วันที่ 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

นอกจากนั้นยังมีภาษาซีอีกหลากหลายบริษัทเหลือเกิน แต่ทั้งหมดนั้น ยังคงใช้หลักการเขียนโปรแกรมอันเดียวกันทั้งสิ้น

ข้อมูลจาก http://www.electoday.com

คุณอาจสนใจ
การสร้างเมนู 2 ภาษา
เฟริสท์ (43,384 - 07 ธ.ค. 50)
เหตุผลที่คุณควรใช้ไฟร์วอลล์คอมพิวเตอร์
สายลม (15,057 - 19 เม.ย. 51)
การใช้เครื่องมือ Gradint Tool
Tung (68,271 - 21 พ.ย. 50)
การตั้งค่าฟอนต์ให้เป็นค่าเริ่มต้น
อ้อม (27,691 - 13 ม.ค. 50)
อัพเดตไดรเวอร์แล้วทำให้ XP มีปัญหาจะทำอย่างไรให้สามารถกลับไปใช้ตัวเก่า
เว็บไทยดีดี (14,149 - 26 ม.ค. 51)
การประกาศตัวแปลในภาษา PHP
Mr.GuruZ (37,738 - 03 มิ.ย. 49)
การนับคำในเอกสาร word
หมูขุน (21,395 - 20 มี.ค. 50)
เทคนิคการวาดเส้น ตอนที่ 1
ดินสอ (65,869 - 31 ก.ค. 49)