Bài giảng Ngôn ngữ lập trình C/C++ - Phạm Hồng Thái (Full)
MỤC LỤC
Chương 1. CÁC KHÁI NIỆM CƠ BẢN CỦA C++
I. CÁC YẾU TỐ CƠ BẢN .1
1. Bảng ký tự của C++ . 1
2. Từ khoá . 2
3. Tên gọi. 2
4. Chú thích trong chương trình . 3
II. MÔI TRƯỜNG LÀM VIỆC CỦA C++ .3
1. Khởi động - Thoát khỏi C++. 3
2. Giao diện và cửa sổ soạn thảo. 4
3. Cấu trúc một chương trình trong C++. 7
III. CÁC BƯỚC ĐỂ TẠO VÀ THỰC HIỆN MỘT CHƯƠNG TRÌNH.8
1. Qui trình viết và thực hiện chương trình. 8
2. Soạn thảo tệp chương trình nguồn . 8
3. Dịch chương trình . 9
4. Chạy chương trình. 9
IV. VÀO/RA TRONG C++ .9
1. Vào dữ liệu từ bàn phím. 9
2. In dữ liệu ra màn hình . 10
3. Định dạng thông tin cần in ra màn hình. 12
4. Vào/ra trong C. 14
Chương 2. KIỂU DỮ LIỆU, BIỂU THỨC VÀ CÂU LỆNH
I. KIỂU DỮ LIỆU ĐƠN GIẢN.20
1. Khái niệm về kiểu dữ liệu . 20
2. Kiểu ký tự. 21
3. Kiểu số nguyên. 22
4. Kiểu số thực . 22
II. HẰNG - KHAI BÁO VÀ SỬ DỤNG HẰNG .23
1. Hằng nguyên . 23
2. Hằng thực . 23
3. Hằng kí tự. 24
3004. Hằng xâu kí tự . 25
5. Khai báo hằng. 26
III. BIẾN - KHAI BÁO VÀ SỬ DỤNG BIẾN .27
1. Khai báo biến . 27
2. Phạm vi của biến . 28
3. Gán giá trị cho biến (phép gán). 28
4. Một số điểm lưu ý về phép gán . 29
IV. PHÉP TOÁN, BIỂU THỨC VÀ CÂU LỆNH.30
5. Phép toán. 30
6. Các phép gán . 32
7. Biểu thức . 33
8. Câu lệnh và khối lệnh. 37
V. THƯ VIỆN CÁC HÀM TOÁN HỌC .38
1. Các hàm số học . 38
2. Các hàm lượng giác. 38
Chương 3. CẤU TRÚC ĐIỀU KHIỂN VÀ DỮ LIỆU KIỂU MẢNG
I. CẤU TRÚC RẼ NHÁNH .41
1. Câu lệnh điều kiện if . 41
2. Câu lệnh lựa chọn switch . 43
3. Câu lệnh nhảy goto. 45
II. CẤU TRÚC LẶP .47
1. Lệnh lặp for . 47
2. Lệnh lặp while. 51
3. Lệnh lặp do . while. 55
4. Lối ra của vòng lặp: break, continue. 57
5. So sánh cách dùng các câu lệnh lặp . 58
III. MẢNG DỮ LIỆU .59
1. Mảng một chiều. 59
2. Xâu kí tự. 63
IV. MẢNG HAI CHIỀU.73
301Chương 4. HÀM VÀ CHƯƠNG TRÌNH
I. CON TRỎ VÀ SỐ HỌC ĐỊA CHỈ.83
1. Địa chỉ, phép toán & . 83
2. Con trỏ. 84
3. Các phép toán với con trỏ. 86
4. Cấp phát động, toán tử cấp phát, thu hồi new, delete. 88
5. Con trỏ và mảng, xâu kí tự. 90
6. Mảng con trỏ . 94
II. HÀM.95
1. Khai báo và định nghĩa hàm. 95
2. Lời gọi và sử dụng hàm. 98
3. Hàm với đối mặc định. 100
4. Khai báo hàm trùng tên . 101
5. Biến, đối tham chiếu. 102
6. Các cách truyền tham đối. 104
7. Hàm và mảng dữ liệu . 109
8. Con trỏ hàm. 119
III. ĐỆ QUI.123
1. Khái niệm đệ qui . 123
2. Lớp các bài toán giải được bằng đệ qui . 124
3. Cấu trúc chung của hàm đệ qui . 125
4. Các ví dụ. 125
IV. TỔ CHỨC CHƯƠNG TRÌNH.127
1. Các loại biến và phạm vi. 127
2. Biến với mục đích đặc biệt. 132
3. Các chỉ thị tiền xử lý . 135
Chương 5. DỮ LIỆU KIỂU CẤU TRÚC VÀ HỢP
I. KIỂU CẤU TRÚC.145
1. Khai báo, khởi tạo . 145
2. Truy nhập các thành phần kiểu cấu trúc. 147
3. Phép toán gán cấu trúc . 148
4. Các ví dụ minh hoạ. 150
5. Hàm với cấu trúc . 152
6. Cấu trúc với thành phần kiểu bit . 164
3027. Câu lệnh typedef. 165
8. Hàm sizeof(). 166
II. CẤU TRÚC TỰ TRỎ VÀ DANH SÁCH LIÊN KẾT.166
1. Cấu trúc tự trỏ . 167
2. Khái niệm danh sách liên kết . 169
3. Các phép toán trên danh sách liên kết . 170
III. KIỂU HỢP .176
1. Khai báo . 176
2. Truy cập. 176
IV. KIỂU LIỆT KÊ.177
Chương 6. ĐỒ HỌA VÀ ÂM THANH
I. ĐỒ HOẠ.184
1. Khái niệm đồ hoạ . 184
2. Vào/ra chế độ đồ hoạ. 185
3. Vẽ điểm, đường, khối, màu sắc. 188
4. Viết văn bản trong màn hình đồ họa . 195
5. Chuyển động . 197
6. Vẽ đồ thị của các hàm toán học. 200
II. ÂM THANH.207
Chương 7. LỚP VÀ ĐỐI TƯỢNG
I. LẬP TRÌNH CẤU TRÚC VÀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG.212
1. Phương pháp lập trình cấu trúc . 212
2. Phương pháp lập trình hướng đối tượng . 214
II. LỚP VÀ ĐỐI TƯỢNG .216
1. Khai báo lớp . 217
2. Khai báo các thành phần của lớp (thuộc tính và phương thức) . 217
3. Biến, mảng và con trỏ đối tượng . 219
III. ĐỐI CỦA PHƯƠNG THỨC, CON TRỎ this .224
1. Con trỏ this là đối thứ nhất của phương thức . 224
2. Tham số ứng với đối con trỏ this . 225
3. Các đối khác của phương thức . 226
IV. HÀM TẠO (Constructor) .230
3031. Hàm tạo (hàm thiết lập) . 230
2. Lớp không có hàm tạo và hàm tạo mặc định . 235
3. Hàm tạo sao chép (Copy constructor) . 238
V. HÀM HỦY (Destructor) . 246
1. Hàm hủy mặc định . 246
2. Quy tắc viết hàm hủy . 246
3. Vai trò của hàm hủy trong lớp DT . 247
4. Ví dụ . 247
VI. CÁC HÀM TRỰC TUYẾN (inline) . 253
1. Ưu nhược điểm của hàm . 253
2. Các hàm trực tuyến . 253
3. Cách biên dịch và dùng hàm trực tuyến . 254
4. Sự hạn chế của trình biên dịch . 255
Chương 8. HÀM BẠN, ĐỊNH NGHĨA PHÉP TOÁN CHO LỚP
I. HÀM BẠN (friend function) . 258
1. Hàm bạn . 258
2. Tính chất của hàm bạn . 259
3. Hàm bạn của nhiều lớp . 261
II. ĐỊNH NGHĨA PHÉP TOÁN CHO LỚP . 266
1. Tên hàm toán tử . 266
2. Các đối của hàm toán tử . 266
3. Thân của hàm toán tử . 267
Chương 11. CÁC DÒNG NHẬP/XUẤT VÀ FILE
I. NHẬP/XUẤT VỚI CIN/COUT . 276
1. Toán tử nhập >> . 276
2. Các hàm nhập kí tự và xâu kí tự. 277
3. Toán tử xuất <<. 279
II. ĐỊNH DẠNG. 279
1. Các phương thức định dạng . 280
2. Các cờ định dạng. 281
3. Các bộ và hàm định dạng . 283
III. IN RA MÁY IN.283
304IV. LÀM VIỆC VỚI FILE.284
1. Tạo đối tượng gắn với file. 284
2. Đóng file và giải phóng đối tượng . 285
3. Kiểm tra sự tồn tại của file, kiểm tra hết file. 289
4. Đọc ghi đồng thời trên file . 290
5. Di chuyển con trỏ file. 290
V. NHẬP/XUẤT NHỊ PHÂN.292
1. Khái niệm về 2 loại file: văn bản và nhị phân. 292
2. Đọc, ghi kí tự. 293
3. Đọc, ghi dãy kí tự. 293
4. Đọc ghi đồng thời. 294
5 1. Khai báo, khởi tạo .............................................................................................. 145 2. Truy nhập các thành phần kiểu cấu trúc............................................................. 147 3. Phép toán gán cấu trúc ....................................................................................... 148 4. Các ví dụ minh hoạ............................................................................................. 150 5. Hàm với cấu trúc ................................................................................................ 152 6. Cấu trúc với thành phần kiểu bit ........................................................................ 164 302 7. Câu lệnh typedef................................................................................................. 165 8. Hàm sizeof() ....................................................................................................... 166 II. CẤU TRÚC TỰ TRỎ VÀ DANH SÁCH LIÊN KẾT....................................................166 1. Cấu trúc tự trỏ .................................................................................................... 167 2. Khái niệm danh sách liên kết ............................................................................. 169 3. Các phép toán trên danh sách liên kết ................................................................ 170 III. KIỂU HỢP .................................................................................................................176 1. Khai báo ............................................................................................................. 176 2. Truy cập.............................................................................................................. 176 IV. KIỂU LIỆT KÊ............................................................................................................177 Chương 6. ĐỒ HỌA VÀ ÂM THANH I. ĐỒ HOẠ.....................................................................................................................184 1. Khái niệm đồ hoạ ............................................................................................... 184 2. Vào/ra chế độ đồ hoạ.......................................................................................... 185 3. Vẽ điểm, đường, khối, màu sắc.......................................................................... 188 4. Viết văn bản trong màn hình đồ họa .................................................................. 195 5. Chuyển động ...................................................................................................... 197 6. Vẽ đồ thị của các hàm toán học.......................................................................... 200 II. ÂM THANH................................................................................................................207 Chương 7. LỚP VÀ ĐỐI TƯỢNG I. LẬP TRÌNH CẤU TRÚC VÀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG.............................212 1. Phương pháp lập trình cấu trúc .......................................................................... 212 2. Phương pháp lập trình hướng đối tượng ............................................................ 214 II. LỚP VÀ ĐỐI TƯỢNG ..............................................................................................216 1. Khai báo lớp ....................................................................................................... 217 2. Khai báo các thành phần của lớp (thuộc tính và phương thức) ......................... 217 3. Biến, mảng và con trỏ đối tượng ....................................................................... 219 III. ĐỐI CỦA PHƯƠNG THỨC, CON TRỎ this ............................................................224 1. Con trỏ this là đối thứ nhất của phương thức .................................................... 224 2. Tham số ứng với đối con trỏ this ....................................................................... 225 3. Các đối khác của phương thức .......................................................................... 226 IV. HÀM TẠO (Constructor) ..........................................................................................230 303 1. Hàm tạo (hàm thiết lập) .................................................................................... 230 2. Lớp không có hàm tạo và hàm tạo mặc định ................................................... 235 3. Hàm tạo sao chép (Copy constructor) .............................................................. 238 V. HÀM HỦY (Destructor) ........................................................................................... 246 1. Hàm hủy mặc định ............................................................................................ 246 2. Quy tắc viết hàm hủy ........................................................................................ 246 3. Vai trò của hàm hủy trong lớp DT .................................................................... 247 4. Ví dụ ................................................................................................................. 247 VI. CÁC HÀM TRỰC TUYẾN (inline) ........................................................................... 253 1. Ưu nhược điểm của hàm .................................................................................. 253 2. Các hàm trực tuyến .......................................................................................... 253 3. Cách biên dịch và dùng hàm trực tuyến ........................................................... 254 4. Sự hạn chế của trình biên dịch ......................................................................... 255 Chương 8. HÀM BẠN, ĐỊNH NGHĨA PHÉP TOÁN CHO LỚP I. HÀM BẠN (friend function) .................................................................................... 258 1. Hàm bạn ........................................................................................................... 258 2. Tính chất của hàm bạn ..................................................................................... 259 3. Hàm bạn của nhiều lớp ...................................................................................... 261 II. ĐỊNH NGHĨA PHÉP TOÁN CHO LỚP .................................................................... 266 1. Tên hàm toán tử ................................................................................................ 266 2. Các đối của hàm toán tử ................................................................................... 266 3. Thân của hàm toán tử ....................................................................................... 267 Chương 11. CÁC DÒNG NHẬP/XUẤT VÀ FILE I. NHẬP/XUẤT VỚI CIN/COUT ................................................................................... 276 1. Toán tử nhập >> ................................................................................................. 276 2. Các hàm nhập kí tự và xâu kí tự......................................................................... 277 3. Toán tử xuất << .................................................................................................. 279 II. ĐỊNH DẠNG.............................................................................................................. 279 1. Các phương thức định dạng ............................................................................... 280 2. Các cờ định dạng................................................................................................ 281 3. Các bộ và hàm định dạng ................................................................................... 283 III. IN RA MÁY IN............................................................................................................283 304 IV. LÀM VIỆC VỚI FILE..................................................................................................284 1. Tạo đối tượng gắn với file.................................................................................. 284 2. Đóng file và giải phóng đối tượng ..................................................................... 285 3. Kiểm tra sự tồn tại của file, kiểm tra hết file...................................................... 289 4. Đọc ghi đồng thời trên file ................................................................................. 290 5. Di chuyển con trỏ file......................................................................................... 290 V. NHẬP/XUẤT NHỊ PHÂN............................................................................................292 1. Khái niệm về 2 loại file: văn bản và nhị phân.................................................... 292 2. Đọc, ghi kí tự...................................................................................................... 293 3. Đọc, ghi dãy kí tự ............................................................................................... 293 4. Đọc ghi đồng thời............................................................................................... 294 305 TÀI LIỆU THAM KHẢO B.W. Kerninghan and D.M. Ritchie. The C Programming Language. Prentice- Hall, 1978. Ngô Trung Việt (dịch). Ngôn ngữ lập trình C. Viện Tin học, Hà Nội 1990. 1. 2. 3. 4. 5. 6. Peter Norton. Advanced C Programming. Nguyễn Việt Hải (dịch). Lập trình C nâng cao. Nhà xuất bản Giao thông vận tải. Hà Nội, 1995. Phạm Văn Ất. Kỹ thuật lập trình C. Cơ sở và nâng cao. Nhà xuất bản Khoa học và kỹ thuật. Hà Nội, 1996. Phạm Văn Ất. C++ và lập trình hướng đối tượng. Nhà xuất bản Khoa học và kỹ thuật. Hà Nội, 2000. Scott Robert Ladd. Nguyễn Hùng (dịch). C++ Kỹ thuật và ứng dụng. Công ty cổ phần tư vấn và dịch vụ KHKT - SCITEC, 1992. Jan Skansholm. C++ From the Beginning. Addison-Wesley, 1997. 306
File đính kèm:
- bai_giang_ngon_ngu_lap_trinh_cc_pham_hong_thai_full.pdf