
1
TRƯỜNG CAO ĐẲNG CƠ ĐIỆN HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
GIÁO TRÌNH
LẬP TRÌNH CĂN BẢN
(Lưu hành nội bộ)
Hà Nội năm 2024

2
Mục lục
Chương 1. Thuật toán ............................................................................................ 5
1. Ví dụ ............................................................................................................... 5
2. Khái niệm ........................................................................................................ 5
3. Các đặc trưng của thuật toán ......................................................................... 6
4. Phương pháp biểu diễn .................................................................................. 6
Bài tập luyện .......................................................................................................... 9
Chương 2. Giới thiệu ngôn ngữ lập trình C++ ..................................................... 10
1. Lịch sử hình thành ........................................................................................ 10
2. Đặc điểm ....................................................................................................... 11
3. Cấu trúc của một chương trình C++ ............................................................. 13
4. Một số ví dụ mẫu .......................................................................................... 14
5. Cài đặt chương trình ..................................................................................... 16
7. Soạn thảo chương trình ................................................................................ 19
8. Thoát khỏi chương trình ............................................................................... 20
Chương 3. Các thành phần và các kiểu dữ liệu cơ bản ...................................... 21
1. Các thành phần ............................................................................................ 21
2. Các kiểu dữ liệu căn bản .............................................................................. 21
3. Hằng ............................................................................................................. 22
3.1. Khái niệm ............................................................................................... 22
3.2. Định nghĩa hằng ..................................................................................... 22
4. Các phép toán của C++ ................................................................................ 23
5. Xuất nhập dữ liệu ......................................................................................... 24
5.1. Xuất dữ liệu (cout) .................................................................................. 24
5.2. Nhập dữ liệu (cin) ................................................................................... 26
Chương 4. Các cấu trúc điều khiển ..................................................................... 26
1. Lệnh đơn và lệnh phức ................................................................................. 26
1.1. Lệnh đơn ................................................................................................ 26
1.2. Lệnh phức hay khối lệnh ........................................................................ 27
2. Cấu trúc điều kiện if..else ............................................................................. 27
2.1. Dạng khuyết ........................................................................................... 27
2.2. Dạng đầy đủ ........................................................................................... 28
3. Cấu trúc lựa chọn: switch..case.................................................................... 30
4. Các cấu trúc lặp ............................................................................................ 33
4.1. Cấu trúc lặp while ................................................................................... 33
4.2. Cấu trúc lặp do..while ............................................................................. 35
4.3. Cấu trúc lặp for ....................................................................................... 37
5. Câu lệnh break, continue, goto và hàm exit ................................................. 39
5.1. Câu lệnh break ....................................................................................... 39
5.2. Câu lệnh continue .................................................................................. 40
5.3. Câu lệnh goto ......................................................................................... 40
5.4. Hàm exit ................................................................................................. 41
Chương 5. Hàm ................................................................................................... 41
1. Khái niệm ...................................................................................................... 41
2. Khai báo hàm ................................................................................................ 41

3
2.1. Cú pháp khai báo nguyên mẫu hàm ...................................................... 41
2.2. Định nghĩa hàm ...................................................................................... 42
3. Kết quả trả về của hàm – Lệnh return .......................................................... 43
4. Lời gọi hàm và Cách truyền tham số cho hàm ............................................. 44
5. Đệ qui ........................................................................................................... 44
5.1. Khái niệm ............................................................................................... 44
5.2. Ví dụ ....................................................................................................... 44
Bài tập luyện: ....................................................................................................... 45
Chương 6. Mảng .................................................................................................. 46
1. Khái niệm ...................................................................................................... 46
2. Khai báo mảng .............................................................................................. 46
2.1. Khai báo mảng ....................................................................................... 46
2.2. Truy xuất đến các phần tử của mảng..................................................... 47
3. Khởi tạo mảng .............................................................................................. 47
4. Dùng mảng làm tham số ............................................................................... 49
5. Với mảng hai chiều ....................................................................................... 51
5.1. Định nghĩa .............................................................................................. 51
5.2. Truy xuất các phần tử mảng hai chiều ................................................... 52
5.3. Khởi tạo giá trị mảng hai chiều ............................................................... 52
5.4. Ví dụ ....................................................................................................... 53
Bài tập luyện ........................................................................................................ 54
Chương 7. Con trỏ ............................................................................................... 55
1. Khái niệm ...................................................................................................... 55
2. Toán tử lấy địa chỉ (&) .................................................................................. 55
3. Toán tử tham chiếu (*) .................................................................................. 56
4. Khai báo biến kiểu con trỏ. ........................................................................... 56
5. Các phép toán .............................................................................................. 57
5.1. Phép gán ............................................................................................... 57
5.2. Phép tăng giảm địa chỉ .......................................................................... 57
5.3. Phép truy nhập bộ nhớ .......................................................................... 58
5.4. Phép so sánh ........................................................................................ 58
6. Con trỏ hằng ................................................................................................. 58
7. Con trỏ mảng ................................................................................................ 59
8. Khởi tạo con trỏ ............................................................................................ 60
9. Con trỏ trỏ tới con trỏ .................................................................................... 61
10. Con trỏ không kiểu ...................................................................................... 62
11. Con trỏ hàm ................................................................................................ 63
Chương 8. Cấu trúc ............................................................................................. 64
1. Khái niệm cấu trúc ........................................................................................ 64
2. Khai báo cấu trúc .......................................................................................... 64
2.1. Kiểu cấu trúc .......................................................................................... 64
2.2. Khai báo thành phần (biến, mảng) kiểu cấu trúc ................................... 66
3. Truy cập đến các thành phần của cấu trúc .................................................. 67
4. Ví dụ cấu trúc ................................................................................................ 67
Bài tập luyện: ....................................................................................................... 70

4
Chương 9. File ..................................................................................................... 72
1. Khái niệm File ............................................................................................... 72
2. Tạo file đọc file .............................................................................................. 73
2.1. Khai báo con trỏ trỏ đến tập tin .............................................................. 73
2.2. Mở tập tin ............................................................................................... 73
2.3. Các kiểu xử lý tệp thông dụng ................................................................ 74
2.4. Đóng tập tin ............................................................................................ 75
2.5. Kiểm tra đến cuối tập tin hay chưa......................................................... 75
2.6. Các xử lý trên tập tin .............................................................................. 75
2.7. Truy cập đến tập tin văn bản (text) ......................................................... 76
3. Tạo file nhị phân ........................................................................................... 79
4. Đọc file nhị phân ........................................................................................... 80
4.1. Ghi dữ liệu lên tệp nhị phân ................................................................... 80
4.2. Đọc dữ liệu từ tập tin nhị phân - Hàm fread() ........................................ 80
4.3. Di chuyển con trỏ tập tin - Hàm fseek() .................................................. 80
Bài tập luyện ........................................................................................................ 82
Tài liệu tham khảo ................................................................................................ 86

5
Chương 1. Thuật toán
1. Ví dụ
+ Thuật toán giải phương trình bậc 1, giải phương trình bậc 2.
+ Thuật toán tìm số lớn nhất trong 3 số a, b, c.
+ Thuật toán tính trung bình cộng của 4 số a, b, c, d.
+ Thuật toán tìm đường đi ngắn nhất.
…
2. Khái niệm
Thuật ngữ thuật toán (Algorithm) là từ viết tắt của tên một nhà toán học ở
thế kỷ IX: Abu Ja’fa Mohammed ibn Musa al-Khowarizmi. Đầu tiên, thuật toán được
hiểu như là các quy tắc thực hiện các phép toán số học với các con số được viết
trong hệ thập phân. Cùng với sự phát triển của máy tính, khái niệm thuật toán
được hiểu theo nghĩa rộng hơn. Một định nghĩa hình thức về thuật toán được nhà
toán học người Anh là Alanh Turing đưa ra vào năm 1936 thông quá máy Turing.
Có thể nói lý thuyết thuật toán được hình thành từ đó.
Lý thuyết thuật toán liên quan đến vấn đề sau:
+ Giải được bằng thuật toán: Thay những thuật toán chưa tốt bằng những
thuật toán tốt hơn.
+ Triển khai thuật toán: Xây dựng những ngôn ngữ thực hiện trên máy tính
để mã hóa thuật toán.
Vậy, Thuật toán là một dãy hữu hạn các thao tác được bố trí theo một trình
tự xác định, được đề ra trước, nhằm giải quyết một bài toán nhất định.
Thao tác hay còn gọi là tác vụ, phép toán (Operation) hay lệnh (Command),
chỉ thị (Instruction)… là một hành động cần được thực hiện bởi cơ chế thực hiện
thuật toán.
Mỗi thao tác biến đổi bài toán từ một trạng thái trước (hay trạng thái nhập)
sang trạng thái sau (hay trạng thái xuất). Thực tế mỗi thao tác thường sử dụng
một số đối tượng trong trạng thái nhập (các đối tượng nhập) và sản sinh ra các đối
tượng mới trong trạng thái xuất (các đối tượng xuất). Quan hệ giữa 2 trạng thái
xuất và nhập cho thấy tác động của thao tác. Dãy các thao tác của thuật toán nối
tiếp nhau nhằm biến đổi bài toán từ trạng thái ban đầu đến trạng thái kết quả.
Mỗi thao tác có thể phân tích thành các thao tác đơn giản hơn.

