ภาษาซีพัฒนาขึ้นโดย เดนนิส ริตชี แห่งศูนย์วิจัยเบลล์(Bell Laboratory) มลรัฐนิวเจอร์ซี สหรัฐอเมริกาในปี พ.ศ.2515 โดยได้รับแนวคิดมาจากภาษาบี (B Language) และมีพัฒนาการ ดังนี้
- พ.ศ.2503 กำเนิดภาษา Algol 60พัฒนาโดยองค์การ International Committee)
- พ.ศ.2506กำเนิดภาษา CPL (Combined Programming Language) พัฒนาโดยมหาวิทยาลัย Cambridge)
- พ.ศ.2510กำเนิดภาษา BCPL (Basic Combined Programming Language) พัฒนาโดย Martin Richards มหาวิทยาลัย Cambridge)
- พ.ศ.2513กำเนิดภาษา B (B Language) พัฒนาโดย Ken Tompson แห่ง Bell Laboratory)
- พ.ศ.2515กำเนิดภาษา C (C Language) พัฒนาโดย Dennis Ritchie)
โครงสร้างพื้นฐานของภาษาซี
ภาษาซีเป็นภาษาโครงสร้างที่มีรูปแบบไวยากรณ์แน่นอน มีคำสั่งให้เลือกใช้งานตามลักษณะงานต่าง ๆ จำนวนมาก โครงสร้างของภาษาซีจะพิจารณาโปรแกรมเป็นส่วนย่อยหลาย ๆ ส่วนมาประกอบกันเข้าเป็นโปรแกรม เรียกส่วน ย่อย ๆ นั้นว่า ฟังก์ชัน (Function) ดังนั้นในโปรแกรมภาษาซีจึงประกอบด้วยฟังก์ชันหลายฟังก์ชันส่วนหนึ่งเป็นฟังก์ชันที่กำหนดตามไวยากรณ์ของภาษา และอีกส่วนหนึ่งเป็นฟังก์ชันที่ผู้เขียนโปรแกรมสร้างขึ้นก่อนที่จะเริ่มต้นเขียนโปรแกรมภาษาซี เรามารู้จักกับโครงสร้างของภาษาซี เพื่อให้เข้าใจถึงลักษณะ รูปแบบและหน้าตาของการเขียนโปรแกรมภาษาซี ดังนี้ ส่วนประกอบของโปรแกรมภาษาซี จะมีลักษณะที่เหมือนกัน แต่อาจจะแบ่งหรือกำหนดเป็นส่วนย่อยที่เรียกชื่อต่างกันไป ในที่นี้จะขอแบ่งโครงสร้างพื้นฐานของภาษาซีออกเป็น 3 ส่วน ดังนี้# header ส่วนที่ 1{ /* เริ่มโปรแกรม */ main( ) ส่วนที่ 3 declaration ส่วนที่ 2 คำสั่งต่าง ๆ ………}ส่วนที่ 1 ส่วนหัวโปรแกรม (#header) เป็นส่วนแรกของโปรแกรมภาษาซีที่กำหนดไว้ก่อนที่จะมีการประมวลผลในโปรแกรมเรียกว่าพรีโพรเซสเซอร์(Preprocessor) เพื่ออ้างถึงไฟล์บางไฟล์ที่ไม่มีอยู่ในโปรแกรมที่ผู้เขียนโปรแกรมเขียนขึ้นโดยที่จะต้องนำไฟล์เฮดเดอร์(#header)นั้นมารวมกับไฟล์ที่เขียนขึ้นเอง ในโปรแกรมภาษาซีที่ใช้งานจริงอาจจะมีการเรียกใช้ไฟล์เฮดเดอร์มากกว่า 1 ไฟล์ส่วนใหญ่ไฟล์เฮดเดอร์จะเกี่ยวกับฟังก์ชันของการจัดการ เช่นฟังก์ชันที่เกี่ยวกับการรับและแสดงผลข้อมูล หรือด้านกราฟิก เป็นต้น ดังนั้นส่วนหัวโปรแกรมนี้จึงเป็นส่วนที่ระบุให้ซีคอมไพเลอร์เตรียมการทำงานที่กำหนดในส่วนนี้ไว้ โดยหน้าคำสั่งจะมีเครื่องหมาย # เช่น
# include
ส่วนที่ 2 ส่วนประกาศตัวแปร (declaration) ส่วนนี้เป็นการกำหนดชนิดของข้อมูลที่ต้องการใช้ในโปรแกรม ปกติจะอยู่ที่ส่วนต้นของฟังก์ชัน ซึ่งจะอยู่ก่อนคำสั่งอื่น ๆ ตัวอย่างของการประกาศตัวแปร เช่น int num; หมายถึง การกำหนดตัวแปรชื่อ num ให้เป็นตัวแปรชนิดเลขจำนวนเต็ม (integer) เช่น 2 , 5 , 1001 ... float score; หมายถึง การกำหนดว่าตัวแปร score เป็นข้อมูลชนิดเลขมีจุดทศนิยม (floating point)ซึ่งอาจมีค่า 0.23, 1.34 , 13.04 , -21.002 , …. ส่วนที่ 3 ส่วนของตัวโปรแกรม (Body ) ส่วนนี้จะต้องเริ่มต้นด้วยฟังก์ชันmain ( ) แล้วใส่เครื่องหมายกำหนดขอบเขตเริ่มต้นของตัวโปรแกรมคือ { หลังจาก นั้นใส่คำสั่งหรือฟังก์ชันต่าง ๆ โดยแต่ละคำสั่งหรือฟังก์ชันนั้น ๆ จะต้องปิดด้วยเครื่องหมาย ; เมื่อต้องการจบโปรแกรมให้ใส่เครื่องหมาย } ปิดท้าย ในส่วนของตัวโปรแกรมนี้ส่วนใหญ่จะประกอบกด้วยฟังก์ชันที่ทำหน้าที่ในการรับข้อมูล ส่วนของการกำหนดค่าหรือคำนวณ และฟังก์ชันที่ใช้ในการแสดงผลข้อมูลหรืออาจจะเป็นฟังก์ชันย่อยที่เขียนขึ้นภายในเครื่องหมายวงเล็บปีกกา { }ที่เรียกว่า บล็อก ซ้อนอยู่ภายในอีกชั้นหนึ่งก็ได้
เครื่องหมายต่าง ๆ ที่ควรทำความเข้าใจ { } - เป็นตัวกำหนดขอบเขตหรือบล็อกของฟังก์ชัน ( ) - เป็นการระบุตัวผ่านค่าหรืออาร์กิวเมนต์ให้กับฟังก์ชัน ถ้าภายในวงเล็บไม่มีข้อความใด ๆ แสดงว่าไม่มีตัวผ่านค่าที่ต้องการระบุสำหรับฟังก์ชันนั้น ๆ /*...*/ - เป็นการกำหนด comment หรือข้อความ ที่ไม่ต้องการให้คอมไพเลอร์ปฏิบัติงาน ซึ่งข้อความที่อยู่ภายใน เครื่องหมายนี้จะถือว่า ไม่ใช่คำสั่งปฏิบัติงาน
ตัวอย่างโปรแกรมที่ 1# include
ไม่มีความคิดเห็น:
แสดงความคิดเห็น