🚀 Chương trình đầu tiên - Hello World
📖 Giới thiệu
Chào mừng bạn đến với chương trình C++ đầu tiên! "Hello World" là truyền thống bất thành văn trong ngành lập trình - đây luôn là chương trình đầu tiên mà mọi lập trình viên viết khi học một ngôn ngữ mới.
Trong bài học này, chúng ta sẽ viết, biên dịch và chạy chương trình C++ đầu tiên, đồng thời hiểu rõ từng thành phần trong code. Đây là bước đầu tiên quan trọng để làm quen với cú pháp C++ và quy trình phát triển phần mềm.
Chương trình "Hello World" tuy đơn giản nhưng chứa đựng nhiều khái niệm cơ bản của C++ mà chúng ta sẽ sử dụng trong toàn bộ khóa học.
🔧 Cú pháp
Cấu trúc chương trình C++ cơ bản
// Cấu trúc tổng quát của chương trình C++
#include <thư_viện> // Directive tiền xử lý
using namespace std; // Khai báo namespace (tùy chọn)
// Khai báo hàm, biến toàn cục (nếu có)
int main() { // Hàm main - điểm bắt đầu chương trình
// Thân chương trình
return 0; // Trả về giá trị (0 = thành công)
}Các thành phần bắt buộc
#include <iostream> // Thư viện input/output stream
int main() // Hàm main bắt buộc phải có
{ // Bắt đầu khối lệnh
// Code của bạn ở đây
return 0; // Kết thúc chương trình thành công
} // Kết thúc khối lệnhCác biến thể của hàm main
// Biến thể 1: Không tham số
int main()
// Biến thể 2: Có tham số dòng lệnh
int main(int argc, char* argv[])
// Biến thể 3: C++ style
int main(int argc, char** argv)🔬 Phân tích & Giải thích chi tiết
Giải thích từng dòng code
#include <iostream>- #include: Directive tiền xử lý, yêu cầu compiler đưa nội dung của file khác vào
<iostream>: Thư viện chuẩn cho input/output operations (cin, cout)- Dấu <>: Cho biết đây là system header file
using namespace std;- using namespace: Cho phép sử dụng tên ngắn thay vì tên đầy đủ
- std: Standard namespace chứa các thành phần của thư viện chuẩn C++
- Tác dụng: Viết
coutthay vìstd::cout
int main() {- int: Kiểu trả về của hàm main (số nguyên)
- main: Tên hàm đặc biệt - điểm bắt đầu thực thi chương trình
- (): Danh sách tham số (trống trong trường hợp này)
- {: Bắt đầu khối lệnh (scope) của hàm
cout << "Hello World!" << endl;- cout: Console output stream, dùng để xuất dữ liệu ra màn hình
- <<: Toán tử insertion operator, đưa dữ liệu vào stream
- "Hello World!": String literal - chuỗi ký tự
- endl: End line - xuống dòng và flush buffer
return 0;- return: Từ khóa trả về giá trị từ hàm
- 0: Giá trị trả về cho hệ điều hành (0 = thành công, khác 0 = lỗi)
Tại sao cần hàm main?
Khi chạy chương trình C++, hệ điều hành sẽ tìm và gọi hàm main() đầu tiên. Đây là entry point (điểm vào) của chương trình - nơi bắt đầu thực thi code.
Namespace là gì?
Namespace giống như "họ tên" của các thành phần trong C++. Ví dụ:
std::cout- cout thuộc namespace stdstd::cin- cin thuộc namespace stdstd::string- string thuộc namespace std
💻 Ví dụ minh họa
Chương trình Hello World cơ bản
File: hello.cpp
#include <iostream>
using namespace std;
int main() {
cout << "Hello World!" << endl;
return 0;
}Cách biên dịch và chạy:
# Biên dịch
g++ hello.cpp -o hello
# Chạy (Windows)
hello.exe
# Chạy (Linux/Mac)
./helloKết quả:
Hello World!Chương trình Hello World nâng cao
#include <iostream>
#include <string>
using namespace std;
int main() {
// In ra thông báo chào mừng
cout << "==================================" << endl;
cout << " CHÀO MỪNG ĐẾN VỚI C++!" << endl;
cout << "==================================" << endl;
// Lấy tên người dùng
string ten;
cout << "Xin chào! Bạn tên là gì? ";
getline(cin, ten);
// Chào mừng cá nhân
cout << endl;
cout << "Xin chào, " << ten << "!" << endl;
cout << "Chào mừng bạn đến với thế giới lập trình C++!" << endl;
cout << "Hãy cùng nhau khám phá những điều thú vị!" << endl;
return 0;
}Kết quả chạy:
==================================
CHÀO MỪNG ĐẾN VỚI C++!
==================================
Xin chào! Bạn tên là gì? Nguyễn Văn A
Xin chào, Nguyễn Văn A!
Chào mừng bạn đến với thế giới lập trình C++!
Hãy cùng nhau khám phá những điều thú vị!Chương trình tính toán đơn giản
#include <iostream>
using namespace std;
int main() {
// Khai báo biến
int a, b, tong;
// Nhập dữ liệu
cout << "=== CHƯƠNG TRÌNH TÍNH TỔNG ===" << endl;
cout << "Nhập số thứ nhất: ";
cin >> a;
cout << "Nhập số thứ hai: ";
cin >> b;
// Tính toán
tong = a + b;
// Xuất kết quả
cout << endl;
cout << "Kết quả: " << a << " + " << b << " = " << tong << endl;
cout << "Cảm ơn bạn đã sử dụng chương trình!" << endl;
return 0;
}Kết quả:
=== CHƯƠNG TRÌNH TÍNH TỔNG ===
Nhập số thứ nhất: 15
Nhập số thứ hai: 25
Kết quả: 15 + 25 = 40
Cảm ơn bạn đã sử dụng chương trình!🏋️ Thực hành
Bài tập 1: Hello World cá nhân
Viết chương trình xuất ra thông tin cá nhân của bạn:
Họ tên: [Tên của bạn]
Tuổi: [Tuổi của bạn]
Sở thích: Lập trình C++
Mục tiêu: Trở thành lập trình viên giỏiBài tập 2: Chương trình chào hỏi
Viết chương trình:
- Hỏi tên người dùng
- Hỏi tuổi người dùng
- In ra lời chào mừng với thông tin vừa nhập
Bài tập 3: Máy tính đơn giản
Viết chương trình thực hiện phép tính cơ bản:
- Nhập 2 số
- Tính và hiển thị: tổng, hiệu, tích, thương
- Định dạng đẹp cho kết quả
Bài tập 4: Debugging
Tìm và sửa lỗi trong chương trình sau:
#include iostream
using namespace std
int main()
cout << "Hello World!" << endl
return 0;Lời giải chi tiết
Bài tập 1:
#include <iostream>
using namespace std;
int main() {
cout << "Họ tên: Nguyễn Văn A" << endl;
cout << "Tuổi: 20" << endl;
cout << "Sở thích: Lập trình C++" << endl;
cout << "Mục tiêu: Trở thành lập trình viên giỏi" << endl;
return 0;
}Bài tập 2:
#include <iostream>
#include <string>
using namespace std;
int main() {
string ten;
int tuoi;
cout << "Tên của bạn: ";
getline(cin, ten);
cout << "Tuổi của bạn: ";
cin >> tuoi;
cout << "\nXin chào " << ten << "!" << endl;
cout << "Bạn " << tuoi << " tuổi thật tuyệt vời!" << endl;
return 0;
}Bài tập 3:
#include <iostream>
using namespace std;
int main() {
double a, b;
cout << "Nhập số thứ nhất: ";
cin >> a;
cout << "Nhập số thứ hai: ";
cin >> b;
cout << "\n=== KẾT QUẢ ===" << endl;
cout << a << " + " << b << " = " << (a + b) << endl;
cout << a << " - " << b << " = " << (a - b) << endl;
cout << a << " * " << b << " = " << (a * b) << endl;
if (b != 0) {
cout << a << " / " << b << " = " << (a / b) << endl;
} else {
cout << "Không thể chia cho 0!" << endl;
}
return 0;
}Bài tập 4 - Các lỗi và cách sửa:
#include <iostream> // Thiếu < >
using namespace std; // Thiếu dấu ;
int main() { // Thiếu {
cout << "Hello World!" << endl; // Thiếu dấu ;
return 0;
} // Thiếu }📋 Tóm tắt
🎯 Những gì đã học
- Cấu trúc chương trình C++: #include, using namespace, main function
- Hàm main(): Entry point của chương trình, bắt buộc phải có
- Input/Output: cout để xuất, cin để nhập dữ liệu
- Quy trình phát triển: Viết code → Biên dịch → Chạy chương trình
🔧 Các thành phần cốt lõi
#include <iostream>: Thư viện input/outputusing namespace std;: Sử dụng namespace chuẩnint main() { ... }: Hàm main với return type intcout << "text": Xuất text ra consolereturn 0;: Kết thúc chương trình thành công
🚀 Chuẩn bị cho bước tiếp theo
Bài học tiếp theo sẽ tìm hiểu về cú pháp cơ bản của C++ bao gồm comments, statements, và các quy tắc viết code. Đảm bảo bạn đã:
- [x] Viết và chạy thành công chương trình Hello World
- [x] Hiểu được cấu trúc cơ bản của chương trình C++
- [x] Biết cách sử dụng cout để xuất dữ liệu
- [x] Hiểu vai trò của hàm main()
💡 Lời khuyên quan trọng
"Đừng chỉ copy-paste code! Hãy gõ tay từng dòng để làm quen với cú pháp và phát hiện lỗi sớm."
🎉 Chúc mừng!
Bạn đã chính thức trở thành một C++ programmer! Từ chương trình Hello World đơn giản này, chúng ta sẽ xây dựng những ứng dụng phức tạp và thú vị hơn trong các bài học tiếp theo.
Chuyển sang: Cú pháp cơ bản để tìm hiểu về comments, statements và các quy tắc viết code C++!