Skip to main content

Basic Syntax

มาลอง Hello World กัน

เราจะเริ่มต้น program c++ สำหรับการพิมพ์ Hello World ในภาษา C++ เราสามารถใช้ code ต่อไปนี้ได้

#include <iostream>

int main() {
std::cout << "Hello World!";
return 0;
}

code ด้านบนจะพิมพ์ข้อความ "Hello World!" ออกทางหน้าจอ โดยบรรทัดแรกสุดมีการ import module เข้ามาผ่านคำสั่ง #include

  • คำสั่ง #include ในภาษา C++ คือคำสั่งที่ใช้ในการเรียกใช้ library หรือ module ที่เกี่ยวข้องกับโปรแกรม เช่น #include <iostream> ใช้เรียกใช้โมดูล iostream ที่ใช้สำหรับการทำงานกับการป้อนออกข้อมูลและการรับข้อมูลผ่านทางคอนโซล (console)
  • module iostream เป็นส่วนหนึ่งของภาษา C++ ที่ใช้สำหรับการทำงานกับการป้อนออกข้อมูล (output) และการรับข้อมูล (input) เข้ามาผ่านทาง console หรือทางอื่น ๆ เช่น ไฟล์ข้อมูล โดยมีคำสั่งคือ cout ซึ่งใช้สำหรับการแสดงผลข้อความออกทาง console
  • การใช้คำสั่ง return 0 ในฟังก์ชัน main() เป็นการแสดงว่าโปรแกรมสิ้นสุดการทำงาน และค่า 0 ที่ถูกส่งกลับจากฟังก์ชัน main() จะบ่งบอกว่าโปรแกรมเสร็จสมบูรณ์และไม่มีข้อผิดพลาดที่เกิดขึ้น (เป็นเหมือนการส่ง status บอกไปยัง computer ว่าเรียบร้อย)

และนี่คือ code ที่เรียบง่ายที่สุดของภาษา C++ โดยวิธีการ run program นั้นให้เราทำการเปิด terminal บน VS Code ขึ้นมา หลังจากนั้นใช้คำสั่ง

# คำสั่งสำหรับการ compile
g++ <ชื่อไฟล์>

# ตัวอย่างเช่น (จะได้ default ออกมาเป็น a.out)
g++ test.cpp

# หากต้องการระบุชื่อไฟล์ compile ให้ใส่ -o เป็น option ออกมา
g++ test.cpp -o test

เมื่อมีการ compile ออกมาจะได้ไฟล์ output ออกมา (โดยปกติ default จะเป็น a.out) หลังจากนั้นเมื่อเรามีการพิมพ์คำสั่งผ่าน command ด้วยชื่อไฟล์ออกมา

./a.out

ก็จะได้ผลลัพธ์ของ code ออกมาได้ลักษณะประมาณนี้

  • สำหรับ mac หรือ linux ที่เป็น unix based จะได้เป็น Mach-O (Mach Object) format file ออกมา ที่สามารถใช้ชื่อไฟล์นั้น run program ออกมาได้เลย

basic-01.webp

  • สำหรับ windows จะได้เป็น file .exe ออกมา ที่สามารถกดคลิกจากไฟล์ (เหมือนเปิด program ออกมา) หรือใช้ .\<ชื่อ file>.exe ตามภาพ ออกมาได้เช่นกัน

basic-03.webp

มาลองรับ input / output กัน

พื้นฐานแรกสุด นอกเหนือจากการแสดงผลข้อความบนหน้าจอแล้ว terminal (หรือ command line interface - CLI) ยังสามารถรับข้อมูลจาก user ผ่าน input ใน CLI ได้เช่นเดียวกัน

#include <iostream>
using namespace std;

int main() {
int num;

cout << "กรุณาใส่ตัวเลข: ";
cin >> num;

cout << "ค่าที่รับมาคือ: " << num << endl;

return 0;
}

โปรแกรมด้านบนเป็นตัวอย่างโปรแกรม C++ ที่มีการรับ input และ output ออกมาผ่านทาง console หรือ command line โดยโปรแกรมจะขอให้ผู้ใช้ป้อนตัวเลข โดยใช้คำสั่ง cin ในการรับค่าเข้ามา และจะแสดงผลลัพธ์ออกทาง console โดยใช้คำสั่ง cout ในการแสดงผลลัพธ์ที่รับเข้ามา

คำสั่ง using namespace std; ใช้ในการกำหนดขอบเขต (namespace) ที่ใช้งานในโปรแกรม C++ โดย std คือชื่อของ namespace ที่ถูกใช้ในส่วนของ standard library ของภาษา C++ ซึ่งประกอบด้วย class และ function ที่ใช้กับ input และ output ตัวอย่างเช่น std::cout และ std::cin ที่ใช้สำหรับการแสดงผลและรับข้อมูลผ่านทาง console

เมื่อเราทำการ compile และรันโปรแกรม โดยใช้คำสั่ง

c++ test.cpp -o test
./test

โปรแกรมจะแสดงข้อความ "กรุณาใส่ตัวเลข: " เพื่อให้ผู้ใช้ป้อนตัวเลข และจะแสดงผลลัพธ์ของตัวเลขที่ผู้ใช้ป้อนเข้ามา

basic-02.webp

และนี่คือพื้นฐานการ run program 2 วิธีคือ

  1. run program โดยไม่มีการรอรับ input เข้ามา ผลลัพธ์ก็จะออกมาทันทีจากการ run program ได้เลย
  2. run program โดยมีการรอรับ input (จากคำสั่ง cin) โปรแกรมจะทำการรอ input จาก user ก่อนที่ program จะดำเนินการต่อ (และจะไม่มีการดำเนินการต่อจนกว่า user จะมีการ input เข้ามา)

หัวข้อต่อไป เราจะมาพูดถึงพื้นฐานของตัวแปร ซึ่งเป็นพื้นฐานแรกสุดของการเขียนโปรแกรม (ที่โปรแกรมตัวอย่างนี้ก็ใช้ไปเช่นกัน)