โครงสร้างของภาษา C++

โปรแกรมในภาษา C++

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

// my first world program
#include <iostream>

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

ข้างล่างนี้เป็นผลลัพธ์ของโปรแกรม

Hello World!

ในส่วนแรกที่คุณเห็นนั้นคือซอสโค้ดของโปรแกรม และส่วนที่สองคือผลลัพธ์ของโปรแกรม เมื่อคุณรันโปรแกรมคุณจะเห็นคำว่า "Hello world" ถูกแสดงผลออกทางหน้าจอคอมพิวเตอร์ของคุณ คุณสามารถทดสอบกับคำหรือประโยคอื่นๆ เพื่อดูผลลัพธ์ของมัน

ต่อไปเป็นการอธิบายการทำงานของโปรแกรมข้างบนทีละบรรทัดเพื่อให้คุณทราบว่าโปรแกรมในภาษา C++ นั้นมีการทำงานอย่างไร

#include <iostream>

คำสั่งแรกในโปรแกรมเป็นการนำเข้าไลบรารี่มาตฐานของภาษา C++ ในตัวอย่างเราได้นำเข้าไลบรารี่ iostream ซึ่งจะประกอบไปด้วยฟังก์ชันการทำงานเกี่ยวกับ Input และ Output ซึ่งในภาษา C++ นั้นมีไลบรารี่อื่นๆ อีกมากมาย คุณสามารถนำเข้าไลบรารี่เหล่านั้นได้ด้วย directive #include ซึ่งแตละชุดคำสั่งจบด้วยการขึ้นบรรทัดใหม่

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

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

Statement (คำสั่งการทำงาน)

Statement คือคำสั่งการทำงานของโปรแกรมในภาษา C++ ในการเขียนโปรแกรมหนึ่งโปรแกรมนั้นโดยส่วนมากแล้วจะประกอบไปด้วยหลายคำสั่งเพื่อให้การทำงานเสร็จสิ้น จากตัวอย่างก่อนหน้า std::cout << "Hello World!"; นั้นคือคำสั่งการทำงานของโปรแกรม คำสั่งในภาษา C++ นั้นจะจบด้วยเครื่องหมายเซมิโคลอน (;) ดังนั้นหลายคำสั่งอาจจะอยู่ในบรรทัดเดียวกันได้

int a = 0;
int b = 1; int c = 2;

ในตัวอย่างนั้นเรามีสามคำสั่งด้วยกันซึ่งเป็นคำสั่งในการประกาศตัวแปร สำหรับคำสั่งในการประกาศตัวแปร b และตัวแปร c นั้นจะอยู่บรรทัดเดียวกัน แต่คั่นด้วยเครื่องหมาย ; ทำให้ภาษา C++ สามารถแยกแยะแต่ละคำสั่งของการทำงานได้

คอมเม้นต์

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

// line comment
/* block comment */

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

// Name: Hello world program
// Author: marcuscode.com
// Date: September 8, 2015
#include <iostream>

/* the main function is called
when the program starts */
int main(){
std::cout << "Hello World!"; // display text
return 0;
}

ในตัวอย่าง เป็นโปรแกรมในการแสดงผลข้อความ Hello world เช่นเดิม แต่ในเวอร์ชันนี้เราได้เพิ่มเติมการคอมเมนต์สำหรับโปรแกรม สามบรรทัดแรกเป็นการคอมเมนต์แบบ Single line ซึ่งเป็นการบอกชื่อของโปรแกรม ชื่อผู้เขียน และวันที่ที่สร้างขึ้น คอมเมนต์ที่สองก่อนฟังก์ชัน main() เป็นการคอมเมนต์แบบ multi-line สำหรับอธิบายการทำงานของฟังก์ชัน และสุดท้ายเป็นการคอมเมนต์ในบรรทัดเดียวกันกับคำสั่งการทำงาน

Using namespace std

ภาษา C++ มีไลบรารี่มาตรฐานที่เรียกว่า namespace (เนมสเปลซ) จากตัวอย่างของโค้ดโปรแกรมก่อนหน้าที่เราได้ใช้มันไปแล้ว

using namespace std;

เพื่อใช้ฟังก์ชันในไลบรารี่ของ namespace std โดยไม่ต้องมี std:prefix เราจำเป็นต้องใช้คำสั่ง using namespace std อย่างเช่น ฟังก์ชัน cout เราจะสามารถเรียกใช้ฟังก์ชันนี้ได้ในทันที

#include <iostream>

int main ()
{
std::cout << "Hello C++\n";
std::cout << "My name is Mateo\n";
return 0;
}
#include <iostream>

using namespace std;
int main ()
{
cout << "Hello C++\n";
cout << "My name is Mateo\n";
return 0;
}

โปรแกรมสองโปรแกรมด้านบนให้ผลลัพธ์ที่เหมือนกัน โปรแกรมแรกเราไม่ได้ประกาศโดยการใช้คำสั่ง namespace std และเราจำเป็นต้องเข้าถึงฟังก์ชัน cout โดยการใช้ std:cout ในการที่จะอนุญาติให้สามารถเข้าถึงทุกอย่างใน namespace ได้โดยไม่ต้องใช้ std:prefix เราจำเป็นต้องใช้คำสั่ง using namespace std เหมื่อนในโปรแกรมที่สอง

Whitespace

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

int a = 1;
int b=2;
int c = 3;

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

Keywords

Keyword คือคำที่ถูกสงวนไว้ในภาษา C++ ซึ่งมันถูกใช้ในการทำงานของภาษา นั่นหมายความว่าคุณไม่สามารถใช้คำสั่งเหล่านี้ในการประกาศชื่อตัวแปร เมธอด คลาส หรือ identifier อื่นได้ ๆ นี่เป็นรายการของ keyword ในภาษา C++

alignasalignofandand_eq
asmatomic_cancelatomic_commitatomic_noexcept
autobitandbitorbool
breakcasecatchchar
char16_tchar32_tclasscompl
conceptconstconstexprconst_cast
continuedecltypedefaultdelete
dodoubledynamic_castelse
enumexplicitexportextern
falsefloatforfriend
gotoifimportinline
intlongmodulemutable
namespacenewnoexceptnot
not_eqnullptroperatoror
or_eqprivateprotectedpublic
registerreinterpret_castrequiresreturn
shortsignedsizeofstatic
static_assertstatic_caststructswitch
synchronizedtemplatethisthread_local
throwtruetrytypedef
typeidtypenameunionunsigned
usingvirtualvoidvolatile
wchar_twhilexorxor_eq

เนื่องจากว่าภาษา C++ นั้นได้รับการพัฒนาอย่างต่อเนื่อง บาง keyword นั้นได้ถูกเพิ่มเข้ามาในภายหลังตั้งแต่ C++11 และ C++17 และบาง keyword ใช้งานในโมดูล TS

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