Intro to C แนะนำภาษาซี

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

ดังนั้นเลยคิดว่าจะเขียนสรุปซีรีส์ เขียนโปรแกรมฉบับมือใหม่ อีกครั้ง (ถือว่าเป็น 2nd Edition ก็ได้) และครั้งนี้ตั้งใจจะเขียนทั้งภาษา C, Java, และ Python เลยนะ

ส่วนเนื้อหาและสารบัญของบทความที่เขียนไว้แล้วตอนนี้ดูได้จากข้างล่างนี่เลย


รับสอนการเขียนโปรแกรม และ วิชาวิทยาการคอมพิวเตอร์อื่นๆ ดูรายละเอียดได้ที่นี่

**หมายเหตุ - ในชุดบทความสอนเขียนภาษาซีเบื้องต้นจะโฟกัสเนื้อหาไปที่ภาษาซี  ความรู้เบสิกเกี่ยวกับการเขียนโปรแกรม เช่น programming lanugage หรือ compiler และที่สำคัญคือแนวคิดของ algorithm พวกนี้จะไม่ได้พูดถึงเลย ! ... ดังนั้นถ้าใครยังไม่รู้เรื่องพวกนี้เลยให้อ่านบทความชุด "Intro" ก่อนได้เลยนะ

 


มารู้จักภาษา C กันเถอะ!

ภาษาซีเป็นภาษาโปรแกรมภาษาหนึ่งที่ได้รับความนิยมมาก พัฒนาขึ้นมาโดย Dennis Ritchie ในปี 1972 เพราะว่าตอนนั้นเขาต้องการภาษาสำหรับเอามาสร้างระบบปฏิบัติการ Unix

(โดยที่มาของชื่อ C มาจากภาษาที่เอามาเป็นต้นแบบชื่อว่าภาษา BCPL หรือภาษา B นั่นเอง ตั้งชื่อกันง่ายๆ แบบนี้แหละ)

ข้อดีและจุดเด่นของภาษา C

  • โครงสร้างภาษาออกแบบมาดี เขียนง่าย เข้าใจง่าย
  • ไม่อิงกับ CPU เครื่อง มีมาตรฐานสำหรับเครื่องคอมพิวเตอร์แทบจะทุกรุ่น (โดยส่วนตัวคิดว่าข้อนี้ไม่จริงเท่าไหร่ สำหรับปัจจุบัน เพราะบางคำสั่งอาจจะใช้ใน Windows ได้แต่รันใน Mac ไม่ได้ แต่ในความหมายนี้เขาเทียบกับภาษาระดับต่ำเช่น Assembly มากกว่า)
  • เขียนคำสั่งเพื่อสั่งงาน Hardware หรือ Micro-Controller ได้
  • โปรแกรมที่เขียนด้วยภาษาซีมักจะทำงานได้เร็วกว่าโปรแกรมที่เขียนด้วยภาษาระดับสูงอื่นๆ
  • เป็นต้นแบบของภาษายอดนิยมหลายภาษามากเช่น Java, C++, C#, PHP, JavaScript ทำให้ถ้าเรารู้ C เวลาไปต่อยอดเขียนภาษาอื่นๆ จะทำให้เข้าใจได้เร็ว

สำหรับการเขียนภาษา C จะต้องมีโปรแกรมสำหรับเขียนภาษาซีและติดตั้ง C compiler ให้เรียบร้อยซะก่อน ซึ่งจะสอนในบทความหน้านะ

C Basic Syntax

ในภาษาปกติจะมีไวยากรณ์หรือ grammar เอาไว้เป็นกฎว่าประโยคของเราจะต้องเรียงยังไง ภาษาคอมพิวเตอร์ก็ไม่ต่างกัน แต่คำว่าแกรมม่าในภาษาโปรแกรมจะเรียกว่า “Syntax” แทน

แล้วโครงสร้างภาษาซีแบบพื้นฐานที่สุดคือรูปแบบต่อไปนี้

int main()
{
    //--เขียนโค้ดตรงนี้--// 
    return 0; 
}

หรืออีกแบบหนึ่งคือ

void main()
{
   //--เขียนโค้ดตรงนี้--// 
}

ในภาษาซีเราจะมีโครงสร้าง 2 แบบที่เจอบ่อยคือรูปแบบการใช้ void และการใช้ int ซึ่งสามารถใช้แบบไหนก็ได้ แต่ว่า C Compiler บางตัวจะไม่ยอมให้เขียนแบบ void

คนที่เจอว่าเขียนแบบ void ลงไปแล้วคอมไพล์ไม่ผ่านสามารถเปลี่ยนไปใช้แบบ int ได้เลย แต่ต้องอย่าลืมว่าถ้าใช้แบบ int ต้องจบบรรทัดสุดท้ายด้วย return 0; ด้วยนะ

(สำหรับเหตุผลว่าทำไมต้องเป็นแบบนี้ เดี๋ยวจะอธิบายในบทของฟังก์ชัน)

*ในสรุปชุดนี้จะใช้รูปแบบ int เป็นหลัก เพราะเป็นรูปแบบที่คอมไพเลอร์ส่วนใหญ่ทำงานได้!

สิ่งที่ต้องระวังคือภาษาซีเป็นรูปแบบ Case-Sensitive หมายความว่าตัวอักษรตัวใหญ่กับตัวเล็ก ถือเป็นคนละชื่อกันเช่น Main กับ main หรือ INT กับ int ดังนั้นต้องพิมพ์ตัวใหญ่ตัวเล็กให้ถูกต้องด้วย ส่วนมากคีย์เวิร์ดของภาษาซีจะใช้การพิมพ์ด้วยตัวอักษรตัวเล็กทั้งหมด

hello world!

ในขั้นแรกลองมาทำโปรแกรมง่ายๆ ที่มีชื่อเล่นว่า hello world! กันก่อน

ชื่อ hello world! นี่เป็นชื่อเล่นของโปรแกรมแรกที่ไม่ทำอะไรเลยนอกจากปริ๊นประโยคคำว่า “hello world!” ออกมาทางหน้าจอ ถือเป็นโปรแกรมแรกที่ง่ายที่สุด

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

ในการปริ๊นค่าออกมาทางหน้าจอ เราจะใช้คำสั่งที่ชื่อว่า

printf()

ซึ่ง printf นี้ย่อมาจาก print function ซึ่งเป็นฟังก์ชันคำสั่งสำเร็จรูปที่ภาษาซีเตรียมไว้ให้แล้ว แต่เก็บอยู่ใน library (เป็นเหมือนห้องสมุดที่เก็บคำสั่งมากมายเอาไว้) ที่ชื่อว่า stdio.h (ย่อมาจาก standard input output อย่าอ่านเป็น “สตูดิโอ” นะ)

ถ้าเราจะใช้งาน printf เราจะต้องบอกภาษาซีก่อนว่าให้โหลดคำสั่งใน stdio.h เข้ามาให้เราด้วย ด้วยคำสั่ง #include ที่ด้านบนสุดของไฟล์

#include <stdio.h>

int main()
{
  printf("hello world!");
  return 0;
}

แต่ถ้าสังเกตดูการเขียนคำสั่งในภาษา C จะมีการเขียนสัญลักษณ์ ; (อ่านว่า เซมิโคลอน หรือ เซไมโคลอน) ต่อท้ายเสมอ เพื่อเป็นการบอกว่าตอนนี้น่ะ จบคำสั่งแล้วนะๆ เทียบกับภาษาอังกฤษก็จะเหมือนกับการที่เราเติม full-stop หรือ . หลังจบประโยคนั่นแหละ

หลังจากเราเอาโปรแกรมนี้ไปคอมไพล์และรันดู ผลที่ได้ก็จะเห็นคำว่า “hello world!” โผล่ขึ้นมาในหน้าจอ แบบนี้

hello world!

ซึ่งในบทความต่อไป เราจะมาสอนการคอมไพล์โปรแกรมแรกของเราด้วยทั้งวิธีแบบง่ายคือใช้โปรแกรมเฉพาะทางสำหรับเขียนโค้ดอย่าง IDE หรือการคอมไพล์โปรแกรมเองแบบแมนนวลด้วยการสั่งคำสั่งผ่าน command line

22415 Total Views 6 Views Today
Ta

Ta

สิ่งมีชีวิตตัวอ้วนๆ กลมๆ เคลื่อนที่ไปไหนโดยการกลิ้ง .. ถนัดการดำรงชีวิตโดยไม่โดนแสงแดด
ปัจจุบันเป็น Senior Software Engineer อยู่ที่ Centrillion Technology
งานอดิเรกคือ เขียนโปรแกรม อ่านหนังสือ เขียนบทความ วาดรูป และ เล่นแบดมินตัน

You may also like...

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *