Nhập môn lập trình - Tài liệu tham khảo | Đại học Hoa Sen

Nhập môn lập trình - Tài liệu tham khảo | Đại học Hoa Sen được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem

Khoa Khoa học & Công nghệ môn Kỹ - B thut Ph n m m
NHẬP MÔN ẬP TRÌNH L
Tác giả
Nguyễn Văn Sơn
Nguyễn Bá Trung
Tháng 06/2015
K thu t l ập trình
Trang 1
MC LỤC
LỜI NÓI ĐẦU ..................................................................................................................................6
BÀI 1: CÁC KHÁI NIỆM CƠ BẢN......................................................................................................7
I. Máy nh và cấ ạo máy nhu t .7 ................................................................................................
I.1. Máy nh là gì? ......................................................................................................................7
I.2. C u t ạo máy tính: .................................................................................................................8
II. Các khái niệm cơ bản 9 .............................................................................................................
II.1. Lập trình? ............................................................................................................................9
II.2. Ngôn ngữ ập trình (programming language)? l .....................................................................9
II.3. Biên dịch (compile)? .......................................................................................................... 10
II.3. Thông dịch (Interpreng)? ................................................................................................. 10
II.4. Trình biên dịch (compiler) .................................................................................................. 11
II.5. Ngôn ngữ máy (machine langauge) ................................................................................... 11
III. l Ngôn ngữ p trình C ........................................................................................................11
III.1. Tập ký tự (charater set) trong C ........................................................................................ 11
III.2. T khóa trong C (keyword) ............................................................................................... 12
III.3. Tên (idener): ................................................................................................................12
III.4. M t s chương trình đơn giản trong C .............................................................................. 13
IV. p tBài tậ làm................................................................................................................... 16
BÀI 2: GIẢI THUT - MÃ GIẢ LƯU ĐỒ - ........................................................................................ 22
I. Gii thu t ............................................................................................................................. 22
II. Mô tả gii thut .................................................................................................................... 22
II.1. Mã gi (Pseudocode): ........................................................................................................ 22
II.2. Lưu đồ (Flowchart) ............................................................................................................ 25
III. p tBài tậ làm................................................................................................................... 27
BÀI 3: BIỂU THỨC VÀ CÁC PHÉP TOÁN ........................................................................................ 33
I. Biu thức, toán hạng, toán tử ............................................................................................... 33
I.1. Khái niệm: .......................................................................................................................... 33
I.2. Ví dụ minh ha: .................................................................................................................. 33
II. Các phép toán: ..................................................................................................................... 34
II.1. Phép toán số hc: .............................................................................................................. 34
II.2. Phép toán quan h (so sánh): ............................................................................................36
II.3. Phép toán logic: ................................................................................................................. 36
K thu t l ập trình
Trang 2
II.4. Phép toán tăng giảm: ........................................................................................................ 37
II.5. Phép toán trên bit: ............................................................................................................37
II.5. Phép toán điều kin:.......................................................................................................... 38
II.5. Ví dụ minh ha: ................................................................................................................. 39
III. p tBài tậ làm................................................................................................................... 39
BÀI 4: KI U D LI U HNG BIN NHP XU T ..................................................................... 46
I. Kiu d liu .......................................................................................................................... 46
I.1. Khái niệm: .......................................................................................................................... 46
II. Biến (Variable): ....................................................................................................................47
III. H ng (Constant) ...............................................................................................................48
III.1. Các loại hng: ................................................................................................................... 48
III.2. Khai báo hằng: .................................................................................................................. 49
IV. u enum Ki ........................................................................................................................ 50
V. Nhp xu Input - Output) t ( ................................................................................................... 51
V.1. Nh p xu ất ký tự vi conio.h ...............................................................................................51
V.2. Nh p xu ất ký tự vi stdio.h ...............................................................................................52
V.3. Nh p xu ất có định dng v i stdio.h ................................................................................... 52
V.4. Các ký tự đ nh d ng ........................................................................................................... 53
VI. M t s bài tập minh h a...................................................................................................53
VII. p tBài tậ làm................................................................................................................... 55
Câu hỏi trc nghi m ..................................................................................................................... 56
BÀI 5: CẤU TRÚC ĐIỀU KHIN ...................................................................................................... 59
I. Cấu trúc if............................................................................................................................. 59
I.1. Cú pháp: ............................................................................................................................. 59
I.2. Lưu đồ: ............................................................................................................................... 60
I.3.Ví dụ minh ha: ................................................................................................................... 61
II. Cấu trúc if … else… ...............................................................................................................65
II.1. Cú pháp: ................................................................................................................................ 65
II.2. Lưu đồ: .............................................................................................................................. 67
II.3.Ví dụ minh ha: .................................................................................................................. 68
III. Cấu trúc if … else…lồng nhau ............................................................................................ 69
III.1. Cú pháp: .............................................................................................................................. 69
III.2.Ví dụ minh ha: ................................................................................................................. 70
IV. Cấu trúc switch case...................................................................................................... 72
K thu t l ập trình
Trang 3
IV.1. Cú pháp:........................................................................................................................... 72
IV.2.Ví dụ minh ha: ................................................................................................................. 73
BÀI 6: CẤU TRÚC VÒNG LẶP ........................................................................................................ 78
I. ng lặp for .........................................................................................................................78
I.1. Cú pháp: ............................................................................................................................. 78
I.2. Lưu đồ: ............................................................................................................................... 79
I.3 Bài tập minh h a ................................................................................................................. 79
II. ng lặp while ......................................................................................................................83
II.1. Cú pháp: ............................................................................................................................ 83
II.2 Lưu đồ ................................................................................................................................ 84
II.3 Bài tập minh h a ................................................................................................................ 84
III. p do - while Vòng lặ ........................................................................................................... 89
III.1. Cú pháp: ........................................................................................................................... 89
III.2. Lưu đồ .............................................................................................................................. 90
III.3 Bài tập minh h a ............................................................................................................... 90
IV. L nh break connue ...................................................................................................... 93
V. Bài tập t làm....................................................................................................................... 95
BÀI 7: HÀM VÀ CẤU TRÚC CHƯƠNG TRÌNH .............................................................................. 100
I. Hàm ................................................................................................................................... 100
I.1. Khái niệm: ........................................................................................................................ 100
I.2. Xây dự g hàm:n ................................................................................................................. 100
I.3. S d ụng hàm: ................................................................................................................... 102
I.4. Truy n tham s : ............................................................................................................... 103
I.5. Hàm trả v giá trị và hàm không trả v giá trị: ................................................................... 103
I.5. Khai báo hàm nguyên mẫu: .............................................................................................. 104
II. Hàm đệ qui ........................................................................................................................107
II.1. Khái niệm đệ qui và hàm đệ qui....................................................................................... 107
II.2. Xây dựng hàm đệ qui ....................................................................................................... 107
II.3. M t s vví dụ hàm đệ qui .............................................................................................107
III. Cấu trúc chương trình ....................................................................................................109
III.1. Cấu trúc chung một chương trình ................................................................................... 109
III.2. T m v c bi n ế .................................................................................................................. 110
III.3. Kh i l nh ........................................................................................................................ 110
IV. Phân rã bài toán ............................................................................................................. 111
K thu t l ập trình
Trang 4
V. Bài tập t làm..................................................................................................................... 114
BÀI 8: MẢNG - ARRAY ............................................................................................................... 120
I. M ng m t chi u ................................................................................................................. 120
I.1. Khái nim ......................................................................................................................... 120
I.2. Khai báo ........................................................................................................................... 120
I.3. Truy xu t các phần t ca mng ....................................................................................... 121
I.4. Các thao tác trên mảng 1 chiu ........................................................................................121
I.5. Bài tập minh ha .............................................................................................................. 127
I.6. Bài tập t làm ................................................................................................................... 129
II. M ng nhi u chi u...............................................................................................................130
II.1. Khái niệm ........................................................................................................................ 130
II.2. Khai báo mảng 2 chiu:.................................................................................................... 130
II.3. Các thao tác trên mảng 2 chiu........................................................................................ 131
II.4. Bài tp minh h a ............................................................................................................. 132
II.5. Bài tập t làm.................................................................................................................. 133
III. M t tham s truy ảng là mộ ền vào hàm ............................................................................ 134
III.1. M ng m t chi truy ều là tham số ền vào hàm .................................................................. 134
III.2. M ng hai chi truy ều là tham số ền vào hàm.................................................................... 134
III.3. Bài tập minh ha ............................................................................................................ 134
III.4. Bài tập t làm ................................................................................................................. 136
IV. i tr c nghi m Câu hỏ .......................................................................................................137
BÀI 9: CHUỖI - STRING ............................................................................................................... 141
I. Khái niệm v chui ............................................................................................................. 141
II. Khai báo chuỗi .................................................................................................................... 141
III. p xu t chu i Nh ............................................................................................................. 141
IV. Truy xut từng ký tự ca chui ....................................................................................... 142
V. M t s hàm xử lý chuỗi trong C .......................................................................................... 143
VI. M minh h a v x t s ví dụ lý chuỗi .............................................................................. 146
VII. p Bài tậ ............................................................................................................................ 150
BÀI 10: CON TRỎ POINTER ...................................................................................................... 154
I. Khái niệm con tr ............................................................................................................... 154
I.1. Địa ch (address) ............................................................................................................... 154
I.2. Con tr (pointer) ..............................................................................................................154
II. Con tr và mảng ................................................................................................................. 156
K thu t l ập trình
Trang 5
III. i t o con tr Kh .............................................................................................................157
IV. Các phép toán trên con trỏ ............................................................................................. 157
V. B nh động (Dynamic Memory) ........................................................................................ 158
VI. p minh h a Bài tậ ............................................................................................................ 160
VII. p tBài tậ làm................................................................................................................. 162
BÀI 11: STRUCT – KIU C ẤU TRÚC .............................................................................................165
I. Khái niệm kiu cấu trúc ...................................................................................................... 165
II. Khai báo kiểu cấu trúc (struct) ............................................................................................ 165
III. Truy xuất các thành phần ca struct ............................................................................... 166
IV. M ng struct .................................................................................................................... 167
V. Các ví dụ v struct .............................................................................................................. 168
VI. p Bài tậ ............................................................................................................................ 174
BÀI 12: LẬP TRÌNH VỚI TP TIN FILE ....................................................................................... 179
I. Khái niệm le ..................................................................................................................... 179
II. Cấu trúc FILE ......................................................................................................................180
III. Thao tác trên le text – Đọc File Ghi File ...................................................................... 180
IV. p minh h c-ghi le text Bài tậ ọa đọ ................................................................................... 184
V. Các thao tác trên le nhị phân ............................................................................................ 185
VI. p minh h c ghi le nh Bài tậ ọa đọ phân ............................................................................ 186
Cho thông n nhân viên < mã số (int) , tên (50 ký tự) , lương (double)> .....................................186
VII. p tBài tậ làm................................................................................................................. 188
BÀI TẬP LÀM THÊM ................................................................................................................... 195
TÀI LIỆU THAM KH O ................................................................................................................ 202
K thu t l ập trình
Trang 6
L U ỜI NÓI ĐẦ
Các bạn sinh viên thân mến! Khi các bạn cầm trên tay bắt đầu đọc
nh a cuững hàng chữ đầu tiên củ ốn sách này, chúng tôi hiểu các bạn ai đang
muốn ết sinh viên đều ít nhiề p khó khăn khi bắt đầ ập trình, ? Hu h u g u hc l
kết qu trong nh y r ng ch ững năm qua cho thấ khong m t ph ần ba sinh viên
kết qu t V i kinh nghi khá trở lên khi học môn này. m nhi dều năm trong nghề y
h c bi l i ch p chọc và đặ ệt là dạy ập trình cho các bạn sinh viên mớ ững làm quen với
nh l n cuững dòng code lạ ẫm và khô cứng, chúng tôi đã biên soạ ốn sách “Nhập môn
l v i m n h u qu nh ập trình” ục đích giúp các bạ ọc môn này một cách hiệ t.
Cu n n theo tsách này này được biên soạ ng bài, mỗi bài học được trình
bày ột cách súc tích về ần thuyết, dụm mt ni dung c th bao gm ph minh
h p t ph n c nghi m. T t c c tr n th c t ọa, bài tậ làm tr 12 bài họ ải dài kiế
khái niệm bản cho đến các kiế ập trình. ỗi bài học n thc nn tng trong l M
tính độ ội dung nhưng lại có tính th bài trước đến bài sau giúp c lp v mt n a kế t
sinh viên dễ dàng thu nạp và tích lũy kiế ỗi bài họ n thc sau m c.
Các dụ ốn sách này đượ hai ngôn ngữ minh ha trong cu c viết bng c
l ng ki n th t trong mập trình C Java. Mỗi bài tả cách áp dụ ế ức thuyế i
tình huống bài toán cụ ể, vậy sinh viên không nên chỉ đọc qua hãy lạ th i
nh y th hi u m c ch c khi ững bài tập này chạ để ột cách chắ ắn trướ m các bài
t l i tr c nghi c khi h p. Và cũng đừng quên hoàn tất các câu trả ệm trướ ọc bài mới.
Mặc dù đã có nhiề ắng khi biên soạ ốn sách này, nhưng không thểu c g n cu
nào tránh đượ ững sai sót, chúng tôi mong nhận đượ đóng góp ý kiếc nh c s n ca
t t c t t c n h c gi các bạn để cuốn sách ngày càng hoàn thiện hơn. Chúc các bạ i
và thành công với lĩnh vực mà mình đã chọn.
Nhóm tác giả:
Nguyễn Văn Sơn
Nguyễn Bá Trung
Lê Thanh Tùng
K thu t l ập trình
Trang 7
I 1: C KHÁI NIỆM BN
I. Máy tính và cấ o máy tínhu t
I.1. Máy tính là gì?
Máy tính (computer) hay còn gọi là máy vi tính là mộ ử, nó có t dng c điện t
th:
- Chạy được các chương trình cài đặt sn
- Lưu tr d u li
- X lý dữ liệu thành thông tin hữu ích
- Có khả năng lập trình
Hình 1.1 Máy tính để bàn (desktop computer)
Hình 1.2 Máy tính xách tay (laptop)
Hình 1.3 ọn có tính năng gần như máy tínhMáy Ipad nh g
K thu t l ập trình
Trang 8
Hình 1.4: Điệ ại thông minhn tho
Các loại điệ ại thông minh (smartphone) ngoài tính năng chính là gọn tho i
điện, nhắn tin nó còn có khả năng khác như lướ ạc, chơi t web, check mail, nghe nh
game, ch n m ng d ng r t h ạy các phầ m ữu ích,…
I.2 u t . C ạo máy tính:
Máy tính 2 thành phần chính ứng (hardware) phầ: phn c n mm
(software).
- Phn c ng (hardware): Bao g n c ồm các linh kiệ ấu thành máy tính như: bộ
vi x ch ch (mainboard), b nh t m (r (CPU), bo mạ am), màn hình
(monitor), đĩa cứng (harddisk), bàn phím (key board), con chuột (mouse),
thùng máy (case),…
Hình 1 C u t o .5: máy tính
(http://tip4pc.com/cau-tao-may-tinh/)
K thu t l ập trình
Trang 9
- Phn m m (software): bao g ồm các hệ điều hành các ph ềm đượn m c
cài đặt vào máy tính.
Ngoài 2 phần cơ bản trên, thông thường máy tính còn kế ới các thiết ni v t
b ngo ại vi như: máy in (printer), moderm, webcam, loa (speaker), máy quét
(scanner),...
II. Các khái niệm cơ bản
II.1. L ? ập trình
L o ra m ng m lập trình (programming): tạ ột chương trình bằ ột ngôn ngữ p
trình để đó. máy tính thự ột công việc nàoc hin m
L ập trình là kỹ thu t:
o S d ng m l ột ngôn ngữ ập trình
o Cài đặt các giả ật toán)i thut (thu
o Tạo ra chương trình máy tính
Ví dụ ụng ngôn ngữ ập trình C để ạo ra chương trình Hello:: s d l t
#include “stdio.h”
void main()
{
printf(“Hello!”);
}
II.2. Ngôn ngữ l (programming language)? ập trình
Ngôn ập trình mộ ống được ký hiệu hóa để miêu tả ững tính ng l t h th nh
toán (qua máy tính) trong mộ t dng mà cả con người và máy đề thểu đọc và hiểu
được.
M l i th u ki ột ngôn ngữ ập trình phả ỏa mãn được hai điề ện cơ bản là:
- phả ểu và d ụng đố ập trình, để người i d hi s d i vi người l con
th dùng nó giả ết các bài toán.i quy
- phải miêu t ột cách đầy đủ m ràng các tiến trình, để thể
chạy được trên các máy tính .
Câu lệnh (instruction) là đơn vị ơ bả ột ngôn ngữ ập trình. c n ca m l
M p h nh gi i quy t mỗi chương trình (program) tậ ợp các câu lệ ế ột bài toán
c th. M nh M M Một nhóm lệ ột chương trình. ột nhóm các chương trình t
ph n m m (software)
| 1/203

Preview text:


Khoa Khoa học & Công nghệ - Bộ môn Kỹ thuật Phần mềm
NHẬP MÔN LẬP TRÌNH Tác giả Nguyễn Văn Sơn Nguyễn Bá Trung Tháng 06/2015 K thu t l ậ ập trình MỤC LỤC
LỜI NÓI ĐẦU ..................................................................................................................................6
BÀI 1: CÁC KHÁI NIỆM CƠ BẢN......................................................................................................7 I.
Máy nh và cấu tạo máy nh .................................................................................................7
I.1. Máy nh là gì? ......................................................................................................................7
I.2. Cấu tạo máy tính: .................................................................................................................8
II. Các khái niệm cơ bản .............................................................................................................9
II.1. Lập trình? ............................................................................................................................9
II.2. Ngôn ngữ lập trình (programming language)? .....................................................................9
II.3. Biên dịch (compile)? .......................................................................................................... 10
II.3. Thông dịch (Interpre ng)? ................................................................................................. 10
II.4. Trình biên dịch (compiler) .................................................................................................. 11
II.5. Ngôn ngữ máy (machine langauge) ................................................................................... 11 III.
Ngôn ngữ lập trình C ........................................................................................................ 11
III.1. Tập ký tự (charater set) trong C ........................................................................................ 11
III.2. Từ khóa trong C (keyword) ............................................................................................... 12 III.3. Tên (iden
er): ................................................................................................................ 12
III.4. Một số chương trình đơn giản trong C .............................................................................. 13 IV.
Bài tập tự làm ................................................................................................................... 16
BÀI 2: GIẢI THUẬT - MÃ GIẢ - LƯU ĐỒ ........................................................................................ 22 I.
Giải thuật ............................................................................................................................. 22
II. Mô tả giải thuật .................................................................................................................... 22
II.1. Mã giả (Pseudocode): ........................................................................................................ 22
II.2. Lưu đồ (Flowchart) ............................................................................................................ 25 III.
Bài tập tự làm ................................................................................................................... 27
BÀI 3: BIỂU THỨC VÀ CÁC PHÉP TOÁN ........................................................................................ 33 I.
Biều thức, toán hạng, toán tử ............................................................................................... 33
I.1. Khái niệm: .......................................................................................................................... 33
I.2. Ví dụ minh họa: .................................................................................................................. 33
II. Các phép toán: ..................................................................................................................... 34
II.1. Phép toán số học: .............................................................................................................. 34
II.2. Phép toán quan hệ (so sánh): ............................................................................................ 36
II.3. Phép toán logic: ................................................................................................................. 36 Trang 1 K thu t l ậ ập trình
II.4. Phép toán tăng giảm: ........................................................................................................ 37
II.5. Phép toán trên bit: ............................................................................................................ 37
II.5. Phép toán điều kiện:.......................................................................................................... 38
II.5. Ví dụ minh họa: ................................................................................................................. 39 III.
Bài tập tự làm ................................................................................................................... 39
BÀI 4: KIỂU DỮ L Ệ I U – HẰNG –
BIẾN – NHẬP XUẤT ..................................................................... 46 I.
Kiểu dữ liệu .......................................................................................................................... 46
I.1. Khái niệm: .......................................................................................................................... 46
II. Biến (Variable): .................................................................................................................... 47 III.
Hằng (Constant) ............................................................................................................... 48
III.1. Các loại hằng: ................................................................................................................... 48
III.2. Khai báo hằng: .................................................................................................................. 49 IV.
Kiểu enum ........................................................................................................................ 50 V. Nhập xuất I
( nput - Output) ................................................................................................... 51
V.1. Nhập xuất ký tự với conio.h............................................................................................... 51
V.2. Nhập xuất ký tự với stdio.h ............................................................................................... 52
V.3. Nhập xuất có định dạng với stdio.h ................................................................................... 52
V.4. Các ký tự định dạng ........................................................................................................... 53 VI.
Một số bài tập minh họa................................................................................................... 53 VII.
Bài tập tự làm ................................................................................................................... 55
Câu hỏi trắc nghiệm ..................................................................................................................... 56
BÀI 5: CẤU TRÚC ĐIỀU KHIỂN ...................................................................................................... 59 I.
Cấu trúc if............................................................................................................................. 59
I.1. Cú pháp: ............................................................................................................................. 59
I.2. Lưu đồ: ............................................................................................................................... 60
I.3.Ví dụ minh họa: ................................................................................................................... 61
II. Cấu trúc if … else… ............................................................................................................... 65
II.1. Cú pháp: ................................................................................................................................ 65
II.2. Lưu đồ: .............................................................................................................................. 67
II.3.Ví dụ minh họa: .................................................................................................................. 68 III.
Cấu trúc if … else…lồng nhau ............................................................................................ 69
III.1. Cú pháp: .............................................................................................................................. 69
III.2.Ví dụ minh họa: ................................................................................................................. 70 IV.
Cấu trúc switch … case...................................................................................................... 72 Trang 2 K thu t l ậ ập trình
IV.1. Cú pháp:........................................................................................................................... 72
IV.2.Ví dụ minh họa: ................................................................................................................. 73
BÀI 6: CẤU TRÚC VÒNG LẶP ........................................................................................................ 78 I.
Vòng lặp for ......................................................................................................................... 78
I.1. Cú pháp: ............................................................................................................................. 78
I.2. Lưu đồ: ............................................................................................................................... 79
I.3 Bài tập minh họa ................................................................................................................. 79
II. Vòng lặp while...................................................................................................................... 83
II.1. Cú pháp: ............................................................................................................................ 83
II.2 Lưu đồ ................................................................................................................................ 84
II.3 Bài tập minh họa ................................................................................................................ 84 III.
Vòng lặp do - while ........................................................................................................... 89
III.1. Cú pháp: ........................................................................................................................... 89
III.2. Lưu đồ .............................................................................................................................. 90
III.3 Bài tập minh họa ............................................................................................................... 90 IV.
Lệnh break – con nue ...................................................................................................... 93
V. Bài tập tự làm....................................................................................................................... 95
BÀI 7: HÀM VÀ CẤU TRÚC CHƯƠNG TRÌNH .............................................................................. 100 I.
Hàm ................................................................................................................................... 100
I.1. Khái niệm: ........................................................................................................................ 100
I.2. Xây dựng hàm: ................................................................................................................. 100
I.3. Sử dụng hàm: ................................................................................................................... 102
I.4. Truyền tham số: ............................................................................................................... 103
I.5. Hàm trả về giá trị và hàm không trả về giá trị: ................................................................... 103
I.5. Khai báo hàm nguyên mẫu: .............................................................................................. 104
II. Hàm đệ qui ........................................................................................................................ 107
II.1. Khái niệm đệ qui và hàm đệ qu i....................................................................................... 107
II.2. Xây dựng hàm đệ qui ....................................................................................................... 107 II.3. Một ố
s ví dụ về hàm đệ qui ............................................................................................. 107 III.
Cấu trúc chương trình .................................................................................................... 109
III.1. Cấu trúc chung một chương trình ................................................................................... 109
III.2. Tầm vực biến .................................................................................................................. 110 III.3. Khối lện
h ........................................................................................................................ 110 IV.
Phân rã bài toán ............................................................................................................. 111 Trang 3 K thu t l ậ ập trình
V. Bài tập tự làm..................................................................................................................... 114
BÀI 8: MẢNG - ARRAY ............................................................................................................... 120 I.
Mảng một chiều ................................................................................................................. 120
I.1. Khái niệm ......................................................................................................................... 120
I.2. Khai báo ........................................................................................................................... 120
I.3. Truy xuất các phần tử của mảng ....................................................................................... 121
I.4. Các thao tác trên mảng 1 chiều ........................................................................................ 121
I.5. Bài tập minh họa .............................................................................................................. 127
I.6. Bài tập tự làm ................................................................................................................... 129
II. Mảng nhiều chiều............................................................................................................... 130
II.1. Khái niệm ........................................................................................................................ 130
II.2. Khai báo mảng 2 chiều:.................................................................................................... 130
II.3. Các thao tác trên mảng 2 chiều........................................................................................ 131
II.4. Bài tập minh họa ............................................................................................................. 132
II.5. Bài tập tự làm .................................................................................................................. 133 III.
Mảng là một tham số truyền vào hàm ............................................................................ 134
III.1. Mảng một chiều là tham số truyền vào hàm .................................................................. 134
III.2. Mảng hai chiều là tham số truyền vào hàm .................................................................... 134
III.3. Bài tập minh họa ............................................................................................................ 134
III.4. Bài tập tự làm ................................................................................................................. 136 IV.
Câu hỏi trắc nghiệm ....................................................................................................... 137
BÀI 9: CHUỖI - STRING ............................................................................................................... 141 I.
Khái niệm về chuỗi ............................................................................................................. 141
II. Khai báo chuỗi .................................................................................................................... 141 III.
Nhập xuất chuỗi ............................................................................................................. 141 IV.
Truy xuất từng ký tự của chuỗi ....................................................................................... 142
V. Một số hàm xử lý chuỗi trong C .......................................................................................... 143 VI.
Một số ví dụ minh họa về xử lý chuỗi .............................................................................. 146 VII.
Bài tập ............................................................................................................................ 150
BÀI 10: CON TRỎ – POINTER ...................................................................................................... 154 I.
Khái niệm con trỏ ............................................................................................................... 154
I.1. Địa chỉ (address) ............................................................................................................... 154
I.2. Con trỏ (pointer) .............................................................................................................. 154
II. Con trỏ và mảng ................................................................................................................. 156 Trang 4 K thu t l ậ ập trình III.
Khởi tạo con trỏ ............................................................................................................. 157 IV.
Các phép toán trên con trỏ ............................................................................................. 157
V. Bộ nhớ động (Dynamic Memory) ........................................................................................ 158 VI.
Bài tập minh họa ............................................................................................................ 160 VII.
Bài tập tự làm ................................................................................................................. 162
BÀI 11: STRUCT – KIỂU CẤU TRÚC ............................................................................................ .165 I.
Khái niệm kiểu cấu trúc ...................................................................................................... 165
II. Khai báo kiểu cấu trúc (struct) ............................................................................................ 165 III.
Truy xuất các thành phần của struct ............................................................................... 166 IV.
Mảng struct .................................................................................................................... 167
V. Các ví dụ về struct .............................................................................................................. 168 VI.
Bài tập ............................................................................................................................ 174
BÀI 12: LẬP TRÌNH VỚI TẬP TIN – FILE ....................................................................................... 179 I.
Khái niệm le ..................................................................................................................... 179
II. Cấu trúc FILE ...................................................................................................................... 180 III.
Thao tác trên le text – Đọc File – Ghi File ...................................................................... 180 IV.
Bài tập minh họa đọc-ghi le text ................................................................................... 184
V. Các thao tác trên le nhị phân ............................................................................................ 185 VI.
Bài tập minh họa đọc ghi le nhị phân ............................................................................ 186
Cho thông n nhân viên < mã số (int) , tên (50 ký tự) , lương (double)> ..................................... 186 VII.
Bài tập tự làm ................................................................................................................. 188
BÀI TẬP LÀM THÊM ................................................................................................................... 195
TÀI LIỆU THAM KHẢO ................................................................................................................ 202 Trang 5 K thu t l ậ ập trình LỜI NÓI ĐẦU
Các bạn sinh viên thân mến! Khi các bạn cầm trên tay và bắt đầu đọc
những hàng chữ đầu tiên của cuốn sách này, chúng tôi hiểu các bạn là ai và đang
muốn gì? Hu hết sinh viên đều ít nhiều gặp khó khăn khi bắt đầu hc lập trình, và
kết qu trong những năm qua cho thấy rng ch khong mt phần ba sinh viên có
kết qu t khá trở lên khi học môn này. Vi kinh nghim nhiều năm trong nghề dy
học và đặc biệt là dạy lập trình cho các bạn sinh viên mới chp chững làm quen với
những dòng code lạ lẫm và khô cứng, chúng tôi đã biên soạn cuốn sách “Nhập môn
lập trình” vi mục đích giúp các bạn học môn này một cách hiệu qu nht.
Cun sách này này được biên soạn theo tng bài, mỗi bài học được trình
bày một cách súc tích về mt ni dung c th bao gm phần lý thuyết, ví dụ minh
họa, bài tập t làm và phn trc nghim. Tt c có 12 bài học trải dài kiến thc t
khái niệm cơ bản cho đến các kiến thc nn tng trong lập trình. Mỗi bài học có
tính độ
c lp v mt nội dung nhưng lại có tính thừa kế t bài trước đến bài sau giúp
sinh viên dễ
dàng thu nạp và tích lũy kiến thc sau mỗi bài học.
Các ví dụ minh ha trong cuốn sách này được viết bng c hai ngôn ngữ
lập trình C và Java. Mỗi bài là mô tả cách áp dụng kiến thức lý thuyết trong mi
tình huống bài toán cụ t
h , vì vậy sinh viên không nên chỉ đọc qua mà hãy gõ lại
những bài tập này và chạy th để hiu một cách chắc chắn trước khi làm các bài
tp. Và cũng đừng quên hoàn tất các câu trả li trc nghiệm trước khi học bài mới .
Mặc dù đã có nhiều c gắng khi biên soạn cuốn sách này, nhưng không thể
nào tránh được những sai sót, chúng tôi mong nhận được s đóng góp ý kiến ca
tt c các bạn để cuốn sách ngày càng hoàn thiện hơn. Chúc tt c các bạn hc gii
và thành công với lĩnh vực mà mình đã chọn. Nhóm tác giả: Nguyễn Văn Sơn Nguyễn Bá Trung Lê Thanh Tùng Trang 6 K thu t l ậ ập trình
BÀI 1: CÁC KHÁI NIỆM CƠ BẢN
I. Máy tính và cấu tạo máy tính
I.1. Máy tính là gì?
Máy tính (computer) hay còn gọi là máy vi tính là một dụng cụ điện tử, nó có thể:
- Chạy được các chương trình cài đặt sẵn - Lưu trữ dữ liệu
- Xử lý dữ liệu thành thông tin hữu ích
- Có khả năng lập trình
Hình 1.1 Máy tính để bàn (desktop computer)
Hình 1.2 Máy tính xách tay (laptop)
Hình 1.3 Máy Ipad nh gọn có tính năng gần như máy tính Trang 7 K thu t l ậ ập trình
Hình 1.4: Điện thoại thông minh
Các loại điện thoại thông minh (smartphone) ngoài tính năng chính là gọi
điện, nhắn tin nó còn có khả năng khác như lướt web, check mail, nghe nhạc, chơi
game, chạy các phần mềm ứng dụng rất hữu ích,…
I.2. Cu tạo máy tính:
Máy tính có 2 thành phần chính: phần cứng (hardware) và phần mềm (software).
- Phần cứng (hardware): Bao gồm các linh kiện cấu thành máy tính như: bộ
vi xử lý (CPU), bo mạch chủ (mainboard), bộ nhớ tạm (ram), màn hình
(monitor), đĩa cứng (harddisk), bàn phím (key board), con chuột (mouse), thùng máy (case),…
Hình 1.5: Cu to máy tính
(http://tip4pc.com/cau-tao-may-tinh/) Trang 8 K thu t l ậ ập trình
- Phần mềm (software): bao gồm các hệ điều hành và các phần mềm được cài đặt vào máy tính.
Ngoài 2 phần cơ bản trên, thông thường máy tính còn kết nối với các thiết
bị ngoại vi như: máy in (printer), moderm, webcam, loa (speaker), máy quét (scanner),...
II. Các khái niệm cơ bản II.1. Lập trình?
Lập trình (programming): là tạo ra một chương trình bằng một ngôn ngữ lập
trình để máy tính thực hiện một công việc nào đó.
Lập trình là kỹ thuật:
o Sử dụng một ngôn ngữ lập trình
o Cài đặt các giải thuật (thuật toán)
o Tạo ra chương trình máy tính
Ví dụ: sử dụng ngôn ngữ lập trình C để tạo ra chương trình Hello: #include “stdio.h” void main() { printf(“Hello!”); }
II.2. Ngôn ngữ lập trình (programming language)?
Ngôn ngữ lập trình là một hệ t ố
h ng được ký hiệu hóa để miêu tả những tính
toán (qua máy tính) trong một dạng mà cả con người và máy đều có thể đọc và hiểu được.
Một ngôn ngữ lập trình phải thỏa mãn được hai điều kiện cơ bản là:
- Nó phải dễ hiểu và dễ sử dụng đối với người lập trình, để con người có
thể dùng nó giải quyết các bài toán.
- Nó phải miêu tả một cách đầy đủ và rõ ràng các tiến trình, để có thể
chạy được trên các máy tính.
Câu lệnh (instruction) là đơn vị cơ bản của một ngôn ngữ lập trình.
Mỗi chương trình (program) là tập hợp các câu lệnh giải quyết một bài toán
cụ thể. Một nhóm lệnh Một chương trình. Một nhóm các chương trình Một phần mềm (software) Trang 9