ภาษาซี (C – Programming Language) คืออะไร ?

ภาษาซี (C) คืออะไร ภาษาซี คือ ภาษาคอมพิวเตอร์ระดับสูง ใช้สำหรับเขียนโปรแกรมคอมพิวเตอร์เป็นที่นิยมอย่างแพร่หลาย

Category :

C Programming Language

ภาษาซี (C – Programming Language) คืออะไร ?

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

ภาพประกอบ: คำสั่งในการเขียนภาษาซี

ขอบคุณภาพจาก https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.yupparaj.ac.th%2Fthanphisit%2Flesson1.html&psig=AOvVaw2z_6fNLtKj30XPyANWPoW6&ust=1712823241477000&source=images&cd=vfe&opi=89978449&ved=0CBIQjRxqFwoTCLi9wvuZt4UDFQAAAAAdAAAAABAP

ภาษาซี (C) คืออะไร

C – Programming Language หรือ ภาษาซี คือ ภาษาที่ใช้สำหรับพัฒนาโปรแกรมคอมพิวเตอร์ทั่วไป  เป็นภาษาที่มีความยืดหยุ่นสูง ถูกออกแบบและวางรูปแบบไวยากรณ์มาเพื่อให้ง่ายต่อการใช้งาน ภาษาซีสามารถใช้ทำงานกับคำสั่งพื้นฐานของคอมพิวเตอร์โดยทั่วไปได้อย่างมีประสิทธิภาพ 

เมื่อได้รับความนิยมมากขึ้น จึงทำให้เกิดการแข่งขันทางการตลาด มีผู้ผลิต compiler ภาษาซีออกมาแข่งขันกันมากมาย ทำให้มีการดัดแปลงและใส่ลูกเล่นเพิ่มเติม ส่งผลให้สามารถใช้งานได้อย่างหลากหลาย แต่ก็มีความน่ากังวลในเรื่องของการเปลี่ยนแปลงจนอาจจะทำให้รูปแบบของภาษาซีเพี้ยนไป ดังนั้น ทาง American National Standard Institute (ANSI) จึงได้ตั้งข้อกำหนดมาตรฐานของภาษาซีขึ้น เรียกว่า ANSI C เพื่อคงมาตรฐานของภาษาซีไว้ไม่ให้เปลี่ยนแปลงไป

ประวัติความเป็นมาของ ภาษาซี และ ภาษาอื่น ๆ

ภาษาซีพัฒนาขึ้นระหว่างปี ค.ศ. 1969 – 1973 โดย Dennis Ritchie ถูกพัฒนาครั้งแรกโดยการรวบรวมเอาจุดเด่นของแต่ละภาษาระดับสูงผนวกเข้ากับภาษาระดับต่ำ เพื่อใช้เป็นภาษาสำหรับพัฒนาระบบปฏิบัติการยูนิกซ์ ( Unix Opearating System) แทนภาษาแอสเซมบลีที่มีจุดอ่อน คือ ความยุ่งยากในการเขียนโปรแกรม ความเฉพาะตัวในการใช้งาน ภาษาซีเริ่มเป็นที่นิยมขึ้นจนเริ่มใช้กันอย่างแพร่หลาย จนกระทั่งปี ค.ศ.1989 มีการกำหนดมาตรฐานของภาษาซีเรียกว่า “ANSI C” ขึ้น และใช้เป็นมาตรฐานในการพัฒนาภาษาคอมพิวเตอร์รุ่นใหม่ ๆ ต่อไป เช่น  C++, C#, JAVA เป็นต้น

ภาพประกอบ: Quote ของ Dennis Ritchie ผู้สร้างภาษาซี

ขอบคุณภาพจาก https://external.xx.fbcdn.net/emg1/v/t13/17799848221685269823?url=https%3A%2F%2Fcodeforwin.org%2Fwp-content%2Fuploads%2F2023%2F01%2Fc-programming-1980×777-1.webp&fb_obo=1&utld=codeforwin.org&stp=c0.5000×0.5000f_dst-emg0_p150x78_q75&_nc_eui2=AeH-McLs-wSBk3W0dhYuKMLxpckL3TmrecSlyQvdOat5xAVT2ifEAuEiyhmKnS69KFSZ4br0HvGXEmqR-tR0aa0m&ccb=13-1&oh=06_AX023dW7KhdR6bc9S9H-9SyJmwSZWtj_QSAjkgx5xkVRkQ&oe=66182BC7&_nc_sid=c24604

โครงสร้างอย่างง่ายของภาษาซี

โครงสร้างอย่างง่ายของภาษาซี ได้แก่ Function Heading, Variable Declaration และ Compound Statements 

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

ภาพประกอบ: โครงสร้างของภาษาซี

ขอบคุณภาพจาก https://merientinfotech.com/wp-content/uploads/2019/12/c-training-banner.jpg?fbclid=IwAR3g1odboP_B742ZyPU2T5ob5qhBB2-eZrIKuCQsl0Xit6YP5BhEd9ciPzg_aem_AU7OyCN8_zvexYxrpi_eiwM8aSsRrqhEOSKlJ7itJATUeJgy_g7bZlterX4fKcuqCuePAJKY6KrJ5I_YVJdbEgYv

ขั้นตอนการทำงาน

        ขั้นตอนที่ 1  Source code คือ การสร้างคำสั่งโดยการเขียน C Code ขึ้นเพื่อสั่งงานคอมพิวเตอร์โดยการคิดอย่างเป็นระบบ เป็นขั้นเป็นตอน วิเคราะห์ว่าปัญหาคืออะไร ข้อมูลเข้า ข้อมูลออก วิธีการประมวลผลเพื่อให้ได้คำตอบ เขียนออกมาในรูปแบบของ text code ของภาษา C ตรวจสอบด้วยสายตาว่าไม่มี syntax error

        ขั้นตอนที่ 2  Compile คือ นำ C Code มาแปลเป็นภาษาที่เครื่องคอมพิวเตอร์สามารถอ่านได้ โดยจะอ่าน C Code ทั้งหมดตั้งแต่ต้นจนจบ แล้วแปลผลทีเดียว ทำโดยใช้โปรแกรมเฉพาะ โดยการนำ Code ที่เขียนในขั้นตอนที่ 1 มาผ่านโปรแกรม เพื่อให้โปรแกรม Compiler ตรวจสอบความถูกต้อง จากนั้นแปลง Code ให้กลายเป็นภาษาเครื่องเพื่อให้คอมพิวเตอร์เข้าใจว่าผู้ Code ต้องการทำอะไร

        ขั้นตอนที่ 3  Link คือ เชื่อมโยงโปรแกรมภาษาเครื่องคอมพิวเตอร์เข้ากับ library function ของภาษา C เมื่อแปลงเป็นภาษาเครื่องแล้วจากในขั้นตอนที่ 3 ตัว Compiler จะทำการเรียก library ต่าง ๆ ที่เกี่ยวข้องกับ Code เพื่อนำมาใช้งานประกอบ ทำให้โปรแกรมสามารถใช้งานได้

        ขั้นตอนที่ 4  Run คือ ประมวลคำสั่งเพื่อแสดงผล หลังจากขั้นตอนที่ 3 โปรแกรมที่ได้จาก Code ก็จะถูกสร้างขึ้นมาเป็นรูปธรรมให้ใช้งานได้จริง ตาม Code ที่เขียนไป หลังจาก Run แล้วหากยังมีจุดบกพร่องใด ๆ ผู้เขียนโปรแกรมสามารถปรับปรุงแก้ไขและทดสอบจนกว่าโปรแกรมจะออกมาสำเร็จ

ความเป็นไปได้ของภาษาซีในปัจจุบัน

ภาษาซีสามารถนำไปใช้งานได้กับทุกระบบปฏิบัติการของคอมพิวเตอร์ เช่น Intel PC,Windows version ต่าง ๆ, Linux, Macintosh เป็นต้น เนื่องจากมี compiler ของภาษาซีอยู่ทั่วไป

ภาษาซีมีโครงสร้างทางภาษาที่เป็นระบบ แต่ไม่มีฟังก์ชันสำเร็จรูปให้ใช้มากมายนัก หากต้องการป้อนคำสั่งอะไรก็ตามนอกเหนือจากที่มี จะต้องเขียนโค้ดเอง หรือเรียก library functions มาใช้งาน ซึ่งไม่ใช่เรื่องยากนักสำหรับนักพัฒนามืออาชีพ

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

Arduino และ Scratch มีรากฐานมาจากภาษาซี

บอร์ด Microcontroller อย่าง Arduino เองก็ใช้การ code สั่งการด้วยภาษาตระกูลภาษาซี เนื่องจากเป็นภาษาที่เหมาะจะเอามาสั่งการ Hardware และ Senser ต่าง ๆ อยู่แล้ว รวมไปถึง coding สำหรับเด็กเล็กและเด็กโตอย่าง Scratch ก็มีโครงสร้างที่พัฒนามาจากภาษาซีเช่นกัน กล่าวคือทั้ง Arduino และ Scratch เองจำเป็นต้องใช้การวิเคราะห์ปัญหา การคิดอย่างเป็นระบบและเป็นขั้นตอน ในการพัฒนานวัตกรรมหรือเกมขึ้นมา แบบเดียวกับภาษาซีและภาษาโปรแกรมอื่น ๆ แตกต่างกันตรงคำสั่งที่ใช้เท่านั้นเอง

บทความที่เกี่ยวข้อง