- โปรแกรม Hello, World!
#include <iostream> // preprocessor directive
using namespace std;
// function header
// function body
int main() // special function
{
// << stream insertion operator ("put to")
// :: scope resolution operator
cout << "Hello, World!\n"; // statement
cout << "Hello, C++!" << endl; // statement
cout << "Beautiful day";
}
***********************************************************************************************************************************
เริ่มต้นการเขียนโปรแกรมภาษา C++ ด้วย Dev-C++
***********************************************************************************************************************************
โปรแกรมแรกสำหรับผู้เริ่มต้นการเขียนโปรแกรมในทุกๆ ภาษาคือโปรแกรมที่เรียกว่า "Hello World" ซึ่งเป็นโปรแกรมที่จะแสดงผลข้อความว่า "Hello World" ออกทางหน้าจอคอมพิวเตอร์ของคุณ ถ้านี่เป็นประสบการณ์ในการเขียนโปรแกรมครั้งแรกของคุณ คุณจะแปลกใจกับสิ่งที่คุณจะเห็นต่อไป
// my first world program
#include <iostream>
int main()
{
std::cout << "Hello World!\n";
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!\n"
นั้นคือคำสั่งการทำงานของโปรแกรม คำสั่งในภาษา 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()
เป็นการคอมเมนต์แบบหลายบรรทัด (Multiline) สำหรับอธิบายการทำงานของฟังก์ชัน และสุดท้ายเป็นการคอมเมนต์ในบรรทัดเดียวกันกับคำสั่งการทำงาน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++ นั้น Whitespace จะประกอบไปด้วย การเว้นวรรค Tab และการขึ้นบรรทัดใหม่ Whitespace ที่เรียงต่อกันเป็นจำนวนมากนั้นไม่มีผลต่อการทำงานของโปรแกรมและคอมไพเลอร์ แต่มันช่วยให้โปรแกรมเมอร์สามารถทำโค้ดให้เป็นระเบียบและสามารถอ่านเข้าใจได้ง่ายขึ้นโดยคนอื่นๆ แต่ Whitespace ยังคงต้องใช้ในบางที่ เช่น ระหว่างคำสั่งของภาษา C++ และชื่อของตัวแปร เป็นต้น
int a = 1;
int b=2;
int c = 3;
ในตัวอย่าง เป็นการใช้ Whitespace ในรูปแบบต่างๆ ซึ่งถือว่าเป็นรูปแบบการเขียนโปรแกรมของแต่ละคน แต่โดยปกติแล้วเรานิยมใช้ Whitespace ในรูปแบบของการประกาศตัวแปร
a
Keywords
Keyword คือคำที่ถูกสงวนไว้ในภาษา C++ ซึ่งมันถูกใช้ในการทำงานของภาษา นั่นหมายความว่าคุณไม่สามารถใช้คำสั่งเหล่านี้ในการประกาศชื่อตัวแปร เมธอด คลาส หรือ Identifier อื่นได้ๆ นี่เป็นรายการของ Keyword ในภาษา C++
alignas | alignof | and | and_eq |
asm | atomic_cancel | atomic_commit | atomic_noexcept |
auto | bitand | bitor | bool |
break | case | catch | char |
char16_t | char32_t | class | compl |
concept | const | constexpr | const_cast |
continue | decltype | default | delete |
do | double | dynamic_cast | else |
enum | explicit | export | extern |
false | float | for | friend |
goto | if | import | inline |
int | long | module | mutable |
namespace | new | noexcept | not |
not_eq | nullptr | operator | or |
or_eq | private | protected | public |
register | reinterpret_cast | requires | return |
short | signed | sizeof | static |
static_assert | static_cast | struct | switch |
synchronized | template | this | thread_local |
throw | true | try | typedef |
typeid | typename | union | unsigned |
using | virtual | void | volatile |
wchar_t | while | xor | xor_eq |
เนื่องจากว่าภาษา C++ นั้นได้รับการพัฒนาอย่างต่อเนื่อง บาง Keyword นั้นได้ถูกเพิ่มเข้ามาในภายหลังตั้งแต่ C++11 และ C++17 และบาง Keyword ใช้งานในโมดูล TS
ในบทนี้ คุณได้เรียนรู้โครงสร้างพื้นฐานของภาษา C++ เราได้ให้คุณดูตัวอย่างของโปรแกรมในภาษา C++ และอธิบายการทำงานของโปรแกรม คำสั่งการทำงานของโปรแกรม และการคอมเมนต์โค้ด และรายการของ Keywords ที่ถูกใช้ในการทำงานของภาษา ซึ่งสิ่งเหล่านี้มีความสำคัญที่คุณจะต้องทำความเข้าใจสำหรับการเขียนโปรแกรมในภาษา C++