Tài liệu lập trình C

337 1.1K 18
Tài liệu lập trình C

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tài liệu lập trình C

PH M VĂN T (Ch biên) NGUY N HI U CƯ NG L P T R Ì NH H Ư NG ð I T Ư NG V À C ++ NHÀ XU T B N GIAO THÔNG V N T I L I NĨI ð U L p trình hư ng ñ i tư ng C ++ m t mơn h c quan tr ng đ i v i sinh viên ngành Công ngh thông tin m t s ngành h c khác L p trình hư ng ñ i tư ng phương pháp l p trình ch đ o hi n cơng nghi p ph n m m tư tư ng hư ng ñ i tư ng ñư c áp d ng h u h t ngôn ng l p trình hi n đ i C++ , Visual C++ , C#, Java Phương pháp l p trình ph bi n nh t nh ng năm 70 80 c a th k trư c l p trình c u trúc ðó phương pháp t ch c, phân chia chương trình thành hàm, th t c Thông qua ngôn ng Pascal C, ña s nh ng ngư i làm Tin h c ñã quen bi t v i phương pháp l p trình Tuy nhiên phương pháp l p trình d n b c l nhi u h n ch Phương pháp l p trình hư ng ñ i tư ng ñã kh c ph c ñư c nh ng h n ch c a l p trình c u trúc m m t giai ño n phát tri n m i công nghi p ph n m m L p trình hư ng ñ i tư ng d a vi c t ch c chương trình thành l p Khác v i hàm th t c, l p m t ñơn v bao g m c d li u phương th c x lý Vì v y l p có th mơ t th c th m t cách chân th c, ñ y ñ ch t ch Ngơn ng C đ i năm 1973 v i m c đích ban đ u ñ vi t h ñi u hành Unix máy tính mini PDP Sau C đư c s d ng r ng rãi nhi u lo i máy tính khác tr thành m t ngơn ng l p trình c u trúc r t ñư c ưa chu ng ð ñưa C vào th gi i hư ng hư ng ñ i tư ng, năm 1980 B Stroustrup ñã cho ñ i m t ngôn ng m i g i C++, m t s phát tri n m nh m c a ngôn ng C Ngôn ng C++ m t ngơn ng lai, t c cho phép t ch c chương trình theo c l p hàm Có th nói C++ thúc đ y ngơn ng C v n r t thuy t ph c ñi vào th gi i l p trình hư ng đ i tư ng C++ tr thành ngơn ng hư ng đ i tư ng m nh ñư c s d ng r ng rãi nh t t nh ng năm 1990 Giáo trình s trình b y m t cách h th ng khái ni m c a l p trình hư ng ñ i tư ng ñư c cài ñ t C++ l p, ñ i tư ng, s th a k , tính tương ng b i, khn hình kh m i xây d ng, s d ng hàm như: ñ i tham chi u, ñ i m c ñ nh, hàm trùng tên, hàm toán t Cu i m i chương ñ u có t p nh ng m c ñ khác ñ ñ c gi t rèn luy n thêm Các v n ñ ph c t p thư ng địi h i ph i phân tích thi t k tương ñ i ñ y ñ trư c có th vi t chương trình Tuy giáo trình khơng t p trung vào phân tích thi t k , ph l c gi i thi u v n t t v phương pháp phân tích, thi t k hư ng ñ i tư ng Cu n sách g m chương ph l c Chương hư ng d n cách làm vi c v i ph n m m TC++ 3.0 ñ th nghi m chương trình, trình b y sơ lư c v phương pháp l p trình gi i thi u m t s m r ng ñơn gi n c a C++ Chương trình b y kh m i vi c xây d ng s d ng hàm C++ bi n tham chi u, đ i có ki u tham chi u, đ i có giá tr m c đ nh, hàm tr c n, hàm trùng tên, hàm toán t Chương nói v m t khái ni m trung tâm c a l p trình hư ng ñ i tư ng Chương trình bày chi ti t v đ nh nghĩa ch ng tốn t Chương trình b y v n đ t o d ng, chép, hu tư ng v n đ khác có liên quan b ñ i Chương trình b y m t khái ni m quan tr ng t o nên kh m nh c a l p trình hư ng đ i tư ng vi c phát tri n, m r ng ph n m m, kh th a k c a l p Chương trình b y m t khái ni m quan tr ng khác l p trình hư ng đ i tư ng tính tương ng b i phương th c o Chương nói v vi c t ch c vào/ra C++ Chương trình b y v khn hình (template) C++ Ph chúng l c trình b y phép tốn C ++ th t ưu tiên c a Ph l c trình b y v b ng mã ASCII mã quét c a ký t Ph l c t p h p m t s câu h i tr c nghi m ñáp án ñ b n ñ c t ki m tra l i ki n th c Ph l c trình b y m t cách ng n g n phương pháp phân tích, thi t k l p trình hư ng ñ i tư ng Cu i danh m c m t s thu t ng chuyên ngành s d ng giáo trình v trí tham chi u đ đ c gi ti n tra c u, m t s tài li u tham kh o N i dung c a giáo trình đư c PGS TS Ph m Văn t biên so n d a n n cu n “C++ & l p trình hư ng đ i tư ng” c a tác gi , có m t s b sung s a ch a ThS Nguy n Hi u Cư ng biên so n chương 4, ph l c 3, t p cu i m i chương hi u ch nh giáo trình Khi vi t giáo trình chúng tơi h t s c c g ng đ giáo trình đư c hồn ch nh, song ch c khơng tránh kh i thi u sót, v y chúng tơi r t mong nh n đư c s góp ý c a ñ c gi Các tác gi Chương CÁC KHÁI NI M CƠ B N Chương trình b y v n đ sau: - Cách s d ng ph n m m Turbo C++ 3.0 - Tóm lư c v phương pháp l p trình c u trúc l p trình hư ng ñ i tư ng - Nh ng m r ng c a C++ so v i C § LÀM VI C V I TURBO C++ 3.0 Các ví d giáo trình đư c vi t th c hi n môi trư ng Turbo C++ (TC++ phiên b n 3.0) Sau cài ñ t (gi s vào thư m c C:\TC) thư m c TC s g m có thư m c sau: C:\TC\BGI ch a t p BGI CHR C:\TC\BIN ch a t p chương trình (đi EXE) TC, TCC, TLIB, TLINK, … C:\TC\INCLUDE ch a t p tiêu đ H C:\TC\LIB ch a t p LIB, OBJ ð vào mơi trư ng c a TC++ ch c n th c hi n t p chương trình TC.EXE thư m c C:\TC\BIN Sau vào môi trư ng TC++ th y vùng so n th o chương trình h menu c a TC++ (g n gi ng h menu quen thu c c a Turbo C) H menu c a TC++ g m menu: File, Edit, Search, Run, Compile, Debug, Project, Options, Window, Help Cách so n th o, biên d ch ch y chương trình TC++ gi ng TC, ngo i tr ñi m sau: T p chương trình h so n th o c a TC++ có m c đ nh CPP cịn TC t p chương trình có C Trong TC++ có th th c hi n c chương trình C C++ § NGƠN NG C VÀ C++ Có th nói C++ s m r ng đáng k c a C ði u có nghĩa nh ng kh m i c a C++, m i kh năng, m i khái ni m C ñ u dùng ñư c C++ Vì C++ s d ng g n tồn b khái ni m, ñ nh nghĩa, ki u d li u, c u trúc l nh, hàm công c khác c a C, nên s thu n l i n u ñ c gi ñã bi t s d ng tương đ i thành th o ngơn ng C Giáo trình ch y u t p trung vào khái ni m l p trình hư ng đ i tư ng ngơn ng C++, s khơng trình bày l i ch đ b n ngôn ng C ki u d li u, c u trúc ñi u n, … Vì C++ s m r ng c a C, nên b n thân m t chương trình C ñã chương trình C++ Tuy nhiên Trình biên d ch TC++ yêu c u m i hàm chu n dùng chương trình đ u ph i khai báo nguyên m u b ng m t câu l nh #include, u khơng b t bu c đ i v i Trình biên d ch c a TC Trong C ta có th dùng m t hàm chu n mà b qua câu l nh #include ñ khai báo nguyên m u c a hàm ñư c dùng ði u không báo l i biên d ch, có th d n đ n k t qu sai ch y chương trình Ví d biên d ch chương trình sau mơi trư ng C s khơng g p dịng c nh báo (warning) thông báo l i (error) Nhưng ch y s nh n ñư c k t qu sai #include void main() { float a,b,c,p,s; printf("\nNhap a, b, c "); scanf("%f%f%f",&a,&b,&c); p=(a+b+c)/2; s= sqrt(p*(p-a)*(p-b)*(p-c)); printf("\nDien tich = %0.2f",s); getch(); } N u biên d ch chương trình TC++ s nh n đư c thông báo l i sau: Error: Funtion ‘sqrt’ should have a prototype Error: Funtion ‘getch’ should have a prototype ð bi n chương trình thành m t chương trình C++ c n: + ð t tên chương trình v i CPP + Thêm hai câu l nh #include ñ khai báo nguyên m u cho hàm sqrt getch: #include #include § L P TRÌNH C U TRÚC VÀ L P TRÌNH HƯ NG ð I TƯ NG 3.1 Phương pháp l p trình c u trúc Tư tư ng c a l p trình c u trúc t ch c chương trình thành chương trình Trong PASCAL có hai ki u chương trình th t c (procedure) hàm (fuction) Trong C ch có m t lo i chương trình hàm Hàm m t đơn v chương trình đ c l p dùng ñ th c hi n m t ph n vi c như: Nh p s li u, in k t qu hay th c hi n m t s tính tốn Hàm c n có đ i bi n, m ng c c b dùng riêng cho hàm Vi c trao ñ i d li u gi a hàm th c hi n thông qua đ i bi n tồn b Các ngôn ng C, PASCAL ngôn ng cho phép tri n khai phương pháp l p trình c u trúc M t chương trình c u trúc g m c u trúc d li u (như bi n, m ng, b n ghi, …) hàm, th t c Nhi m v c a vi c t ch c thi t k chương trình c u trúc t ch c chương trình thành hàm, th t c Ví d xét yêu c u sau: Vi t chương trình nh p to đ (x,y) c a m t d y ñi m, sau tìm m t c p m cách xa nh t Trên tư tư ng c a l p trình c u trúc có th t ch c chương trình sau: + S d ng hai m ng th c tồn b x y đ ch a to ñ d y ñi m + Xây d ng hai hàm: Hàm nhapsl dùng ñ nh p to ñ n ñi m, hàm có m t ñ i bi n nguyên n ñư c khai báo sau: void nhapsl(int n); Hàm do_dai dùng ñ tính đ dài đo n th ng qua ñi m có ch s i j , đư c khai báo sau: float do_dai(int i, int j); Chương trình C cho tốn đư c vi t sau: #include #include #include float x[100], y[100]; float do_dai(int i, int j) { return sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2)); } void nhapsl(int n) { int i; for (i=1;i

Ngày đăng: 16/08/2012, 09:25

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan