เริ่มต้นกับภาษาซี

โครงสร้างของโปรแกรม

โครงสร้างพื้นฐานของโปรแกรมภาษาซี จะต้องประกอบด้วยโปรแกรมย่อย หรือเรียกว่า ฟังก์ชัน (function) อย่างน้อย 1 ฟังก์ชัน คือ ฟังก์ชัน main ( ) ซึ่งมีรูปแบบดังนี้


ฟังก์ชัน main ( ) ประกอบด้วย 3 ส่วนหลัก คือ

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

2) ส่วนการประกาศตัวแปร ใช้สำหรับประกาศตัวแปรชนิดต่างๆ เพื่อเก็บข้อมูลระหว่างการประมวลผล

3) ส่วนคำสั่ง ประกอบด้วยคำสั่งที่เกี่ยวข้องกับการรับเข้าและการแสดงข้อมูล คำสั่งประมวลผลอื่นๆ รวมถึงการเรียกใช้ฟังก์ชันอื่นได้ด้วย ส่วนประกาศตัวแปรและส่วนคำสั่งจะต้องเขียนอยู่ระหว่างเครื่องหมาย { และ } เสมอ ทั้งสองส่วนนี้ ใช้สำหรับนิยามการทำงานของฟังก์ชัน main ( ) และคำสั่งทุกคำสั่งในภาษาซีจะต้องปิดท้ายด้วยเครื่องหมาย ; (semicolon) เสมอ

โดยปกติแล้วโปรแกรมของผู้เริ่มต้นเป็นโปรแกรมที่เรียกว่า "Hello word" ซึ่งจะแสดงคำว่า "Hello World!" ออกทางจอคอมพิวเตอร์ของคุณ มันเป็นโปรแกรมที่ง่ายที่สุดที่จะแสดงให้นักพัฒนามือใหม่ได้เห็น มาดูว่ามันเป็นอย่างไร


โปรแกรมนี้เป็นโปรแกรมเพื่อแสดงข้อความอย่างง่าย "Hello word!" ออกทางหน้าจอ เราได้ใช้ฟังก์ชันต่างๆ จากไลบรารี่ stdio.h ของภาษา C ที่สามารถให้เราทำสิ่งต่างๆ ได้ แสดงข้อความออกทางจอภาพหรือรับค่าจากคีย์บอร์ด และคุณจะได้เรียนในบทอื่นต่อไป สำหรับบทเรียนภาษา C นี้


นี่เป็นผลลัพธ์การทำงานของโปรแกรมซึ่งจะแสดงผลข้อความ Hello word! ออกทางหน้าจอ คุณสามารถเปลี่ยนเป็นชื่อของคุณเองแล้วดูผลลัพธ์

Blocks

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


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


ในภาษา C คำสั่ง #include ใช้สำหรับนำเข้าโค้ดจากไฟล์อื่นเข้ามาใช้งานในโปรแกรม โดยปกติแล้วเราได้นำเข้าชุดไลบรารี่ stdio.h ของภาษา C ซึ่งประกอบไปด้วยฟังก์ชันต่างๆ ที่จำเป็นในการเขียนโปรแกรม เช่น ฟังก์ชันสำหรับแสดงผลออกทางหน้าจอ หรือรับค่าจากคีย์บอร์ด เป็นต้น

Comment

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


ในตัวอย่างเป็นการคอมเม้นท์แบบหนึ่งบรรทัด เราจะใช้เครื่องหมาย slash สองอัน (//) และตามด้วยสิ่งที่เราต้องการคอมเม้นท์ ในตัวอย่างเราได้สร้างคอมเม้นต์สองอันในโปรแกรม


คอมเม้นท์อีกแบบหนึ่งคือการคอมเม้นท์หลายบรรทัด มันจะละเว้นทุกอย่างหลังจากการปรากฏครั้งแรกของเครื่องหมาย slash star (/*) และสิ้นสุดที่ star slash (*/)

Semicolon

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


ในตัวอย่างเรามีสี่คำสั่ง บรรทัดแรกเป็นการประกาศตัวแปร บรรทัดที่สองคุณจะเห็นสองคำสังอยู่ในบรรทัดเดียวกันและมันสิ้นสุดด้วยเซมิโคลอน บรรทัดที่สามจะแสดงค่าผลรวมของตัวแปร a และ b

Whitespace

Whitespace คือตัวอักษรหรือเครื่องหมายที่ใช้แบ่งแยกคำสั่งและ Token ในโค้ดของโปรแกรม ในภาษา C นั้น white space จะประกอบไปด้วย การเว้นวรรค Tab และการขึ้นบรรทัดใหม่ Whitespace ที่เรียงต่อกันเป็นจำนวนมากนั้นไม่มีผลต่อการทำงานของโปรแกรมและคอมไพเลอร์ แต่มันช่วยให้โปรแกรมเมอร์สามารถทำโค้ดให้เป็นระเบียบและสามารถอ่านเข้าใจได้ง่ายขึ้นโดยคนอื่นๆ แต่ Whitespace ยังคงต้องใช้ในบางที่ เช่น ระหว่างคำสั่งของภาษา C และชื่อของตัวแปร เป็นต้น


ในตัวอย่าง เป็นการใช้ Whitespace ในรูปแบบต่างๆ ซึ่งถือว่าเป็นรูปแบบการเขียนโปรแกรมของแต่ละคน แต่โดยปกติแล้วเรานิยมใช้ Whitespace ในรูปแบบของการประกาศตัวแปร a

Keywords

keyword เป็นกลุ่มคำที่ถูกสงวนไว้โดยเราไม่สามารถใช้คำเหล่านี้ในการประกาศเป็นชื่อตัวแปร ฟังก์ชัน ซึ่งในโปรแกรมทุกภาษาต่างก็มี keyword นี่เป็น keyword มาตราฐานในภาษา C

keyword เหล่านี้มีหน้าที่การทำงานที่แน่นอนซึ่งขึ้นกับวัตุประสงค์ของมัน int, short, float, double ใช้เพื่อประกาศตัวแปร ในขณะที่ if for while เป็นคำสังในการควบคุมการทำงานของโปรแกรม