1. เหตุผลที่ควรเรียนรู้ “Hello World” เป็นพื้นฐานของภาษา C
ภาษา C เป็นภาษาการเขียนโปรแกรมพื้นฐานที่ใช้กันอย่างแพร่หลายในการพัฒนาระบบฝังตัวและซอฟต์แวร์ ดังนั้นเมื่อเริ่มเรียนรู้การเขียนโปรแกรม จึงนิยมเริ่มจากการสร้างโปรแกรมง่าย ๆ อย่าง “Hello World” โปรแกรมนี้ถือเป็นก้าวแรกในการเรียนรู้โครงสร้างพื้นฐานและวิธีการรันโปรแกรมภาษา C ในบทความนี้ เราจะมาเรียนรู้พื้นฐานของภาษา C ผ่าน “Hello World” และอธิบายขั้นตอนการรันโค้ดอย่างละเอียด
2. การติดตั้งสภาพแวดล้อมสำหรับการพัฒนา
ก่อนจะเริ่มเขียนโปรแกรม คุณต้องติดตั้งสภาพแวดล้อมสำหรับการพัฒนาเสียก่อน ที่นี่เราจะแนะนำการตั้งค่า 2 วิธีหลัก คือ “GCC” และ “Visual Studio”
2.1 การติดตั้งสภาพแวดล้อมด้วย GCC
GCC (GNU Compiler Collection) เป็นคอมไพเลอร์โอเพ่นซอร์สที่นิยมใช้ใน Linux และ macOS ทำตามขั้นตอนด้านล่างเพื่อทำการติดตั้งและเตรียมพร้อมสำหรับการรันโปรแกรมภาษา C
- การติดตั้งบน Linux/macOS:
- เปิด Terminal และพิมพ์คำสั่งต่อไปนี้
sudo apt install gcc # สำหรับ Linux
xcode-select --install # สำหรับ macOS - หลังจากติดตั้งเสร็จ ให้ตรวจสอบเวอร์ชัน GCC ด้วยคำสั่ง
gcc --version
2.2 การติดตั้งสภาพแวดล้อมด้วย Visual Studio
Visual Studio เป็นสภาพแวดล้อมการพัฒนาสำหรับ Windows ที่รองรับภาษา C ทำตามขั้นตอนต่อไปนี้เพื่อติดตั้ง
- การติดตั้งบน Windows:
- ดาวน์โหลดและติดตั้ง Visual Studio จากเว็บไซต์ทางการของ Microsoft
- ระหว่างการติดตั้ง เลือก “Desktop development with C++” เพื่อให้สามารถสร้างโปรเจกต์ภาษา C ได้
- สร้างโปรเจกต์ใหม่ใน Visual Studio แล้วเขียนและรันโค้ดของคุณ
3. การอธิบายโค้ดโปรแกรม Hello World
ต่อไป เราจะสร้างโปรแกรม “Hello World” และอธิบายความหมายของโค้ดอย่างละเอียด ตัวอย่างโค้ดพื้นฐานของภาษา C มีดังนี้
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
3.1 บทบาทของ #include <stdio.h>
#include
คือคำสั่งที่ใช้สำหรับนำเข้าไลบรารีภายนอก stdio.h
คือไลบรารีมาตรฐานที่ให้ฟังก์ชันสำหรับรับและส่งข้อมูล เช่น printf()
หากไม่มีบรรทัดนี้ คุณจะไม่สามารถแสดงข้อความบนหน้าจอได้
3.2 ความหมายของ int main()
ในภาษา C ทุกโปรแกรมจะเริ่มทำงานจากฟังก์ชัน main()
คำว่า int
หมายถึงชนิดค่าที่จะส่งกลับ (return type) โดย 0
หมายถึงการทำงานเสร็จสิ้นอย่างปกติ
3.3 การอธิบาย printf("Hello, World!\n")
ฟังก์ชัน printf()
ใช้แสดงข้อความไปยังหน้าจอ ที่นี่เราแสดง “Hello, World!” และใช้ \n
เพื่อขึ้นบรรทัดใหม่
3.4 บทบาทของ return 0
return
ใช้ส่งค่ากลับไปยังผู้เรียกฟังก์ชัน ใน main()
การใช้ return 0
หมายถึงโปรแกรมสิ้นสุดลงอย่างปกติ
4. วิธีคอมไพล์และรันโปรแกรม
การรันโปรแกรมภาษา C ต้องคอมไพล์ซอร์สโค้ดก่อน ที่นี่เราจะอธิบายวิธีคอมไพล์ด้วย GCC และ Visual Studio
4.1 การคอมไพล์ด้วย GCC
บน Linux หรือ macOS ให้ทำตามขั้นตอนนี้
- บันทึกโค้ดเป็นไฟล์ เช่น
hello.c
- รันคำสั่ง
gcc -o hello hello.c ./hello
คำสั่งนี้จะคอมไพล์และรันโปรแกรม
4.2 การคอมไพล์ด้วย Visual Studio
บน Visual Studio ให้ทำตามขั้นตอนนี้
- สร้างโปรเจกต์และเขียนโค้ด
- ไปที่ “Build” → “Build Solution” เพื่อคอมไพล์
- ไปที่ “Debug” → “Start Debugging” เพื่อรันโปรแกรม

5. ข้อผิดพลาดที่พบบ่อยและการแก้ไข
ระหว่างการเขียนโปรแกรม อาจพบข้อผิดพลาดได้ ที่นี่คือข้อผิดพลาดที่มือใหม่มักเจอพร้อมวิธีแก้
5.1 ลืมใส่เครื่องหมายเซมิโคลอน
ในภาษา C ต้องใส่ ;
ตอนจบประโยค หากลืมจะเกิดข้อผิดพลาด เช่น ลืมใส่หลัง printf()
- ข้อความผิดพลาด:
error: expected ';' before '}' token
- วิธีแก้: ใส่
;
หลังprintf("Hello, World!\n")
5.2 พิมพ์ชื่อผิด
ถ้าพิมพ์ชื่อฟังก์ชันหรือชื่อตัวแปรผิด เช่น prontf
แทน printf
จะทำให้เกิดข้อผิดพลาด
- ข้อความผิดพลาด:
error: 'prontf' undeclared (first use in this function)
- วิธีแก้: แก้ให้ถูกต้องเป็น
printf
5.3 ข้อผิดพลาดระหว่างคอมไพล์
เมื่อคอมไพล์ อาจพบข้อผิดพลาดหลายแบบ อ่านข้อความแจ้งเตือนและแก้ไขตามที่ระบุ
6. ตัวอย่างการประยุกต์ใช้
จากโปรแกรม “Hello World” สามารถพัฒนาให้ซับซ้อนขึ้น เช่น เพิ่มตัวแปรหรือแสดงผลหลายบรรทัด
6.1 การใช้ตัวแปรในการแสดงผล
#include <stdio.h>
int main() {
int age = 25;
printf("ฉันอายุ %d ปี\n", age);
return 0;
}
ในโปรแกรมนี้ใช้ %d
เพื่อแสดงค่าตัวแปรจำนวนเต็ม age
6.2 การแสดงผลหลายบรรทัด
#include <stdio.h>
int main() {
printf("Hello, World!\n");
printf("มาเริ่มเรียนภาษา C กันเถอะ\n");
return 0;
}
ในโปรแกรมนี้ใช้ \n
เพื่อขึ้นบรรทัดใหม่
7. สรุปและขั้นตอนถัดไป
โปรแกรม “Hello World” เป็นพื้นฐานสำคัญในการเข้าใจโครงสร้างของภาษา C ผ่านโปรแกรมนี้ คุณได้เรียนรู้ลำดับการทำงานและการใช้การแสดงผลมาตรฐาน ขั้นตอนถัดไปคือการเรียนรู้การคำนวณทางคณิตศาสตร์ เงื่อนไข และการวนลูป เพื่อพัฒนาโปรแกรมให้ซับซ้อนมากขึ้น