
BỘ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI
TRƯỜNG CAO ĐẲNG KỸ THUẬT CÔNG NGHỆ HÒA BÌNH
----------
GIÁO TRÌNH
CƠ SỞ LẬP TRÌNH
Hà Nội, năm 2023

Giáo trình Cơ sở lập trình.
2 | P a g e
Mục lục
Chương 1. Thuật toán ...................................................................................................... 6
1. Ví dụ ......................................................................................................................... 6
2. Khái niệm ................................................................................................................. 6
3. Các đặc trưng của thuật toán .................................................................................... 7
4. Phương pháp biểu diễn ............................................................................................. 7
Bài tập luyện .................................................................................................................. 10
Chương 2. Giới thiệu ngôn ngữ lập trình C++ .............................................................. 12
1. Lịch sử hình thành .................................................................................................. 12
2. Đặc điểm ................................................................................................................ 13
3. Cấu trúc của một chương trình C++ ...................................................................... 14
4. Một số ví dụ mẫu.................................................................................................... 16
5. Cài đặt chương trình ............................................................................................... 18
7. Soạn thảo chương trình .......................................................................................... 22
8. Thoát khỏi chương trình ......................................................................................... 22
Chương 3. Các thành phần và các kiểu dữ liệu cơ bản ................................................. 23
1. Các thành phần ....................................................................................................... 23
2. Các kiểu dữ liệu căn bản ........................................................................................ 23
3. Hằng ....................................................................................................................... 24
3.1. Khái niệm ......................................................................................................... 24
3.2. Định nghĩa hằng ............................................................................................... 25
4. Các phép toán của C++ .......................................................................................... 25
5. Xuất nhập dữ liệu ................................................................................................... 27
5.1. Xuất dữ liệu (cout) ........................................................................................... 27
5.2. Nhập dữ liệu (cin) ............................................................................................ 28
Chương 4. Các cấu trúc điều khiển ............................................................................... 30
1. Lệnh đơn và lệnh phức ........................................................................................... 30
1.1. Lệnh đơn .......................................................................................................... 30
1.2. Lệnh phức hay khối lệnh ................................................................................. 30
2. Cấu trúc điều kiện if..else ....................................................................................... 31
2.1. Dạng khuyết ..................................................................................................... 31
2.2. Dạng đầy đủ ..................................................................................................... 31
3. Cấu trúc lựa chọn: switch..case .............................................................................. 34
4. Các cấu trúc lặp ...................................................................................................... 37

Giáo trình Cơ sở lập trình.
3 | P a g e
4.1. Cấu trúc lặp while ............................................................................................ 37
4.2. Cấu trúc lặp do..while ...................................................................................... 41
4.3. Cấu trúc lặp for ................................................................................................ 43
5. Câu lệnh break, continue, goto và hàm exit ........................................................... 45
5.1. Câu lệnh break ................................................................................................. 45
5.2. Câu lệnh continue ............................................................................................ 46
5.3. Câu lệnh goto ................................................................................................... 47
5.4. Hàm exit ........................................................................................................... 47
Chương 5. Hàm ............................................................................................................. 49
1. Khái niệm ............................................................................................................... 49
2. Khai báo hàm ......................................................................................................... 49
2.1. Cú pháp khai báo nguyên mẫu hàm ................................................................. 49
2.2. Định nghĩa hàm ................................................................................................ 49
3. Kết quả trả về của hàm – Lệnh return .................................................................... 50
4. Lời gọi hàm và Cách truyền tham số cho hàm....................................................... 51
5. Đệ qui ..................................................................................................................... 52
5.1. Khái niệm ......................................................................................................... 52
5.2. Ví dụ ................................................................................................................ 52
Bài tập luyện: ................................................................................................................. 53
Chương 6. Mảng ............................................................................................................ 55
1. Khái niệm ............................................................................................................... 55
2. Khai báo mảng ....................................................................................................... 55
2.1. Khai báo mảng ................................................................................................. 55
2.2. Truy xuất đến các phần tử của mảng ............................................................... 55
3. Khởi tạo mảng ........................................................................................................ 56
4. Dùng mảng làm tham số ........................................................................................ 59
5. Với mảng hai chiều ................................................................................................ 62
5.1. Định nghĩa........................................................................................................ 62
5.2. Truy xuất các phần tử mảng hai chiều ............................................................. 62
5.3. Khởi tạo giá trị mảng hai chiều ....................................................................... 62
5.4. Ví dụ ................................................................................................................ 64
Bài tập luyện .................................................................................................................. 65
Chương 7. Con trỏ ......................................................................................................... 67
1. Khái niệm ............................................................................................................... 67

Giáo trình Cơ sở lập trình.
4 | P a g e
2. Toán tử lấy địa chỉ (&) ........................................................................................... 67
3. Toán tử tham chiếu (*) ........................................................................................... 68
4. Khai báo biến kiểu con trỏ. .................................................................................... 68
5. Các phép toán ......................................................................................................... 69
5.1. Phép gán .......................................................................................................... 69
5.2. Phép tăng giảm địa chỉ .................................................................................... 69
5.3. Phép truy nhập bộ nhớ .................................................................................... 70
5.4. Phép so sánh.................................................................................................... 70
6. Con trỏ hằng ........................................................................................................... 70
7. Con trỏ mảng .......................................................................................................... 71
8. Khởi tạo con trỏ...................................................................................................... 72
9. Con trỏ trỏ tới con trỏ ............................................................................................. 74
10. Con trỏ không kiểu ............................................................................................... 74
11. Con trỏ hàm .......................................................................................................... 76
Chương 8. Cấu trúc ........................................................................................................ 78
1. Khái niệm cấu trúc ................................................................................................. 78
2. Khai báo cấu trúc ................................................................................................... 78
2.1. Kiểu cấu trúc .................................................................................................... 78
2.2. Khai báo thành phần (biến, mảng) kiểu cấu trúc ............................................. 81
3. Truy cập đến các thành phần của cấu trúc ............................................................. 81
4. Ví dụ cấu trúc ......................................................................................................... 82
Bài tập luyện: ................................................................................................................. 86
Chương 9. File ............................................................................................................... 88
1. Khái niệm File ........................................................................................................ 88
2. Tạo file đọc file ...................................................................................................... 88
2.1. Khai báo con trỏ trỏ đến tập tin ....................................................................... 89
2.2. Mở tập tin ......................................................................................................... 89
2.3. Các kiểu xử lý tệp thông dụng ......................................................................... 90
2.4. Đóng tập tin ..................................................................................................... 91
2.5. Kiểm tra đến cuối tập tin hay chưa .................................................................. 91
2.6. Các xử lý trên tập tin........................................................................................ 91
2.7. Truy cập đến tập tin văn bản (text) .................................................................. 92
3. Tạo file nhị phân .................................................................................................... 96
4. Đọc file nhị phân .................................................................................................... 97

Giáo trình Cơ sở lập trình.
5 | P a g e
4.1. Ghi dữ liệu lên tệp nhị phân ............................................................................ 97
4.2. Đọc dữ liệu từ tập tin nhị phân - Hàm fread() ................................................. 97
4.3. Di chuyển con trỏ tập tin - Hàm fseek() .......................................................... 98
Bài tập luyện .................................................................................................................. 99
Tài liệu tham khảo ....................................................................................................... 105

