วันอาทิตย์ที่ 19 กรกฎาคม พ.ศ. 2552

ประวัติความเป็นมาของภาษาซี
ภาษาซีพัฒนาขึ้นโดย เดนนิส ริตชี แห่งศูนย์วิจัยเบลล์(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 เป็นการระบุให้นำไฟล์ stdio.h มารวมกับไฟล์ที่เขียนขึ้นนี้ เพื่อที่จะสามารถใช้คำสั่งที่อยู่ในไฟล์นี้มาใช้งานได้ #define start 10เป็นการกำหนดค่าคงที่ให้กับตัวแปร start โดยให้มีค่าเป็น 10 คำสั่ง #include เรียกว่า คอมไพล์เลอร์ไดเรคทีพ (Compiler directive)เป็นคำสั่งพิเศษสำหรับช่วยในการคอมไพล์โปรแกรมภาษาซี คำสั่งนี้เรียกมาจากส่วนอื่น จึงไม่ต้องลงท้ายด้วยเครื่องหมาย Semicolon ( ; ) แต่ต้องเขียนติดกัน ห้ามเว้นวรรคระหว่าง # กับ คำสั่ง
ส่วนที่ 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 /* ส่วนหัวโปรแกรม */# include void main( ) /* ส่วนตัวโปรแกรม */{ clrscr(); printf("Hello, Good morning. \n"); getch();}เมื่อสั่ง Compile และ Run จะได้ผลลัพธ์ ดังนี้ Hello, Good morning.

ไม่มีความคิดเห็น:

แสดงความคิดเห็น