วันอาทิตย์ที่ 21 มิถุนายน พ.ศ. 2558

Week 4 : โปรแกรมภาษาคอมพิวเตอร์ ( ภาษาC )


โปรแกรมภาษา  C


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


ภาษาซี ?
           ภาษาซีเกิดขึ้นในปี ค.ศ. 1972 ผู้คิดค้นคือ Dennis Rittchie โดยพัฒนามาจากภาษาB และ ภาษา BCPLแต่ยังไม่มีการใช้งานอย่างกว้างขวางนัก ในปี ค.ศ. 1978 Brain Kernighan ได้ร่วมกับ Dennis Ritchie มาพัฒนามาตรฐานของภาษาซี เรียกว่า K&R ทำให้มีผู้สนใจเกี่ยวกับภาษาซีมากขึ้น จึงเกิดภาษาซีอีกหลายรูปแบบเพราะยังไม่มีการกำหนดรูปแบบภาษาซีที่เป็นมาตรฐาน และในปี1988 Ritchie จึงได้กำหนดมาตรฐานของภาษาซีเรียกว่า ANSI C เพื่อใช้เป็นตัวกำหนดมาตรฐานในการสร้างภาษาซีรุ่นต่อไปภาษาซี เป็นภาษาซีระดับกลางเหมาะสมสำหรับการเขียนโปรแกรมแบบโครงสร้าง เป็นภาษาที่มีความยืดหยุ่นมากคือใช้งานได้กับเครื่องต่างๆ ได้และปัจจุบันภาษาซีเป็นภาษาพื้นฐานของภาษาโปรแกรมรุ่นใหม่ๆ เช่น  C++


( ภาพจาก : http://www.krujintana.com/content/unit3.html )

นายเดนนีส ริทชี (Dennis Ritchi) ผู้คิดค้นภาษาซี



โครงสร้างของโปรแกรมภาษาซี และตัวอย่าง
  • โปรแกรมในภาษาซีทุกโปรแกรมจะประกอบด้วยฟังก์ชันอย่างน้อย หนึ่งฟังก์ชัน คือ ฟังก์ชัน main โดยโปรแกรมภาษาซีจะเริ่มทำงานที่ฟังก์ชัน main ก่อน ในแต่ละฟังก์ชันจะประกอบด้วย Function Heading ประกอบด้วยชื่อฟังก์ชัน และอาจมีรายการของ argument (บางคนเรียก parameter) อยู่ในวงเล็บ
  • Variable Declaration ส่วนประกาศตัวแปร สำหรับภาษาซี ตัวแปรหรือค่าคงที่ทุกตัว ที่ใช้ในโปรแกรมจะต้องมีการประกาศก่อนว่าจะใช้งานอย่างไร จะเก็บค่าในรูปแบบใดเช่น interger หรือ real number
  • Compound Statements ส่วนของประโยคคำสั่งต่างๆ ซึ่งแบ่งเป็นประโยคเชิงซ้อน (compound statement) กับ ประโยคนิพจน์ (expression statment) โดยประโยคเชิงซ้อนจะอยู่ภายในวงเล็บปีกกาคู่หนึ่ง { และ } โดยในหนึ่งประโยคเชิงซ้อน จะมีประโยคนิพจน์ที่แยกจากกันด้วยเครื่องหมาย semicolon (;) หลายๆ ประโยครวมกัน และ อาจมีวงเล็บปีกกาใส่ประโยคเชิงซ้อนย่อยเข้าไปอีกได้

( ภาพจาก : http://slideplayer.in.th/slide/1913505/ )






          ใช้ Program  Editor  เขียนโปรแกรมภาษาซีและบันทึกไฟล์ให้มีนามสกุลเป็น .c  เช่น  Test.c





          จะทำการแปลงซอร์สไฟล์ จากอักขระใด ๆ ให้เป็นรหัสที่เครื่องคอมพิวเตอร์สามารถเข้าใจได้เก็บไว้ในอีกไฟล์หนึ่งเรียกว่า ไฟล์วัตถุประสงค์ (Object file) ที่มีนามสกุล .obj (ขั้นตอนนี้เรียกว่า การคอมไพล์ เป็นการแปลงภาษามนุษย์เป็นภาษาเครื่องนั่นเอง)





          ตัวเชื่อม (Linker) จะทำการตรวจสอบว่าในโปรแกรมที่เขียนขึ้นนั้น มีการเรียกใช้งานฟังก์ชันมาตรฐานใด จากห้องสมุดของภาษาซี (C Library) บ้างหรือไม่ ถ้ามี ตัวเชื่อมจะทำการรวมเอาฟังก์ชันเหล่านั้นเข้ากับไฟล์วัตถุประสงค์ แล้วจะได้ไฟล์ที่สามารถทำงานได้ โดยมีนามสกุลเป็น .exe (ขั้นตอนนี้เรียกว่า การลิงค์ เป็นการรวมฟังก์ชันสำเร็จรูปเข้าไป แล้วสร้างไฟล์ที่ทำงานได้)





          เมื่อนำ executable program จากขั้นตอนที่ 3 มาประมวลก็จะได้ผลลัพธ์(output) ของโปรแกรมออก


สรุปโครงสร้างภาษาซี
ภาษา C เป็นภาษาที่มีมาตรฐานในการเขียนโปรแกรมที่ชื่อว่า ANSI (American National Standards Institute) และภาษา C เป็นภาษาที่มีใช้มาเป็นเวลานาน โดยมีโครงสร้างอย่างง่ายพอสรุปได้ดังนี้
  • มีฟังก์ชันชื่อว่า main( ) อย่างน้อยหนึ่งฟังก์ชัน จึงจะสามารถทำการ execute program ได้
  • ขอบเขตฟังก์ชัน main (delimiters) ในโปรแกรมภาษา C ใช้เครื่องหมาย { แทนการเริ่มต้นฟังก์ชัน และใช้เครื่องหมาย } แทนการสิ้นสุดฟังก์ชัน ดังนั้นเมื่อเขียนฟังก์ชัน main( ) ทุกครั้งจะต้องมีเครื่องหมาย { และ } อยู่ด้วยเสมอ
  • การปิดท้ายคำสั่งในภาษา C จะต้องใช้เครื่องหมาย ; (semicolon) เป็นการบ่งชี้ให้ C compiler ทราบว่าจบคำสั่ง (statement) แต่ละคำสั่งแล้ว
  • ชื่อฟังก์ชันและคำสั่งในภาษา C จะต้องเขียนด้วยตัวอักษรตัวเล็ก (lowercase letter) ทั้งหมดทั้งนี้เพราะ C compiler จะคิดว่าตัวอักษรตัวใหญ่ (uppercase letter) กับตัวอักษรตัวเล็ก แตกต่างกัน เช่น main( ) ไม่เหมือนกับ Main( ) หรือ MAIN( ) เป็นต้น
  • ชื่อตัวแปร (variable name) สามารถตั้งชื่อโดยใช้ ตัวอักษรตัวเล็กหรือตัวอักษรตัวใหญ่ก็ได ้หรือใช้ตัวอักษรตัวเล็ก กับตัวอักษรตัวใหญ่ผสมกันก็ได้
สำหรับขั้นตอนการพัฒนาโปรแกรมภาษา C มีขั้นตอนสรุปได้ดังนี้คือ 
  • ขั้นตอนเขียนโปรแกรมต้นฉบับ (source program) แล้วบันทึกโปรแกรมพร้อมกับตั้งชื่อแฟ้มไว้ แฟ้มที่ได้จะมีนามสกุล *.c หรือ *.cpp
  • ขั้นตอนแปลโปรแกรมภาษา C ไปเป็นโปรแกรมภาษาเครื่อง (object program) ใช้คำสั่ง compile เพื่อแปลโปรแกรมภาษา C ไปเป็นโปรแกรมภาษาเครื่อง แฟ้มที่ได้จะมีนามสกุล *.obj ซึ่งในขั้นตอนนี้โปรแกรมต้นฉบับอาจเกิดความผิดพลาดทางไวยกรณ์ภาษา (syntax error) ขึ้นได้ จึงต้องย้อนกลับไปแก้ไขโปรแกรมต้นฉบับในข้อ 1. ให้ถูกต้องเสียก่อน
  • ขั้นตอนเชื่อมโยง (link) โปรแกรมภาษาเครื่องเข้ากับ library function ของภาษา C จะได้เป็น execute program โดยใช้คำสั่ง link แฟ้มที่ได้จะมีนามสกุล *.exe
  • ขั้นตอนสั่งให้ execute program แสดงผลลัพธ์ออกมา โดยใช้คำสั่ง run
         สำหรับข้อมูลของภาษา C มีดังนี้คือ ตัวอักขระ ค่าคงที่ และตัวแปร ซึ่งในภาษา C ยังมีตัวดำเนินการหรือเครื่องหมาย เพื่อไว้ใช้ในการเขียนโปรกรม ดังนี้ ตัวดำเนินการคณิตศาสตร์ ตัวดำเนินการความสัมพันธ์ ตัวดำเนินการเชิงตรรกะ ตัวดำเนินการเพิ่มค่าและลดค่า ตัวดำเนินการบิตไวส์ ตัวดำเนินการกำหนดค่า และตัวดำเนินการแบบเงื่อนไข ซึ่งลำดับการทำงานของตัวดำเนินการ มีความสำคัญในการเขียนโปรแกรม

_________________________________________________________________

อ้างอิง  :  http://www.krujintana.com/content/unit3.html
               http://www.notecyber.com/main/th/Doc/54/Com/c1.pdf
               http://slideplayer.in.th/slide/1927666/#
               http://guru.sanook.com/6394/
               http://www.geocities.com/suwit_0000/index.html
               http://nanotech.sc.mahidol.ac.th/c/basic/index.htm
               http://www.slideshare.net/komkaip/1-34758895

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

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