GI I THI U
Ngôn ng l p trình C là môn l p trình căn b n. Nó là môn h c b n l cho các môn h c có
liên quan đ n l p trình c a sinh viên s h c sau này. Vì v y nh ng ki n th c h c đ c ngônế ế ượ
ng C là c n thi t cho sinh viên. ế
H c xong n này, sinh viên c n n m đ c v n đ sau: ượ
- Khái ni m v ngôn ng l p trình.
- Khái ni m v ki u d li u.
- T ng quan v ngôn ng C.
- Các ki u d li u trong C.
- Các l nh có c u tc.
- Cách thi t k s d ng các hàm trong C.ế ế
n l p trình C đ c dùng đ gi ng d y cho các sinh viên sau: ượ
-Sinh viên năm th 1, h c kỳ 2 chuyên ngành Tin h c.
Đ h c t t môn L p trình C, sinh viên ph i có ki n th c n n t ng sau: ế
- Ki n th c toán h c.ế
- Ki n th c và k năng thaoc trên máy tính.ế
Trong th i l ng 120 ti t (30 lý thuy t +90 th c hành), giáo trình đ c c u trúc 2 ph n: ượ ế ế ượ
CH NG 1:C KHÁI NI M C B N.ƯƠ Ơ
i 1: Gi i thi u v ngôn ng C
i 2: Khái ni m v h ng, bi n, hàm, bi u th c ế
i 3: T ng quát v ch ng trình vàc thao tác vi t ch ng trình ươ ế ươ
CH NG 2:C CÂU L NH ĐI U KHI NƯƠ
i 1: u l nh r nhánh
i 2: u l nh l p
CH NG 3: ƯƠ M
i 1: m
i 2: c nguyên t c truy n tham s
PH N B: CÁC KI U D LI U M R NG
CH NG 4: KI U D LI U CÓ C U TRÚCƯƠ
i 1: D li u ki u m ng
i 3: D li u ki u b n ghi struct
i 4: Danh sáchc n i LIFO
i 5: Danh sáchc n i FIFO
i 6: D u li u ki u t p
M C L C
PH N A: T NG QUAN V NGÔN NG C 6
CH NG 1:C KHÁI NI M C B N.ƯƠ Ơ
i 1: Gi i thi u v ngôn ng C 6
1.1. B ký t nh ng quy đ nh c a C
1.2. Tìm hi u các t khoá th ng dùng ườ
1.3. Khái ni m và quy đ nh đ t tên s d ng
1.4. L i chú thích
1.5. Ki u d li u
i 2: Khái ni m v h ng, bi n, hàm, bi u th c ế 9
2.1. Khái ni m h ng cách khai báo h ng
2.2. Khái ni m bi n và cách khai báo bi n ế ế
2.3. Bi u th c, phép toán
2.4 .Các hàm vào ra chu n
i 3: T ng quát v ch ng trình vàc thao tác vi t ch ng trình ươ ế ươ 26
3.1. T ng qt c a m t ch ng trình c ươ
3.2. M t s qui t c c n nh khi vi t ch ng trình ế ươ
CH NG 2:C CÂU L NH ĐI U KHI NƯƠ 29
i 1: u l nh r nhánh 30
1.1. L nh if-else
1.2. L nh else-if
1.3. Câu l nh switch
i 2: u l nh l p 39
2.1. Câu l nh goto, break, continue
2.2. Vòng l p for
2.3. Vòng l p while
2.4. Vòng l p do …while
CH NG 3: ƯƠ M 55
i 1: m
1.1. Khái ni m v m
1.2. Cách khai báo hàm
1.3. G i hàm
1.4. Hàm kng cho c giá tr
1.5. Hàm đ quy
i 2: c nguyên t c truy n tham s 64
2.1. Bi n toàn c cế
2.2. Bi n c c b (bi n đ a ph ng)ế ế ươ
2.3. Bi n đ a ch , bi n con trế ế
2.4. Cách truy n tham s cho hàm
H C TRÌNH 4,5: CÁC KI U D LI U M R NG 71
CH NG 4: KI U D LI U CÓ C U TRÚCƯƠ
i 1: D li u ki u m ng
1.1. M ng m t chi u
1.2. M ng nhi u chi u
1.3. M ng con tr
i 2: D li u ki u xâu ký t 84
2.1. Khái ni m
2.2. Khai báo
2.3. Các thao tác trênu ký t
i 3: D li u ki u b n ghi struct 88
3.1. Khai báo ki u d li u c u trúc (b n ghi)
3.2. Khai báo theo m t ki u c u trúc đã đ nh nghĩa.
3.3. Truy nh p đ n các tnh ph n c u trúc ế
3.4. M ng c u trúc
3.5. Kh i đ u m t c u trúc
3.6. Phép gán c u trúc
3.7. Con tr c u trúc và đ a ch c u trúc
i 4: Danh sáchc n i LIFO 100
4.1 Đ nh nghĩa và khai báo bi n con tr . ế
4.2. T o danhch m i
4.3. Duy t qua t t c c ph n t c a danh sách
4.4. Lo i m t c u trúc ra kh i danh sách
4.5. B sung ho c chèn m t c u trúc vào danh sách
i 5: Danh sáchc n i FIFO107
4.1. Đ nh nghĩakhai báo bi n con tr . ế
4.2. T o danhch m i
4.3. Duy t qua t t c c ph n t c a danh sách
4.4. Lo i m t c u trúc ra kh i danh sách
4.5. B sung ho c chèn m t c u trúc vào danh sách
i 6: D li u ki u t p 109
6.1. Khái ni m v t p tin
6.2. Khai báo s d ng t p - m t s hàm th ng dùng khi thao tác trên t p ườ
Ch ng 1ươ
C KHÁI NI M C B N Ơ
Trong ch ng này s gi i thi u nh ng thành ph n c b n c a ngôn ng l p trình C đó là:ươ ơ
b ký t , t khoá và tên. Đ có th l p đ c m t ch ng trình đ y đ , s trình bày đôi đi u v ượ ươ
câu l nh gán, c câu l nh vào ra, toán t #include nh ng qui t c c n l u ý khi vi t ch ng ư ế ươ
trình.
BÀI 1: NGÔN NG L P TRÌNH VÀ PH NG PHÁP L P TRÌNH ƯƠ
1.1. NGÔN NG LP TRÌNH (PROGRAMMING LANGUAGE)
Phn này chúng ta s m hiu mt s khái nim căn b n v thut toán, chưngơ trình,
ngôn ng l p trình. Thu t ng "thut gii" và "thut toán"nhiên có s khác nhau song trong
nhiu tr ngườ hp chúng cùng nghĩa.
1.1.1. Thut gii (Algorithm)
mt y c thao tác c đ nh trên mt đi tượng, sao cho sau khi thc hin mt s
hu hn các b c thìướ đ t đưc mc tiêu. Theo R.A.Kowalski thì b n cht ca thut gii: Thut
gii = Logic + Điu khin
* Logic: Đây phn khá quan trng, tr l i câu hi "Thut gii làm gì, gii
quyết vn đ ?", nh ng yếu t trong i toán quan h v i nhau nh ư thế
o v.v… đây bao gm nhng kiến thc chuyên môn mà bn ph i biết đ th
tiếnnh gii bài toán.
Ví
d : Đ gii mt i toán tính din tích hình cu, bn không còn nh công thcnh
hình cu thì bn không th viết chương trình cho máy đ gi i bài toán này đưc.
* Điu khin: Thành phn này tr l i câu hi: gii thut phi làm như thế nào?. Chính
cách thc ti n hếành áp dng thành phn logic đ gi i quyết vn đ .
1.1.2. Chương trình (Program)
mt t p hp các t, c phát biu, nm trong mt h thng qui cướ v ý nghĩa
th t thc hin, nhm điu khin máy tính làm vic. Theo Niklaus Wirth thì:
Chương trình = Thut toán + Cu trúc d li u
c thut toán và chưng trìnhơ đ u có c u trúc da trên 3 c u trúc đ i u kh i n
cơ b n :
* Tun t (Sequential): Các bước thc hin tun t mt ch chính xác t trên xung,
mi b cướ ch thc hin đúng mt ln.
* Chn lc (Selection): Chn 1 trong 2 hay nhiu thao tác đ thc hin.
* Lp li (Repetition): Mt hay nhiu b cướ đưc thc hin lp li mt s l n.
Mun tr thành lp trình viên chun nghip bny làm đúng trình t đ có ti quen tt
và thun li sauy trên nhiu mt ca mt ngưi làm máynh. Bn hãy làm theo các bước sau:
Tìm, xây dng thut gi i (trên giy) viết chưng trình trên máyơ
d ch ch ư ng trìnhơ chy và th chương trình
1.1.3. Ngôn ng lp trình (Programming language)
Ngôn ng lp trình h thng các ký hiu tuân theo c qui ưc v ng pháp và ng
nghĩa, dùng đy dng thành các chương trình cho y tính.
Mt chương trình được viết bng mt ngôn ng lp trình c th (ví d Pascal, C…)
gi là chưng ơ trình ngun, chưng ơ trình d ch m nhim v d ch chưng ơ trình ngun
thành chương trình thc thi đ c trên ượ máy tính.
1.2. CÁC B C L P TRÌNHƯỚ
B cướ 1: Phân tích vn đ xác đ nh các đ c đim. (c đ nh I-P-O)
B cướ 2: Lp ra gii pháp. ưa ra thut gi i)
B cướ 3: Cài đ t. (vi ết chưng trình)ơ
B cướ 4: Chy th chưng trình. (ơd ch ch ương trình)
B cướ 5: Kim ch ng và hoàn thin chương trình. (th nghim bng nhiu s liu
và đánh g)
1.3. K THUT L P TRÌNH
1.3.1. I-P-O Cycle (Input-Pprocess-Output Cycle) (Quy trình nhp-x -xu t)
Quy trình x lý c ơ bn ca y tính gm I-P-O.
Input Output