วันพุธที่ 8 กรกฎาคม พ.ศ. 2552

•°o.O ข้ อ ดี ข อ ง ภ า ษ า ©O.o°•

ข้อดีของภาษา C
1.ภาษา C ใช้ได้ในไมโครคอมพิวเตอร์ ตั้งแต่ขนาด 8 บิต 16 บิต 32 บิต มินิคอมพิวเตอร์ หรือ คอมพิวเตอร์ระดับเมนเฟรม มีการพัฒนาการใช้งาน เพื่อให้เป็นมาตรฐาน ไม่ขึ้นกับโปรแกรมจัดระบบงาน หรือ อุปกรณ์ทางอิเล็กทรอนิกส์ (ฮาร์ดแวร์)
2.ภาษา C มีหลายรุ่น มีผู้ผลิตต่างบริษัท แต่มีโครงสร้างคล้ายกัน และสามารถใช้ร่วมกันได้
3.ภาษา C มีความอ่อนตัว สามารถเจาะลงระดับลึกให้เข้ากับฮาร์ดแวร์ ทำงานได้รวดเร็ว และที่สำคัญ ภาษา C เป็นคอมไพเลอร์
4.ภาษา C เป็นภาษาที่มีโครงสร้าง

•°o.Oเ ค รื่ อ ง ห ม า ย ใ น ก า ร ดำ เ นิ น ก า ร ท า ง ค ณิ ต ศ า ส ต ร์ แ ล ะ ต ร ร ก ศ า ส ต ร์O.o°•

+ การบวก เช่น x + y
- การลบ เช่น x - y
* การคูณ เช่น x * y
/ การหาร เช่น x/y
% การหารเอาเศษ (modulus) ผลที่ได้คือเศษที่เหลือ เช่น 21/4 จะได้คำตอบคือ 1
++ การเพิ่มค่า เช่น x++ จะเท่ากับ x+1
- - การลดค่า เช่น y- - จะเท่ากับ y - 1
> มากกว่า เช่น a > b >= มากกว่าหรือเท่ากับ เช่น z>=y
< น้อยกว่า เช่น z < a
== เท่ากัน เช่น a == b
!= ไม่เท่ากัน เช่น a != b
&& AND ผลลัพธ์จะเป็นจริงต่อเมื่อค่าทั้งสองข้างเป็นจริงเท่านั้น
|| OR ผลลัพธ์จะเป็นเท็จต่อเมื่อค่าทั้งสองข้างเป็นเท็จเท่านั้น
! NOT ผลลัพธ์จะเป็นจริงต่อเมื่อค่าเดิมเป็นเท็จ และผลลัพธ์จะเป็นเท็จต่อเมื่อค่าเดิมเป็นจริง

•°o.Oช นิ ด ข อ ง ตั ว แ ป ร ใ น ภ า ษ า©O.o°•

BOOL เป็นตัวแปรแบบบูลีน มีค่าได้เพียง 2 ค่า คือ 1 และ 0
int เป็นตัวแปรชนิดตัวเลขจำนวนเต็ม
char เป็นตัวแปรชนิดตัวอักขระ
float เป็นตัวแปรชนิดจำนวนจริง (ตัวเลขที่มีจุดทศนิยม)

•°o.Oก า ร ตั้ ง ชื่ อ ใ น โ ป ร แ ก ร ม ภ า ษ า ©O.o°•

การตั้งชื่อในโปรแกรมภาษาซี การตั้งชื่อฟังก์ชัน การตั้งชื่อตัวแปร ชื่อ Label หรือชื่ออื่นๆ ซึ่งถือว่าเป็นชื่อเฉพาะที่กําหนดขึ้นโดยผู้เขียนโปรแกรมเป็นผู้กําหนด (identifiers) การกําหนดชื่อต่างๆ เหล่านี้ สําหรับภาษาซีมีกฎเกณฑ์ดังต่อไปนี้1. ชื่อต้องขึ้นต้นด้วยตัวอักษรหรือเครื่องหมาย _ (เส้นใต้) เครื่องหมายอื่นใช้ไม่ได้2. ภายในชื่อไม่มีการเว้นวรรค อาจใช้เครื่องหมาย _ ขั้นระหว่างตัวอักษรให้ดูเหมือนเว้นวรรคได้3. ถัดจาตัวแรกอาจเป็นตัวอักษร ตัวเลข หรือเครื่องหมาย _ก็ได้4. ความยาวของชื่อไม่จํากัด แต่จะนําตัวอักษรไปเปรียบเทียบความแตกต่าง เพียง 32 ตัวแรกเท่านั้น5. ตัวอักษรตัวเล็กและตัวอักษรตัวใหญ่ภาษาซีจะถือว่าต่างกัน หรือจะพูดว่า “ชื่อจะเป็น Case-Sensitive”6. การตั้งชื่อควรหลีกเลี่ยงชื่อที่มีตัวแรกเป็นเครื่องหมาย _เพราะชื่อชนิดนี้มีใช้อยู่มากในการตั้งชื่อตัวแปรของโปรแกรมระบบ (System Variables) อาจจะตรงกันได้โดยไม่ได้ตั้งใจ จะทําให้โปรแกรมทํางานผิดพลาดได้ชื่อที่ตั้งขึ้นจะต้องไม่ตรงกับคําสงวน (Reserved Words) หรือบางทีเรียกว่า Keywords เพราะคําสงวนเหล่านี้ได้ถูกใช้เป็นชื่อคําสั่งหรือชื่อของฟังก์ชันในตัวภาษาอยู่แล้ว จะได้ชื่อที่ซํ้ากันอีกไม่ได้ คําสงวนในภาษาซีรุ่น Turbo C มีดังต่อไปนี้

.|.<(+_+)>.|/.ภ า ษ า ©.|.<(+_+)>.|/.

รู้จักกันก่อน ก่อนอื่นผมขออธิบายรายละเอียดกันก่อนซักเล็กน้อยนะครับ ภาษา C เนี้ยเป็นภาษาที่เก่าแก่และถือกำเนิดมาอย่างยาวนาน โดยครั้งแรกเนี้ย ภาษา C ถูกคิดค้นและพัฒนาขึ้นมาเพื่อใช้เป็นภาษาสำหรับสร้างระบบปฏิบัติการ Unix (ยูนิกส์) เนื่องจากในตอนนั้นระบบปฏิบัติการยูนิกส์เขียนด้วยภาษาแอสเซมบลี (Assembly) ซึ่งเป็นภาษาที่ยึดติดกับฮาร์ดแวร์ของเครื่อง (ถ้าเขียนเครื่องไหนก็จะรันโปรแกรมได้เฉพาะเครื่องนั้น) ดั้งนั้นหากเราจะย้ายระบบปฏิบัติการยูนิกส์ที่เขียนไว้ที่เครื่อง A ไปใช้ที่เครื่อง B หรือ C ก็จะทำไม่ได้ เพราะมันยึดติดกับเครื่อง A นี้แหละเป็นข้อเสียของภาษาแอสเซมบลี (Assembly) แถมยังเป็นภาษาระดับต่ำด้วยนะ เข้าใจยากสุดๆ
ดังนั้นภาษา C ซึ่งมันเป็นภาษาที่ไม่ยึดติดกับฮาร์ดแวร์จึงถูกพัฒนาขึ้นมา และในปัจุบันภาษา C ไม่ได้จำกัดอยู่เพียงแค่การสร้างระบบปฏิบัติการเท่านั้น แต่มันยังสามารถนำไปใช้สร้างโปรแกรมเพื่องานในทุกประเภท เช่น งานเกี่ยวกับการคำนวน ควบคุมการทำงานของอุปกรณ์และฮาร์ดแวร์ชนิดต่างๆ การจัดการฐานข้อมูล หรือแม้แต่การสร้างเกมส์
ประวัติความเป็นมาของภาษา C ภาษา C คิดค้นขึ้นเป็นครั้งแรกโดย เดนนิส ริทชี่ (Dennis Ritchie) ที่ห้องแล็บเบล (Bell Labs) ในปี ค.ศ.1972 โดยได้แนวคิดมาจากภาษา BCPL และภาษา B ที่เขียนขึ้นโดย เคน ทอมพ์สัน (Ken Thompson) (จำไว้นะได้แนวคิดมาจาก ภาษา BCPL และ ภาษา B ส่วนคนคิดค้นของภาษานี้ จำไว้ก็ดี หรือ ไม่จำก็ได้เพราะคิดว่าคงไม่ออกในข้อสอบ) หลังจากคิดค้นและพัฒนาจนได้ภาษาใหม่ที่มีประสิทธิภาพการทำงานสูง (ก็ภาษา C นั่นแหละ) หลังจากนั้นในปี ค.ศ.1978 ภาษา C จึงได้รับการเผยแพร่อย่างเป็นทางการโดย เคอร์นิกแฮน (Kernighan) และ เดนนิส ริทชี่ จนเป็นที่นิยมสำหรับโปรแกรมเมอร์ทั่วโลก **ปัจจุบันภาษา C ได้พัฒนาไปเป็น C++ ซึ่งมีความสามารถในการเขียนโปรแกรมแบบ OOP หรือ การเขียนโปรแกรมเชิงวัตถุ
จุดเด่นของภาษา C
- เป็นภาษาที่มีการกำหนดมาตรฐานสำหรับคอมพิวเตอร์ทุกรุ่นและระบบปฏิบัติการทุกชนิด ทำให้โครงสร้างทางภาษา ฟังก์ชั่นและไลบราลี (Library) ต่างๆ สามารถนำไปใช้ได้ทุกรุ่นและทุกระบบปฏิบัติการ
-โปรแกรมที่เขียนออกมาจะมีขนาดเล็กและทำงานได้รวดเร็วเหมือนภาษาระดับต่ำ แต่เข้าใจง่ายเหมือนภาษาระดับสูง (ภาษาซีจัดอยู่ในภาษาระดับกลาง แต่หนังสือบางเล่มจะจัดภาษาซีอยู่ในภาษาระดับสูง
- มีโครงสร้างทางภาษาที่ดี และเครื่องหมายการดำเนินการ (Operators) มีประสิทธิภาพสูงและยืดหยุน (สังเกตุได้จาก x++,++x ที่งงกันไปพักนึง)
- ภาษา C สามารถเขียนเพื่อควบคุมฮาร์ดแวร์ได้ ซึ่งบางภาษามันทำไม่ได้เช่น ภาษา Basic
- มีฟังก์ชั่นสำเร็จรูปไว้ให้เราใช้งานเยอะ!! ทำให้เราไม่ต้องเขียนเอง และหากว่า ฟังก์ชั่นที่มีมาให้มันไม่โดนใจ เราสามารถเขียนเองและเพิ่มเติมลงไปได้ หรืออาจจะแจกจ่ายให้เพื่อนๆ ในห้องใช้ด้วยก็ได้ ฮ่าๆ