Sè LAO ĐâNG, TH¯¡NG BINH VÀ Xà HâI ĐÂK LÂK TR¯èNG TRUNG CÂP TR¯èNG S¡N GIÁO TRÌNH MÔN HàC: L¾P TRÌNH C¡ BÀN NGHÀ: CÔNG NGHÞ THÔNG TIN TRÌNH Đä: TRUNG CÂP Ban hành kèm theo Quyết định số: 140/QĐ-TCTS ngày 26 tháng 12 năm 2022 của Hiệu trưởng Trường trung cấp Trường Sơn Đắk Lắk, năm 2022 TUYÊN Bä BÀN QUYÀN Tài liáu này thuãc lo¿i sách giáo trình nên các nguồn thông tin có thÇ đ°ÿc phép dùng nguyên bÁn hoÁc trích dùng cho các māc đích vÅ đào t¿o và tham khÁo. Mçi māc đích khác mang tính lách l¿c hoÁc sĉ dāng våi māc đích kinh doanh thiÃu lành m¿nh sÁ bå nghiêm cÃm. ii LèI GIæI THIÞU Hián nay, t¿i Tr°çng ch°a có giáo trình LÁp trình c¢ bÁn. ĐÁc biát trên thå tr°çng không có tài liáu hçc tÁp, tham khÁo phù hÿp våi ch°¢ng trình khung Cao đẳng nghÅ, trung cÃp nghÅ thuãc nghÅ Công nghá thông tin (CNTT) trong quá trình đào t¿o nghÅ hián nay.
Nhóm tác giÁ biên so¿n giáo trình lÁp trình c¢ bÁn nhÅm māc đích giúp hçc sinh, sinh viên (HSSV) sĉ dāng giáo trình làm tài liáu nghiên cąu và hçc tÁp mãt cách thuÁn tián. Ch°¢ng trình môn hçc đ°ÿc sĉ dāng đÇ giÁng d¿y cho sinh viên trung cÃp nghÅ Công nghá thông tin (ąng dāng phÅn mÅm) và làm tài liáu tham khÁo cho các nghÅ thuãc các ngành nghÅ kỹ thuÁt. VÁy, rÃt mong đ°ÿc sč góp ý căa b¿n đçc đÇ tài liáu này ngày càng đ°ÿc hoàn thián h¢n, chúng tôi xin chân thành cÁm ¢n. Xin chân thành cÁm ¢n!.
ĐÃk LÃk, ngày 02 tháng 8 năm 2022 Tham gia biên so¿n 1. Ph¿m Hồng Quëc - Chă biên 2. ĐÁu Nguyßn Thanh Nhàn 3. Nguyßn Thái V°¢ng iii MĀC LĀC LæI GIäI THIàU.
III GIÁO TRÌNH MÔN HæC. 1 CH¯¡NG I: GIäI THIàU NGÔN NGĊ LÀP TRÌNH C. GIäI THIàU NGÔN NGĊ C. Låch sĉ phát triÇn.
T¿o måi, ghi mãt ch°¢ng trình C. SĈ DĀNG TRþ GIÚP. 15 CH¯¡NG II: CÁC THÀNH PHÄN C¡ BÀN CĂA NGÔN NGĊ LÀP TRÌNH C. TĆ KHÓA VÀ KÍ HIàU.
TÁp ký tč dùng trong ngôn ngċ C. CÁC KIÆU DĊ LIàU S¡ CÂP. KiÇu së nguyên. KiÇu së thčc (KiÇu dÃu phẩy đãng).
BIÂN, HÄNG, BIÆU THĄC. Phân lo¿i, khai báo và sĉ dāng biÃn. BiÃn và BiÇu thąc. CÂU TRÚC MâT CH¯¡NG TRÌNH.
TiÅn xĉ lý và biên dåch. CÃu trúc mãt ch°¢ng trình C. Các th° vián thông dāng. Lánh gán và lánh gãp.
NhÁp và xuÃt dċ liáu. THČC THI CH¯¡NG TRÌNH. 33 CH¯¡NG III: CÁC CÂU LàNH CÓ CÂU TRÚC. CÂU TRÚC RÀ NHÁNH.
CÂU TRÚC LČA CHæN. CÂU TRÚC LÀP. Vòng lÁp do& while. CÁC LàNH ĐÀC BIàT.
56 CH¯¡NG IV: HÀM VÀ CH¯¡NG TRÌNH CON. KHÁI NIàM HÀM. Phân lo¿i hàm. Quy tÃc ho¿t đãng căa hàm.
XÂY DČNG HÀM. Đånh nghĩa hàm. CÁC THAM Sê CĂA HÀM. Phân biát các lo¿i tham së.
Cách truyÅn tham së. 65 CH¯¡NG V: DĊ LIàU KIÆU MÀNG. KHÁI NIàM MÀNG. TRUY XUÂT MÀNG.
Truy xuÃt mÁng 1 chiÅu. Truy xuÃt mÁng 2 chiÅu. 75 CH¯¡NG VI: CON TRè. KHAI NIàM VÄ CON TRè VA DäA CHâ.
KHAI BAO VA SĈ DĀNG BIÂN CON TRè. Khai báo biÃn con tré. Các thao tác trên con tré. 81 CH¯¡NG VII: CHUàI KÝ TČ.
Khai báo theo mÁng. Khai báo theo con tré. Vća khai báo vća gán giá trå. CÁC THAO TÁC TRÊN CHUàI.
NhÁp chuái tć bàn phím. XuÃt chuái ra màn hình. Mãt së hàm xĉ lý chuái. 87 TÀI LIàU THAM KHÀO.
89 vi GIÁO TRÌNH MÔN HàC Tên môn hác: LÀP TRÌNH C¡ BÀN Mã môn hác: MH11 Vß trí, tính chÃt, ý nghĩa và vai trò cāa mô đun: - Vå trí: Là môn hçc c¢ sé nghÅ trong ch°¢ng trình đào t¿o Trung cÃp nghÅ Công nghá thông tin (ąng dāng phÅn mÅm). Môn hçc này đ°ÿc hçc sau khëi môn hçc chung và môn CÃu trúc dċ liáu và giÁi thuÁt. - Tính chÃt: Là môn hçc cung cÃp cho hçc sinh nhċng khái niám, thuÁt toán c¢ bÁn vÅ ngôn ngċ lÁp trình C và kỹ năng lÁp trình c¢ bÁn. - Ý nghĩa và vai trò căa môn hçc: Mÿc tiêu cāa môn hác: - VÁ ki¿n thức: - Trình bày đ°ÿc nhċng khái niám c¢ bÁn vÅ ngôn ngċ lÁp trình C; - Trình bày đ°ÿc ph°¢ng pháp giÁi quyÃt vÃn đÅ trên máy tính bÅng ngôn ngċ lÁp trình; - Cung cÃp cho hçc sinh nhċng khái niám c¢ bÁn vÅ ngôn ngċ lÁp trình C: câu lánh, tć khóa, cú pháp, cách khai báo và sĉ dāng biÃn, hàm và các cÃu trúc lánh trong ngôn ngċ C; - Trình bày đ°ÿc qui tÃc xây dāng hàm, cách sĉ dāng hàm trong mãt ch°¢ng trình; - Trình bày đ°ÿc ý nghĩa, cách khai báo, cách truy xuÃt våi mãt së cÃu trúc dċ liáu; - Trình bày đ°ÿc khái niám vÅ kiÇu dċ liáu chuái ký tč và các thao tác cách khai báo biÃn chuái; - Trình bày đ°ÿc ý t°éng và ph°¢ng pháp căa mãt së thuÁt toán.
- VÁ kỹ năng: - Tìm kiÃm, download, lča chçn và cài đÁt môi tr°çng làm viác căa ngôn ngċ lÁp trình C; - Cài đÁt đ°ÿc mãt së ch°¢ng trình ąng dāng đ¢n giÁn bÅng ngôn ngċ lÁp trình C; - ThiÃt kÃ, đçc, hiÇu, chãnh sĉa đ°ÿc các ch°¢ng trình căa ngôn ngċ lÁp trình (C) có s¿n; - ViÃt đ°ÿc các ch°¢ng trình đ¢n giÁn thčc hián các thao tác truy xuÃt trên các phÅn tĉ căa mÁng và truy xuÃt trên đëi t°ÿng kiÇu con tré; - ViÃt đ°ÿc các ch°¢ng trình đ¢n giÁn thčc hián các thao tác truy xuÃt trên các phÅn tĉ căa mÁng; - Khai báo đ°ÿc biÃn chuái đÇ viÃt các ch°¢ng trình thčc hián mãt së thao tác xĉ lý các chuái ký tč ; - Áp dāng các thuÁt toán đÇ viÃt ch°¢ng trình trên phÅn mÅm C. 1 - VÁ năng lăc tă chā và trách nhißm: - Có khÁ năng t° ̣nghiên cąu, t° ̣hoc,̣ tham khÁo tài liêā liên quan đÃn môn hçc đÇ vâ渃⌀ dung ̣ vào hoa球⌀ đông ̣ hoc tâp; - Nghiêm túc, có tinh thÅn phëi hÿp tham gia hçc, làm nhóm theo yêu cÅu căa giáo viên; - Rèn luyán tính tß chąc, tính tÁp thÇ, linh ho¿t, khoa hçc, cẩn thÁn; - Hçc sinh phÁi tích lũy đă së giç hçc theo quy đånh, tham gia đÅy đă các giç thčc hành. - Nåi dung cāa môn hác: Théi gian TT Tên ch°¢ng, mÿc Táng Lý Thăc KiÃm så thuy¿t hành, tra* 1 Ch°¢ng I: Giåi thiáu ngôn ngċ lÁp trình C 3 1 2 Ch°¢ng II: Các thành phÅn c¢ bÁn căa ngôn 2 5 2 3 ngċ lÁp trình C 3 Ch°¢ng III: Các câu lánh có cÃu trúc 12 4 8 4 Ch°¢ng IV: Hàm và ch°¢ng trình con 10 3 6 1 5 Ch°¢ng V: Dċ liáu kiÇu mÁng 5 2 3 6 Ch°¢ng VI: Con tré 5 2 3 7 Ch°¢ng VII: Chuái ký tč 5 1 3 1 TàNG CäNG 45 15 28 2 2 CH¯¡NG I: GIæI THIÞU NGÔN NGĀ L¾P TRÌNH C Giçi thißu Mÿc tiêu - Trình bày sč ra đçi và phát triÇn, vå trí và ąng dāng căa ngôn ngċ lÁp trình C hián nay; - Trình bày nhċng th° vián th°çng dùng và các khái niám vÅ ngôn ngċ lÁp trình, khái niám vÅ giÁi thuÁt, khái niám vÅ kỹ thuÁt lÁp trình tuyÃn tính và nguyên lý ho¿t đãng căa ngôn ngċ lÁp trình C; - Trình bày và sĉ dāng đ°ÿc há thëng trÿ giúp công cā (Tools) há trÿ lÁp trình C; - Tìm kiÃm, download, lča chçn và cài đÁt môi tr°çng làm viác căa ngôn ngċ lÁp trình C trên máy tính cá nhân; - Chă đãng tìm hiÇu các tính năng căa ngôn ngċ C; - Rèn luyán tính cẩn thÁn, tã mã, chính xác, sáng t¿o, linh ho¿t trong công viác. Giçi thißu ngôn ngā C 1.
Lßch sÿ phát triÃn Ngôn ngċ C là ngôn ngċ lÁp trình cÃp cao, đ°ÿc sĉ dāng rÃt phß biÃn đÇ lÁp trình há thëng cùng våi Assembler và phát triÇn các ąng dāng. Vào nhċng năm cuëi thÁp kỷ 60 đÅu thÁp kỷ 70 căa thà kỷ XX, Dennish Ritchie (làm viác t¿i phòng thí nghiám Bell) đã phát triÇn ngôn ngċ lÁp trình C dča trên ngôn ngċ BCPL (do Martin Richards đ°a ra vào năm 1967) và ngôn ngċ B (do Ken Thompson phát triÇn tć ngôn ngċ BCPL vào năm 1970 khi viÃt há điÅu hành UNIX đÅu tiên trên máy PDP-7) và đ°ÿc cài đÁt lÅn đÅu tiên trên há điÅu hành UNIX căa máy DEC PDP-11. Năm 1978, Dennish Ritchie và B.W Kernighan đã cho xuÃt bÁn quyÇn <Ngôn ngċ lÁp trình C= và đ°ÿc phß biÃn rãng rãi đÃn nay. Lúc ban đÅu, C đ°ÿc thiÃt kà nhÅm lÁp trình trong môi tr°çng căa há điÅu hành Unix nhÅm māc đích há trÿ cho các công viác lÁp trình phąc t¿p.
Nh°ng vÅ sau, våi nhċng nhu cÅu phát triÇn ngày mãt tăng căa công viác lÁp trình, C đã v°ÿt qua khuôn khß căa phòng thí nghiám Bell và nhanh chóng hãi nhÁp vào thà giåi lÁp trình đÇ rồi các công ty lÁp trình sĉ dāng mãt cách rãng rãi. Sau đó, các công ty sÁn xuÃt phÅn mÅm lÅn l°ÿt đ°a ra các phiên bÁn há trÿ cho viác lÁp trình bÅng ngôn ngċ C và chuẩn ANSI C cũng đ°ÿc khai sinh tć đó. Ngôn ngċ lÁp trình C là mãt ngôn ngċ lÁp trình há thëng rÃt m¿nh và rÃt <mÅm d¿o=, có mãt th° vián gồm rÃt nhiÅu các hàm (function) đã đ°ÿc t¿o s¿n. Ng°çi lÁp trình có thÇ tÁn dāng các hàm này đÇ giÁi quyÃt các bài toán mà không cÅn phÁi t¿o måi.
H¢n thà nċa, ngôn ngċ C há trÿ rÃt nhiÅu phép toán nên phù hÿp cho viác giÁi quyÃt các bài toán kỹ thuÁt có nhiÅu công thąc phąc t¿p. Ngoài ra, C cũng cho phép ng°çi lÁp trình tč đånh nghĩa thêm các kiÇu dċ liáu trću t°ÿng khác. Tuy nhiên, điÅu mà ng°çi måi vća hçc lÁp trình C th°çng gÁp <rÃc rëi= là <h¢i khó hiÇu= do sč <mÅm 3 d¿o= căa C. Dù vÁy, C đ°ÿc phß biÃn khá rãng rãi và đã tré thành mãt công cā lÁp trình khá m¿nh, đ°ÿc sĉ dāng nh° là mãt ngôn ngċ lÁp trình chă yÃu trong viác xây dčng nhċng phÅn mÅm hián nay.
Să cÅn thi¿t a) ThuÁt ngċ căn bÁn Khi mãt máy tính đ°ÿc khéi đãng, tč đãng thčc thi mãt së tiÃn trình và xuÃt kÃt quÁ ra màn hình. ÐiÅu này dißn ra thà nào? Câu trÁ lçi đ¢n giÁn là nhç vào Há điÅu hành cài đÁt bên trong máy tính. Há điÅu hành (operating system) đ°ÿc xem nh° phÅn mÅm há thëng. PhÅn mÅm này khéi đãng máy tính và thiÃt lÁp các thông së ban đÅu tr°åc khi trao quyÅn cho ng°çi dùng.
ĐÇ làm đ°ÿc điÅu này, há điÅu hành phÁi đ°ÿc cÃu t¿o tć mãt tÁp hÿp các ch°¢ng trình.