GIÁO TRÌNH - Lập trình C căn bản.pdf


BÀI 1 : NGÔN NGỮ LẬP TRÌNH & PHƯƠNG PHÁP LẬP TRÌNH ...................... 7
1.1 Mục tiêu ................. 7
1.2 Lý thuyết......................... 7
1.2.1 Ngôn ngữ lập trình (Programming Language) .......... 7
1.2.1.1 Thuật giải (Algorithm) ............. 7
1.2.1.2Chương trình (Program) .................. 7
1.2.1.3 Ngôn ngữ lập trình (Programming language) ............. 8
1.2.2Các bước lập trình ............................. 8
1.2.3 Kỹ thuật lập trình .......................... 8
1.2.3.1 I-P-O Cycle (Input-Pprocess-Output Cycle) (Quy trình nhập-xử lý-xuất) ........ 8
1.2.3.2 Sử dụng lưu đồ (Flowchart)................. 9

BÀI 2 : LÀM QUEN LẬP TRÌNH C QUA CÁC VÍ DỤ ĐƠN GIẢN ...................... 12
2.1 Mục tiêu .............................................................................................................................. 12
2.2 Nội dung.............................................................................................................................. 12
2.2.1 Khởi động và thoát BorlandC....................................................................................... 12
2.2.1.1 Khởi động ................................................................................................................ 12
2.2.1.2 Thoát........................................................................................................................ 13
2.2.2 Các ví dụ đơn giản ......................................................................................................... 13
2.2.2.1 Ví dụ 1...................................................................................................................... 13
2.2.2.2 Ví dụ 2...................................................................................................................... 15
2.2.2.3 Ví dụ 3...................................................................................................................... 16
2.2.2.4 Ví dụ 4...................................................................................................................... 16

BÀI 3 : CÁC THÀNH PHẦN TRONG NGÔN NGỮ C ......................................... 18
3.1 Mục tiêu .............................................................................................................................. 18
3.2 Nội dung.............................................................................................................................. 18
3.2.1 Từ khóa ........................................................................................................................... 18
3.2.2 Tên................................................................................................................................... 18
3.2.3 Kiểu dữ liệu .................................................................................................................... 18
3.2.4 Ghi chú............................................................................................................................ 19
3.2.5 Khai báo biến ................................................................................................................. 19
3.2.5.1 Tên biến ................................................................................................................... 19
3.2.5.2 Khai báo biến .......................................................................................................... 19
3.2.5.3 Vừa khai báo vừa khởi gán.................................................................................... 20
3.2.5.4 Phạm vi của biến..................................................................................................... 20

BÀI 4 : NHẬP / XUẤT DỮ LIỆU .......................................................................... 21
4.1 Mục tiêu .............................................................................................................................. 21
4.2 Nội dung.............................................................................................................................. 21
4.2.1 Hàm printf ...................................................................................................................... 21
4.2.2 Hàm scanf ....................................................................................................................... 24
4.3 Bài tập ................................................................................................................................. 25

BÀI 5 : CẤU TRÚC RẼ NHÁNH CÓ ĐIỀU KIỆN ................................................ 26
5.1 Mục tiêu .............................................................................................................................. 26
5.2 Nội dung.............................................................................................................................. 26
5.2.1 Lệnh và khối lệnh ........................................................................................................... 26
5.2.1.1 Lệnh ......................................................................................................................... 26
5.2.1.2 Khối lệnh ................................................................................................................. 26
5.2.2 Lệnh if ............................................................................................................................. 26
5.2.2.1 Dạng 1 (if thiếu) ...................................................................................................... 26
5.2.2.2 Dạng 2 (if đ ủ) ......................................................................................................... 30
5.2.2.3 Cấu trúc else if ........................................................................................................ 33
5.2.2.4 Cấu trúc if lồng ....................................................................................................... 37
5.2.3 Lệnh switch ..................................................................................................................... 41
5.2.3.1 Cấu trúc switch…case (switch thiếu).................................................................... 41
5.2.3.2 Cấu trúc switch…case…default (switch đủ)........................................................ 44
5.2.3.3 Cấu trúc switch lồng............................................................................................... 46
5.3 Bài tập ................................................................................................................................. 48
5.3.1 Sử dụng lệnh if ............................................................................................................... 48
5.3.2 Sử dụng lệnh switch ....................................................................................................... 49
5.4 Bài tập làm thêm................................................................................................................ 49

BÀI 6 : CẤU TRÚC VÒNG LẶP .......................................................................... 51
6.1 Mục tiêu .............................................................................................................................. 51
6.2 Nội dung.............................................................................................................................. 51
6.2.1 Lệnh for........................................................................................................................... 51
6.2.2 Lệnh break...................................................................................................................... 56
6.2.3 Lệnh continue ................................................................................................................. 56
6.2.4 Lệnh while ...................................................................................................................... 56
6.2.5 Lệnh do…while .............................................................................................................. 58
6.2.6 Vòng lặp lồng nhau ........................................................................................................ 60
6.2.7 So sánh sự khác nhau của các vòng lặp ....................................................................... 61
6.3 Bài tập ................................................................................................................................. 62

BÀI 7 : HÀM......................................................................................................... 65
7.1 Mục tiêu .............................................................................................................................. 65
7.2 Nội dung.............................................................................................................................. 65
7.2.1 Các ví dụ về hàm............................................................................................................ 65
7.2.2 Tham số dạng tham biến và tham trị ........................................................................... 68
7.2.3 Sử dụng biến toàn cục ................................................................................................... 69
7.2.4 Dùng dẫn hướng #define ............................................................................................... 71
7.3 Bài tập ................................................................................................................................. 71

BÀI 8 : MẢNG VÀ CHUỖI ................................................................................... 72
8.1 Mục tiêu .............................................................................................................................. 72
8.2 Nội dung.............................................................................................................................. 72
8.2.1 Mảng................................................................................................................................ 72
8.2.1.1 Cách khai báo mảng ............................................................................................... 72
8.2.1.2 Tham chiếu đến từng phần tử mảng .................................................................... 72
8.2.1.3 Nhập dữ liệu cho mảng .......................................................................................... 73
8.2.1.4 Đọc dữ liệu từ mảng ............................................................................................... 73
8.2.1.5 Sử dụng biến kiểu khác.......................................................................................... 74
8.2.1.6 Kỹ thuật Sentinal .................................................................................................... 74
8.2.1.7 Khởi tạo mảng......................................................................................................... 75
8.2.1.8 Khởi tạo mảng không bao hàm kích thước .......................................................... 76
8.2.1.9 Mảng nhiều chiều ................................................................................................... 76
8.2.1.10 Tham chiếu đến từng phần tử mảng 2 chiều ....................................................... 76
8.2.1.11 Nhập dữ liệu cho mảng 2 chiều ............................................................................. 77
8.2.1.12 Đọc dữ liệu từ mảng 2 chiều .................................................................................. 77
8.2.1.13 Sử dụng biến kiểu khác trong mảng 2 chiều ........................................................ 78
8.2.1.14 Khởi tạo mảng 2 chiều ........................................................................................... 78
8.2.1.15 Dùng mảng 1 chiều làm tham số cho hàm ........................................................... 79
8.2.1.16 Dùng mảng 2 chiều làm tham số cho hàm ........................................................... 82
8.2.2 Chuỗi ............................................................................................................................... 84
8.2.2.1 Cách khai báo chuỗi ............................................................................................... 84
8.2.2.2 Hàm nhập (gets), xuất (puts) chuỗi....................................................................... 85
8.2.2.3 Khởi tạo chuỗi ......................................................................................................... 86
8.2.2.4 Mảng chuỗi .............................................................................................................. 86
8.3 Bài tập ................................................................................................................................. 87

BÀI 9 : CON TRỎ ................................................................................................ 90
9.1 Mục tiêu .............................................................................................................................. 90
9.2 Nội dung.............................................................................................................................. 90
9.2.1 Con trỏ? .......................................................................................................................... 90
9.2.2 Khái báo biến con trỏ .................................................................................................... 90
9.2.3 Truyền địa chỉ sang hàm............................................................................................... 91
9.2.4 Con trỏ và mảng............................................................................................................. 92
9.2.5 Con trỏ trỏ đến mảng trong hàm ................................................................................. 92
9.2.6 Con trỏ và chuỗi ............................................................................................................. 93
9.2.7 Khởi tạo mảng con trỏ trỏ đến chuỗi ........................................................................... 94
9.2.8 Xử lý con trỏ trỏ đến chuỗi ........................................................................................... 95
9.2.9 Con trỏ trỏ đến con trỏ .................................................................................................. 97
9.3 Bài tập ................................................................................................................................. 98

BÀI 10 : CÁC KIỂU DỮ LIỆU TỰ TẠO ................................................................. 99
10.1 Mục tiêu .............................................................................................................................. 99
10.2 Nội dung.............................................................................................................................. 99
10.2.1 Structure ......................................................................................................................... 99
10.2.1.1 Khai báo kiểu structure ......................................................................................... 99
10.2.1.2 Cách khai báo biến có kiểu structure ................................................................... 99
10.2.1.3 Tham chiếu các phần tử trong structure.............................................................. 99
10.2.1.4 Khởi tạo structure ................................................................................................ 101
10.2.1.5 Structure lồng nhau.............................................................................................. 102
10.2.1.6 Truyền structure sang hàm ................................................................................. 103
10.2.2 Enum............................................................................................................................. 105
10.2.2.1 Định nghĩa kiểu enum .......................................................................................... 105
10.2.2.2 Cách khai báo biến có kiểu enum ....................................................................... 106
10.2.2.3 S ử dụng enum trong chương trình ..................................................................... 106
10.3 Bài tập ............................................................................................................................... 108

BÀI 11 : TẬP TIN ................................................................................................. 109
11.1 Mục tiêu ............................................................................................................................ 109
11.2 Nội dung............................................................................................................................ 109
11.2.1 Ví dụ ghi, đọc số nguyên.............................................................................................. 109
11.2.2 Ghi, đọc mảng .............................................................................................................. 110
11.2.3 Ghi, đọc structure ........................................................................................................ 111
11.2.4 Các mode khác để mở tập tin ..................................................................................... 112
11.2.5 Một số hàm thao tác trên file khác............................................................................. 112
11.3 Bài tập ............................................................................................................................... 113

BÀI 12 : ĐỆ QUY ................................................................................................. 114
12.1 Mục tiêu ............................................................................................................................ 114
12.2 Nội dung............................................................................................................................ 114
12.3 Bài tập ............................................................................................................................... 117

BÀI 13 : TRÌNH SOẠN THẢO CỦA BORLAND C.............................................. 118
13.1 Mở tập tin soạn thảo mới ................................................................................................ 118
13.2 Lưu tập tin ........................................................................................................................ 118
13.2.1 Nếu là tập tin soạn thảo mới chưa lưu ....................................................................... 118
13.2.2 Nếu là tập tin đã lưu ít nhất 1 lần hoặc được mở bằng lệnh Open: ........................ 118
13.3 Mở tập tin ......................................................................................................................... 119
13.4 Các phím, tổ hợp phím thường dùng............................................................................. 119
13.4.1 Các phím di chuyển con trỏ ........................................................................................ 119
13.4.2 Các phím thao tác trên khối........................................................................................ 120
13.4.3 Các thao tác xóa ........................................................................................................... 120
13.4.4 Các thao tác copy, di chuyển....................................................................................... 120
13.4.5 Các thao tác khác ......................................................................................................... 120
13.5 Ghi một khối ra đĩa ......................................................................................................... 121
13.6 Chèn nội dung file từ đĩa vào vị trí con trỏ ................................................................... 121
13.7 Tìm kiếm văn bản trong nội dung soạn thảo ................................................................ 121
13.8 Tìm và thay thế văn bản trong nội dung soạn thảo...................................................... 121
13.9 Sửa lỗi cú pháp ................................................................................................................. 122
13.10 Chạy từng bước ............................................................................................................... 122
13.11 Sử dụng Help (Giúp đỡ) .................................................................................................. 122

BÀI 14 : CÁC HỆ ĐẾM ........................................................................................ 124
14.1 Khái niệm ......................................................................................................................... 124
14.2 Quy tắc .............................................................................................................................. 124
14.3 Chuyển đổi giữa các hệ ................................................................................................... 125
14.3.1 Chuyển đổi giữa hệ 2 và hệ 10 .................................................................................... 125
14.3.2 Chuyển đổi giữa hệ 8 và hệ 10 .................................................................................... 126
14.3.3 Chuyển đổi giữa hệ 16 và hệ 10 .................................................................................. 126
14.3.4 Chuyển đổi giữa hệ 2 và hệ 16 .................................................................................... 127

BÀI 15 : BIỂU THỨC VÀ PHÉP TOÁN............................................................... 128
15.1 Biểu thức ........................................................................................................................... 128
15.2 Phép toán .......................................................................................................................... 128
15.2.1 Phép toán số học........................................................................................................... 128
15.2.2 Phép quan hệ ................................................................................................................ 128
15.2.3 Phép toán luận lý.......................................................................................................... 129
15.2.4 Phép toán trên bit (bitwise)......................................................................................... 129
15.2.5 Các phép toán khác...................................................................................................... 130
15.2.6Độ ưu tiên của các phép toán ...................................................................................... 130
15.3 Bài tập ............................................................................................................................... 130

BÀI 16 : MỘT SỐ HÀM CHUẨN THƯỜNG DÙNG............................................. 132
16.1 Các hàm chuyển đổi dữ liệu ........................................................................................... 132
16.1.1 atof................................................................................................................................. 132
16.1.2 atoi ................................................................................................................................. 132
16.1.3 itoa ................................................................................................................................. 132
16.1.4 tolower........................................................................................................................... 132
16.1.5 toupper.......................................................................................................................... 132
16.2 Các hàm xử lý chuỗi ký tự .............................................................................................. 133
16.2.1 strcat.............................................................................................................................. 133
16.2.2 strcpy............................................................................................................................. 133
16.2.3 strcmp............................................................................................................................ 133
16.2.4 strcmpi .......................................................................................................................... 133
16.2.5 strlwr ............................................................................................................................. 133
16.2.6 strupr............................................................................................................................. 133
16.2.7 strlen.............................................................................................................................. 134
16.3 Các hàm toán học ............................................................................................................ 134
16.3.1 abs.................................................................................................................................. 134
16.3.2 labs................................................................................................................................. 134
16.3.3 rand ............................................................................................................................... 134
16.3.4 random.......................................................................................................................... 134
16.3.5 pow ................................................................................................................................ 134
16.3.6 sqrt................................................................................................................................. 134
16.4 Các hàm xử lý file ............................................................................................................ 135
16.4.1 rewind............................................................................................................................ 135
16.4.2 ftell ................................................................................................................................. 135
16.4.3 fseek............................................................................................................................... 135

LINK DOWNLOAD
M_tả

No comments: