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

21148 Total Views 18 Views Today
Ta

Ta

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

You may also like...

ใส่ความเห็น

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