Bài giảng Phương pháp lập trình (trên ngôn ngữ C)
MỤCLỤ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ÀMVIỆ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 ĐƠNGIẢ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
302
4. 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
303
Chươ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
304
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ỂULIỆ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
305
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
306
IV. LÀMVIỆ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
............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 304 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 305 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 306 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 307 TÀI LIỆU THAM KHẢO 1. 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. 2. 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. 3. 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. 4. 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. 5. 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. 6. Jan Skansholm. C++ From the Beginning. Addison-Wesley, 1997.
File đính kèm:
- Bài giảng Phương pháp lập trình (trên ngôn ngữ C).pdf