
Buổi 1: Nhập Môn C++¶
I. Lý Thuyết¶
1. C++ là gì?¶
C++ là ngôn ngữ lập trình đa năng, biên dịch được phát triển bởi Bjarne Stroustrup vào những năm 1980, dựa trên ngôn ngữ C. C++ được sử dụng rộng rãi trong:
- Lập trình thi đấu (Competitive Programming)
- Phát triển phần mềm hệ thống, game
- Ứng dụng yêu cầu hiệu năng cao
2. Cấu Trúc Một Chương Trình C++ Đơn Giản¶
#include <iostream> // (1) Thư viện chuẩn để dùng cout, cin
using namespace std; // (2) Sử dụng không gian tên std
int main() { // (3) Hàm chính – điểm bắt đầu của chương trình
cout << "Hello, World!" << endl; // (4) In ra màn hình
return 0; // (5) Kết thúc chương trình, trả về 0 = thành công
}

| Dòng | Ý nghĩa |
|---|---|
#include <iostream> |
Nạp thư viện nhập/xuất chuẩn |
using namespace std; |
Dùng không gian tên std để không phải viết std::cout |
int main() |
Hàm main – mọi chương trình C++ đều bắt đầu từ đây |
cout << ... |
In dữ liệu ra màn hình |
endl |
Xuống dòng (tương đương \n) |
return 0; |
Kết thúc hàm main, trả về 0 báo hiệu thành công |
3. Cách In Ra Màn Hình với cout¶
cout << "Nội dung cần in"; // In không xuống dòng
cout << "Dòng 1" << endl; // In và xuống dòng
cout << "Dòng 2" << "\n"; // In và xuống dòng (cách khác)
cout << "Tên: " << "An" << endl; // Nối nhiều giá trị bằng <<
4. Comment (Ghi chú) Trong Code¶
// Đây là comment một dòng
/*
Đây là comment
nhiều dòng
*/
int main() {
// Dòng này sẽ không được thực thi
cout << "Hello!" << endl; // comment cuối dòng
return 0;
}
5. Công Cụ Cần Cài Đặt¶
| Công cụ | Mục đích | Link |
|---|---|---|
| VS Code | Soạn thảo code | code.visualstudio.com |
| MinGW-w64 (Windows) | Trình biên dịch C++ (g++) | winlibs.com |
| Xcode CLT (macOS) | Trình biên dịch C++ (g++/clang++) | Cài qua Terminal |
| Extension C/C++ | Hỗ trợ C++ trong VS Code | Cài trong VS Code Extensions |

Bước 1: Cài VS Code
- Truy cập code.visualstudio.com → tải bản Windows
- Chạy file
.exevừa tải → bấm Next → Install - Tick chọn "Add to PATH" trong quá trình cài
Bước 2: Cài MinGW-w64 (trình biên dịch C++)
- Truy cập winlibs.com → tải bản GCC for Windows (UCRT runtime, 64-bit, Zip)
- Giải nén file
.zip→ đổi tên thư mục thànhmingw64 - Di chuyển thư mục
mingw64vào ổC:\→ đường dẫn:C:\mingw64 - Thêm vào PATH:
- Nhấn
Windows + S→ tìm "Edit the system environment variables" - Bấm Environment Variables → chọn Path → Edit
- Bấm New → nhập
C:\mingw64\bin→ OK
- Nhấn
Bước 3: Cài Extension C/C++ trong VS Code
- Mở VS Code → nhấn
Ctrl + Shift + X - Tìm "C/C++" (nhà xuất bản: Microsoft) → Install
- Tìm tiếp "Code Runner" → Install (để chạy code nhanh bằng nút ▶)
Bước 1: Cài Xcode Command Line Tools (trình biên dịch C++)
Mở Terminal (Spotlight → gõ Terminal) và chạy lệnh:
Một hộp thoại sẽ xuất hiện → bấm Install → chờ khoảng 5–10 phút.
Bước 2: Cài VS Code
- Truy cập code.visualstudio.com → tải bản macOS
- Giải nén file
.zip→ kéoVisual Studio Code.appvào thư mục Applications - Mở VS Code → nhấn
Cmd + Shift + P→ gõshell command→ chọn "Install 'code' command in PATH"
Bước 3: Cài Extension C/C++ trong VS Code
- Mở VS Code → nhấn
Cmd + Shift + X - Tìm "C/C++" (nhà xuất bản: Microsoft) → Install
- Tìm tiếp "Code Runner" → Install
6. Kiểm Tra Cài Đặt¶
Sau khi cài xong, mở Terminal (macOS) hoặc Command Prompt / PowerShell (Windows) và chạy các lệnh sau:
Nếu Terminal báo lỗi "command not found": kiểm tra lại bước thêm PATH (Windows) hoặc cài lại Xcode CLT (macOS).
Kiểm tra bằng chương trình thực tế:
- Tạo file
hello.cppvới nội dung:
#include <iostream>
using namespace std;
int main() {
cout << "Cai dat thanh cong!" << endl;
return 0;
}
- Biên dịch và chạy:
- Nếu màn hình hiện
Cai dat thanh cong!→ cài đặt thành công!
Cách biên dịch và chạy chương trình (tổng quát):
g++ -o ten_chuong_trinh ten_file.cpp # Biên dịch
./ten_chuong_trinh # Chạy (macOS)
ten_chuong_trinh.exe # Chạy (Windows)
II. Ví Dụ Minh Họa¶
Ví dụ 1: Chương trình Hello World¶
Ví dụ 2: In thông tin cá nhân¶
#include <iostream>
using namespace std;
int main() {
cout << "=== THONG TIN HOC SINH ===" << endl;
cout << "Ten: Nguyen Van An" << endl;
cout << "Lop: 10A1" << endl;
cout << "Truong: THPT Nguyen Du" << endl;
return 0;
}
Ví dụ 3: In nhiều dòng với ký tự đặc biệt¶
#include <iostream>
using namespace std;
int main() {
cout << "Chao mung den voi C++!" << endl;
cout << "Day la dong thu 2" << endl;
cout << "Tab:\tSau tab" << endl; // \t = tab
cout << "Ngoac kep: \"Hello\"" << endl; // \" = dấu "
return 0;
}
III. Bài Tập Thực Hành Tại Lớp¶
Bài 1: In tên của bạn¶
Đề bài: Viết chương trình in ra tên đầy đủ của bạn.
Phân tích đề
Yêu cầu: Dùng cout để in một chuỗi ký tự ra màn hình.
Output mẫu:
Gợi ý code
Bài 2: In thông tin học sinh¶
Đề bài: Viết chương trình in ra thông tin cá nhân gồm: họ tên, lớp, trường, môn học yêu thích.
Phân tích đề
Yêu cầu: In nhiều dòng thông tin, mỗi dòng một trường thông tin.
Output mẫu:
Gợi ý code
Bài 3: Vẽ khung bằng dấu *¶
Đề bài: Viết chương trình in ra hình chữ nhật bằng dấu * như sau:
Phân tích đề
Yêu cầu: Dùng nhiều lệnh cout để vẽ từng dòng của hình chữ nhật.
Gợi ý code
Bài 4: In bảng thời khóa biểu¶
Đề bài: Viết chương trình in ra thời khóa biểu của một ngày học (tự thiết kế theo lịch thực tế của bạn).
Phân tích đề
Các bước thực hiện:
- Xác định tên ngày và số tiết cần in
- In dòng tiêu đề dạng
===== THOI KHOA BIEU - THU N ===== - In từng tiết học theo định dạng:
Tiet X-Y: Ten mon - In dòng kẻ cuối để đóng khung
Output mẫu:
Gợi ý code
IV. Bài Tập Về Nhà¶
Bài 1: Thiệp chào mừng¶
Đề bài: Viết chương trình in ra thiệp chào mừng sinh nhật cho một người bạn. Thiệp phải có khung trang trí bằng dấu * hoặc -, tên người nhận và lời chúc.
Phân tích đề
Các bước thực hiện:
- Xác định chiều rộng của thiệp (ví dụ 34 ký tự)
- In dòng đầu và cuối là chuỗi
*lặp lại - Mỗi dòng nội dung bắt đầu và kết thúc bằng
*, giữa là khoảng trắng và nội dung - Căn chỉnh nội dung sao cho đều và đẹp
Output mẫu:
Bài 2: Bảng cửu chương dạng tĩnh¶
Đề bài: Viết chương trình in ra bảng cửu chương của số 2 (từ 2×1 đến 2×10) chỉ dùng cout, không dùng vòng lặp.
Phân tích đề
Các bước thực hiện:
- Viết 10 lệnh
couttương ứng với 10 dòng kết quả - Mỗi dòng theo định dạng:
2 x N = KQ - Tự tính nhẩm kết quả từng dòng (hoặc để C++ tính:
cout << 2*1)
Output mẫu:
Bài 3: Menu nhà hàng¶
Đề bài: Viết chương trình in ra menu của một nhà hàng với ít nhất 5 món ăn, có tên món và giá tiền. Thiết kế menu trông đẹp và có tiêu đề.
Phân tích đề
Các bước thực hiện:
- In dòng trang trí đầu (chuỗi
=hoặc-) - In tên nhà hàng ở giữa (căn chỉnh bằng khoảng trắng)
- In dòng trang trí thứ hai
- In từng món ăn theo định dạng:
STT. Ten mon GIA VND - In dòng trang trí cuối để đóng khung
Output mẫu:
Bài 4: Giới thiệu bản thân bằng tiếng Anh¶
Đề bài: Viết chương trình in ra đoạn giới thiệu bản thân bằng tiếng Anh, gồm ít nhất 5 thông tin (tên, tuổi, trường, sở thích, ước mơ).
Phân tích đề
Các bước thực hiện:
- Lên kế hoạch trước: viết ra 5 thông tin cần in
- Mỗi thông tin dùng một lệnh
coutriêng - Có thể thêm dòng tiêu đề và đường kẻ trang trí để trông chuyên nghiệp
Output mẫu:
V. Ghi Chú Quan Trọng¶
Lỗi hay gặp¶
| Lỗi | Nguyên nhân | Cách sửa |
|---|---|---|
'cout' was not declared |
Thiếu #include <iostream> |
Thêm dòng #include <iostream> |
expected ';' |
Quên dấu ; cuối câu lệnh |
Thêm ; sau mỗi câu lệnh |
undefined reference to 'main' |
Thiếu hàm main |
Thêm hàm int main() { } |
| Chương trình biên dịch được nhưng không chạy | Thiếu return 0; hoặc lỗi logic |
Kiểm tra lại toàn bộ code |
Quy tắc viết code chuẩn¶
- Mỗi câu lệnh kết thúc bằng dấu chấm phẩy
; - Code bên trong
main()phải được thụt đầu dòng (indent) 4 dấu cách hoặc 1 tab - Tên file nên đặt không dấu, không khoảng trắng (ví dụ:
bai1.cpp) - Dùng comment để giải thích những đoạn code phức tạp
Ký tự đặc biệt trong chuỗi¶
| Ký tự | Ý nghĩa |
|---|---|
\n |
Xuống dòng |
\t |
Tab (căn lề) |
\\ |
In dấu \ |
\" |
In dấu ngoặc kép " |
VI. Ôn Tập Trắc Nghiệm¶
Kiểm tra kiến thức buổi học qua 15 câu trắc nghiệm: