Sach vié't vê lâp trinh bâng ngôn ngü C dû cô nhiêu nhûng IOP trinh C cho cdc chuyên ngành thi râ't hiêin.. Khi biél cdch IOP trinh bâng ngôn ngù C, ta lgi cân hiêu sâu vê cdc Iïnh vVc l
Trang 1W, BUCHANAN
РН4М HUY QUYNH
NHA XUAT BAN
КНОА нос vA ку тн[ЈАт
Trang 2W Buchanan
12
LÂp TRÌNH C
TRONG
ln lân thü hal, cÔ süa chüa và bd sung
Ngüòi dich: Ngô Diên Tàp
Ph4m Huy Quynh THU VIEN
NHÀ XUÂT BAN KHOA HOC VX THUST
HX NÔI - 2000
Trang 3Sach vié't vê lâp trinh bâng ngôn ngü C dû cô nhiêu nhûng IOP trinh C cho cdc chuyên ngành thi râ't hiêin Khi biél cdch IOP trinh
bâng ngôn ngù C, ta lgi cân hiêu sâu vê cdc Iïnh vVc ling d{lng mdi cô
thé' viéi ra nhüng chiidng trinh üng d«ng cô gid tri Khi qua ditqc hai diêu kiên này thi hoâc không cô nhiêu thòh gian, hoàc không mu6n
ngôi Viêt lgi nhÜtng kinh nghiëm nén it ai dû dành thòi gian Viêt vé cdc scich lâp trinh cho cdc chuyén ngành, Cuôh sdch cùa W Buchanan mà
chüng tôi gidi thiëu d dây là mot triiÒng hep dëc biç;t
Cuôh sach này duqc Viél nhâm giüp cho Sinh vién, kS' sti cdc ngành
thu@t dièn tt, kS' thuât diç;n, kS' thuêt mdy tinh nhanh chông làm
quen vdi kj thuât lâp trinh bàng ngôn ngü' C theo cdch trinh bày ngàn
gen va ngôn ngü rôi ddn ddt ng1tÙi dec ctêh vÒi nhüng bài tocin cu thé'
vê kj thu@t diç;n, dien tt
Trong sach cô râ't nhiéu trinh dùng làm thi du minh hoçz, tt
don gidn déh phüc tgp, dôi khi lép Igi d mot vài chù dé nhung khô dân
dé' ngrùi dec ddn ddn thành thgo Didm cdn Iru là cac chuong trinh
minh hoq này dl"c gidi thiëu trt?dc hét nhàm dich dec hidu, nén dé' trdnh sv hidu Idm, ddc biç;t vdi mot sô' bgn dQC cèn khô khân vÒi tiéhg Anh, nhüng lifi chü thich và mât vài thông bdo trong chu'dng trinh cüng '1h11 d phdn ledt qua chqy thü d mét sdchUdng ddu chüng tôi dû dich sang tidng Viët cô ddu; và ta déu biêi trinh dich không thé' hié'u ctltqc cdc cht cô ddu này nén khi gô chiicmg trinh vào mdy tinh dë'chgy thù ta phdi bd di cdc ddu hoéc chuydn sang tiêhg Anh
Hy veng nëi dung cuôh sdch sê giüp ich rat nhiéu cho cdc Sinh viên, k} su chuyên cüng nht? không chuyén vê kj thuçit lçip trinh
Vé phdn công viec:
- Phgm Huy Qujnh: dich chucjng 2; 3 và sodt Idi cac chttdng trinh
Ngô Dién Tâp: dich cdc chUdng 1; 4 déh 14 và hoàn thiën
toàn bé bdn thdo
Mâc dù dû dành thòi gian thich ddng nhung khÔng trdnh khdi mot sò'lòi, déc biç;t là cdc Ibi vé ddu ngât cau trong phàn chuong trinh van _cÔ thê' côn sôt Igi trong cuô'n sdch Rdt mong bgn dec gan xa chi ddn cho Thil tügôp Xin giti vé Nhà xuât bàn Khoa hpc và KY thuât, 70 Ph6
Tran Hurng Dao, Hà nôi
Nhûtng nguòi dich
Trang 4Muc 1-vc
Ldi nói dâu
n Muc luc
Chl]dng 1 Md dâu
• 1.1 Phân cong, phân m6m va phân syn
1.2 Lich scr ngôn ngCr C
• 1.3 So łupc ve cău tróc rnźy tinh
• 1.4 Biën dich, Iiën kët va viăt môt chuong trinh chăp hănh
• 1.5 Bó tiÔn ły
• 1.6 Cău troc
1.7 SÓ va cach bigu diČn só
- 1.7.1 só âm
- 1.7.2 SÓ thâp luc phân va bât phân
• 1.8 Câc hâng ky tu
• 1.9 Ki6u liëu
• 1.10 Khai bâo câc bi6n
• 1.11 Chc toân ter trong ngôn ngCr C
- 1.11.1 Toăn tet só hoc
- 1.11.2 Toân ter so sanh
- 1.11.3 Toân ter lôgic (dóng hoăc sai)
- 1.11.4 Toân ter xer ły tói bit
• 1.12 Quyôn tru tiën
• 1.13 Chuygn đ6i ki6u di] liëu
• 1.14 TU khoâ
• 1.15 MÔt só thuât ngt
• 1.16 Thłgc hănh
D Chudng 2 NhÔp văo vă xuăt ra
• 2.1 Câc łenh chudn printf(), put(), putchar() dong d6 xuăt ra
- 2.1.1 Căc k} tuđi6u khi6n dăc biôt
- 2.1.2 Căc k} tv đ16u khi6n chuy6n d6i
- 2.1.3 Môts6thid14
• 2.2 Câc łenh nhâp văo chudn scanf(), gets() vă getchar()
Trang
3
4
9 10 10
11
12 16
18 21 21
22
25
27 29 30
31
32 33
35 39
40
43
46 50 52 54
55
59
66
Trang 5- 2.2.1 Möt s6 thi du
• 2.3 Thvc hånh
Chuang 3 Cåc lénh Iva chon
• 3.1 Lénh if else
-3.1.1 Mét söthidu
3.2 Lénh switch
- 3.2 I Möt s6 thi du
• 3.3 Thvc hånh
Chuang 4 Lénh läp
e 4.1 Vöng läp for
-4.1 I Möt s6 thi du
• 4.2 Lénh while
e 4.3 Lénh do while
• 4.4 Lénh ngung break
4.5 Lénh tiép tuc continue
• 4.6 Möt s6 thi du
- 4.6.1 Phuong trinh Boole
- 4.6.2 tich cvcRC
• 4.7 Thuc hånh
O Chddng 5 Cåc håm
• 5.1 Chuyén giao tham s6
• 5.2 Giå tri trå lei
• 5.3 Kiéu håm
• 5.4 Sdf dung bé tién xü IY dé (T!nh nghia håm macro
e 5.5 Möt s6 thi du
- 5.5.1 Lögic td hop
- 5.5.2 Trå khång cüa mach RL n6i tiép
- 5.5.3 Dåp üng xoay chiéu Cda mech RC n6i tiép
- 5.5.4 S6ng håi cia mét song xung låp lei
- 5.5.5 Phån IO@i cåc song vö tuyén
- 5.5.6 Trb khång dudng truyén
• 5.6 ThVC hånh
O Chddng 6 Con trå
5
70 •
83 93 94
98
110
111
120 126 127 129 143 143 144
147
148 148
152
155 166 167
171
174
177 182 182 190
195
199 205
208
211
216
Trang 6e 6.1 Con trö vå håm
• 6.2 Möt sö thi du
- 6.2 I Cåc Phuong trinh båc hai
- 6.2.2 Dién trd tuong dtrong cia cac dién trd måc song song
- 6.2.3 Trd khång cia mach RL
- 6.2.4 Chuang trinh quan sat bö nhd
- 6.2.5 Truy nhåp bö nhd video-text cia may tinh PC
• 6.3 ThifC hånh
CJ Chuang 7 Mång
• 7.1 Con trå vå mång
e 7.2 Chuyén giao mång tdi håm
• 7.3 Khdi teo mång
e 7.4 Mång nhiéu chiéu
• 7.5 Phån bö döng
• 7.6 S6 hoc con trå
• 7.7 Mång con trå
7.8 Möt du
- 7.8 I Mach (Tlén Boole
- 7.8.2 Trå khång cüa mach RL
- 7.8.3 Phån tich mach DC
- 7.8.4 Mö phÖng Iögic
7.9 Thuc hånh
O Chifdng 8 Xåu
8.1 Nhåp våo mot xåu
8.2 Gån xåu
8.3 Håm xåu chuån
e 8.4 Trd khång cia mach RC song song
8.5 I-da chon rnqch (Tien
• 8.6 Thiét låp mot mång cüa xåu
8.7 Thvc hånh
O ChUOng 9 Cåc cäu trüc
• 9.1 Mång cüacäutrüc
• 9.2 Såp xép cäu trüc theo kiéu dOng
• 9.3 Truong bit
218 220 220 223 225 228
231
235 239
241
242 249 252 257 259 262 266 266 268
271
277
284 285 287
291
295 302 305 308
311
916 325 327
Trang 7• 9.4 Câu trüc time
• 9.5 Môt s6 thi du
- 9.5.1 Sa bàn dèn giao thông
- 9.5.2 Trà khâng Idi vào cùa mach RLC
- 9.5.3 Câc vi mach ho 74
• 9.6 Thuc hành
Chlfdng 10 Nhêp/ xuât têp
10.1
10.2
• 10.3
e 10.4
10.5
e 10.6
Md môt têp Dông môt têp Xuât text vào môt têp Doc text tir môt têp Tim ch6 két thüc cùa môt têp Nhân xâu text tu mot têp
• 10.7 E)àt xàu text vào môt têp
10.8 Dàt kY tg vào mot tep
10.9 Nhàn kY tg tu mot têp
• 10.10 Têp nhi phân
- IO 10.1 Doc dü liêu nhi phân tüm4t têp
- 10.10.2 Viét dü liêu nhi phân vào rnôt tep
e 10.11 Môt s6 thi dg
.- 10.11.1 Phifong trinh dai s6 Boole
- 10.11.2 Chuong trinh lây trung binh
- 10.11.3 Chifong trinh dqc/ viét nhi phàn
• 10.12 Thuc hành
O Chifdng 11 Lap trình he th6ng
• 11.1 Ldi gQi he th6ng
• 11.2 Chuy6n giao tham s6
• 11.3 MOt s6thi de
• 11.4 Thqc hành
Chufdng 12 Câc dê ân
12.1
12.2
e 12.3
12.4
Tân s6 cong hlfòng cùa mach RLC n6i tiép
Dòng Œlên qua Œ16t Mach Boole
BO bién d6i thâp phàn sang nhi phân
330 333
333
338
340 342
347
350
352 352
352 352 353 354 354 354 354 354 355 356 356 359
361
365
371 371 376
377
381
383 383 387
391
394
Trang 8• 12.5 Chuang trinh mä måu dién trd
• 12.6 Thi.jc hånh
O Chi-fdng 13 Cöng nghé phan mém cng dung
• 13.1 Viét phån mém
• 13.2 Låp trinh cho mech RLC
- 13.2.1Phån tich va ffnh rö cåc yéu cåu
- 13.2.2 Phån tich cåc yéu cåu
- 13.2.3 Dinh rö cåc yéu cau
- 13.2.4 Thiét ké
- 13.2.5 Cåc däc tinh mödun
- 13.2.6 Hoån thién
- 13.2.7 Kiém tra phién bån
- 13.2.8 nghiém hé th6ng
- 13.2.9 Cåi dåt chtrong trinh
e 13.3 Thanh ghi dich phån h6i tuyén tinh
- 13.3.1Phån tich cåc yéu cåu
- 13.3.2Dinh rö cåc yéu cåu
- 13.3.3Thiét ké
- 13.3.4 Cåc thuyét minh mödun
- 13.3.5 Mä ngu6n
- 13.3.6 Kiém tra hé th6ng
- 13.3.7 Cåi dåt
e 13.4 ThLfc hånh
O Chifdng 14 KY thu#t db hoe måy tinh vdi Turbo/ Borland C
e 14.1 Cåc thi tyc db hoe co bån
- 14.1.1 Tåt ché db hoe
- 14.1.2 Khåi déng dd hoe
- 14.1.3 Vé mét dlérn ånh
- 14.1.4 Vé mét dudng thång
- 14.1.5 Vé mét hinh chü nh#t
- 14.1.6 Hién thi van bån
- 14.1.7 Vé mét vÖng trön
- 14.1.8 Vé ånh bitmap
• 14.2 Thvc hånh
397 401 414 414
416
416 417 418 426 427 429 437 438 445 446 446 447 449
450
451 455
457 458 463
471
471 471
473
475 476 479 480
482 487