Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
417,71 KB
Nội dung
Ch ng 1. Các khái ni m c b n c a C++ươ ệ ơ ả ủ CHƯƠNG 1 CÁC KHÁI NIỆM CƠ BẢN CỦA C++ Các y u t cế ố ơ b n ả Môi tr ng làm vi c c a C++ườ ệ ủ Các b c đ t o và th c hi n m t ch ng trình ướ ể ạ ự ệ ộ ươ Vào/ra trong C++ I. CÁC Y U T C B NẾ Ố Ơ Ả M t ngôn ng l p trình (NNLT) b c cao cho phép ng i s d ng (NSD) bi uộ ữ ậ ậ ườ ử ụ ể hi n ý t ng c a mình đ gi i quy t m t v n đ , bài toán b ng cách di n đ t g nệ ưở ủ ể ả ế ộ ấ ề ằ ễ ạ ầ v i ngôn ng thông th ng thay vì ph i di n đ t theo ngôn ng máy (dãy các kí hi uớ ữ ườ ả ễ ạ ữ ệ 0,1). Hi n nhiên, các ý t ng NSD mu n trình bày ph i đ c vi t theo m t c u trúcể ưở ố ả ượ ế ộ ấ ch t ch th ng đ c g i là ặ ẽ ườ ượ ọ thu t toánậ ho c ặ gi i thu tả ậ và theo đúng các qui t c c aắ ủ ngôn ng g i là ữ ọ cú pháp ho c ặ văn ph mạ . Trong giáo trình này chúng ta bàn đ n m tế ộ ngôn ng l p trình nh v y, đó là ngôn ng l p trình C++ và làm th nào đ th hi nữ ậ ư ậ ữ ậ ế ể ể ệ các ý t ng gi i quy t v n đ b ng cách vi t thành ch ng trình trong C++. ưở ả ế ấ ề ằ ế ươ Tr c h t, trong m c này chúng ta s trình bày v các qui đ nh b t bu c đ nướ ế ụ ẽ ề ị ắ ộ ơ gi n và c b n nh t. Thông th ng các qui đ nh này s đ c nh d n trong quá trìnhả ơ ả ấ ườ ị ẽ ượ ớ ầ h c ngôn ng , tuy nhiên đ có m t vài khái ni m t ng đ i h th ng v NNLT C++ọ ữ ể ộ ệ ươ ố ệ ố ề chúng ta trình bày s l c các khái ni m c b n đó. Ng i đ c đã t ng làm quen v iơ ượ ệ ơ ả ườ ọ ừ ớ các NNLT khác có th đ c l t qua ph n này.ể ọ ướ ầ 1. B ng ký t c a C++ả ự ủ H u h t các ngôn ng l p trình hi n nay đ u s d ng các kí t ti ng Anh, các kíầ ế ữ ậ ệ ề ử ụ ự ế hi u thông d ng và các con s đ th hi n ch ng trình. Các kí t c a nh ng ngônệ ụ ố ể ể ệ ươ ự ủ ữ ng khác không đ c s d ng (ví d các ch cái ti ng Vi t). D i đây là b ng kí tữ ượ ử ụ ụ ữ ế ệ ướ ả ự đ c phép dùng đ t o nên nh ng câu l nh c a ngôn ng C++.ượ ể ạ ữ ệ ủ ữ − Các ch cái la tinh (vi t thữ ế ư ng và vi t hoa): a z và A Z. Cùng m t chờ ế ộ ữ cái nh ng vi t th ng phân bi t v i vi t hoa. Ví d ch cái 'a' là khác v iư ế ườ ệ ớ ế ụ ữ ớ 'A'. − D u g ch dấ ạ ư i: _ớ 1 Ch ng 1. Các khái ni m c b n c a C++ươ ệ ơ ả ủ − Các ch s th p phân: 0, 1, . ., 9.ữ ố ậ − Các ký hi u toán h c: +, -, *, /, % , &, ||, !, >, <, = ệ ọ − Các ký hi u ệ đ c bi t khác: , ;: [ ], {}, #, d u cách, ặ ệ ấ 2. T khoáừ M t t khoá là m t t đ c qui đ nh tr c trong NNLT v i m t ý nghĩa c đ nh,ộ ừ ộ ừ ượ ị ướ ớ ộ ố ị th ng dùng đ ch các lo i d li u ho c k t h p thành câu l nh. NSD có th t o raườ ể ỉ ạ ữ ệ ặ ế ợ ệ ể ạ nh ng t m i đ ch các đ i t ng c a mình nh ng không đ c phép trùng v i tữ ừ ớ ể ỉ ố ượ ủ ư ượ ớ ừ khoá. D i đây chúng tôi li t kê m t vài t khoá th ng g p, ý nghĩa c a các t này,ướ ệ ộ ừ ườ ặ ủ ừ s đ c trình bày d n trong các đ m c liên quan.ẽ ượ ầ ề ụ auto, break, case, char, continue, default, do, double, else, externe, float, for, goto, if, int, long, register, return, short, sizeof, static, struct, switch, typedef, union, unsigned, while M t đ c tr ng c a C++ là các t khoá luôn luôn ộ ặ ư ủ ừ đư c vi t b ng ch th ng.ợ ế ằ ữ ườ 3. Tên g i ọ Đ phân bi t các đ i t ng v i nhau chúng c n có m t tên g i. H u h t m tể ệ ố ượ ớ ầ ộ ọ ầ ế ộ đ i t ng đ c vi t ra trong ch ng trình thu c 2 d ng, m t d ng đã có s n trongố ượ ượ ế ươ ộ ạ ộ ạ ẵ ngôn ng (ví d các t khoá, tên các hàm chu n ), m t s do NSD t o ra dùng ữ ụ ừ ẩ ộ ố ạ để đ t tên cho h ng, bi n, ki u, hàm các tên g i do NSD t đ t ph i tuân theo m t sặ ằ ế ể ọ ự ặ ả ộ ố qui t c sau:ắ − Là dãy ký t liên ti p (không ch a d u cách) và ph i b t ự ế ứ ấ ả ắ đ u b ng ch cáiầ ằ ữ ho c g ch dặ ạ ư i. ớ − Phân bi t kí t in hoa và thệ ự ư ng. ờ − Không đư c trùng v i t khóa. ợ ớ ừ − S lố ư ng ch cái dùng ợ ữ đ phân bi t tên g i có th ể ệ ọ ể đư c ợ đ t tuỳ ý.ặ − Chú ý các tên g i có s n c a C++ cũng tuân th theo đúng qui t c trên.ọ ẵ ủ ủ ắ Trong m t ch ng trình n u NSD đ t tên sai thì trong quá trình x lý s bộ ươ ế ặ ử ơ ộ (tr c khi ch y ch ng trình) máy s báo l i (g i là l i văn ph m). ướ ạ ươ ẽ ỗ ọ ỗ ạ Ví d 1 ụ : • Các tên g i sau đây là đúng (đ c phép): i, i1, j, tinhoc, tin_hoc, luu_luong ọ ượ • Các tên g i sau đây là sai (không đ c phép): 1i, tin hoc, luu-luong-nuoc ọ ượ 2 Ch ng 1. Các khái ni m c b n c a C++ươ ệ ơ ả ủ • Các tên g i sau đây là khác nhau: ha_noi, Ha_noi, HA_Noi, HA_NOI, ọ 4. Chú thích trong ch ng trìnhươ M t ch ng trình th ng đ c vi t m t cách ng n g n, do v y thông th ngộ ươ ườ ượ ế ộ ắ ọ ậ ườ bên c nh các câu l nh chính th c c a ch ng trình, NSD còn đ c phép vi t vàoạ ệ ứ ủ ươ ượ ế ch ng trình các câu ghi chú, gi i thích đ làm rõ nghĩa h n ch ng trình. M t chúươ ả ể ơ ươ ộ thích có th ghi chú v nhi m v , m c đích, cách th c c a thành ph n đang đ c chúể ề ệ ụ ụ ứ ủ ầ ượ thích nh bi n, h ng, hàm ho c công d ng c a m t đo n l nh Các chú thích sư ế ằ ặ ụ ủ ộ ạ ệ ẽ làm cho ch ng trình sáng s a, d đ c, d hi u và vì v y d b o trì, s a ch a vươ ủ ễ ọ ễ ể ậ ễ ả ử ữ ề sau. Có 2 cách báo cho ch ng trình bi t m t đo n chú thích:ươ ế ộ ạ − N u chú thích là m t đo n kí t b t kỳ liên ti p nhau (trong 1 dòng ho c trênế ộ ạ ự ấ ế ặ nhi u dòng) ta đ t đo n chú thích đó gi a c p d u đóng m chú thích /*ề ặ ạ ữ ặ ấ ở (m ) và */ (đóng).ở − N u chú thích b t đ u t m t v trí nào đó cho đ n h t dòng, thì ta đ t d u //ế ắ ầ ừ ộ ị ế ế ặ ấ v trí đó. Nh v y // s d ng cho các chú thích ch trên 1 dòng. ở ị ư ậ ử ụ ỉ Nh đã nh c trên, vai trò c a đo n chú thích là làm cho ch ng trình d hi uư ắ ở ủ ạ ươ ễ ể đ i v i ng i đ c, vì v y đ i v i máy các đo n chú thích s đ c b qua. L i d ngố ớ ườ ọ ậ ố ớ ạ ẽ ượ ỏ ợ ụ đ c đi m này c a chú thích đôi khi đ t m th i b qua m t đo n l nh nào đó trongặ ể ủ ể ạ ờ ỏ ộ ạ ệ ch ng trình (nh ng không xoá h n đ kh i ph i gõ l i khi c n dùng đ n) ta có thươ ư ẳ ể ỏ ả ạ ầ ế ể đ t các d u chú thích bao quanh đo n l nh này (ví d khi ch y th ch ng trình, gặ ấ ạ ệ ụ ạ ử ươ ỡ l i ), khi c n s d ng l i ta có th b các d u chú thích.ỗ ầ ử ụ ạ ể ỏ ấ Chú ý: C p d u chú thích /* */ không đ c phép vi t l ng nhau, ví d dòngặ ấ ượ ế ồ ụ chú thích sau là không đ c phépượ /* Đây là đo n chú thích /* ch a đo n chú thích này */ nh đo n chú thích con */ạ ứ ạ ư ạ c n ph i s a l i nh sau: ầ ả ử ạ ư • ho c ch gi l i c p d u chú thích ngoài cùng ặ ỉ ữ ạ ặ ấ /* Đây là đo n chú thích ch a đo n chú thích này nh đo n chú thích con */ạ ứ ạ ư ạ • ho c chia thành các đo n chú thích liên ti p nhauặ ạ ế /* Đây là đo n chú thích */ /*ch a đo n chú thích này*/ /*nh đo n chú thích con */ạ ứ ạ ư ạ II. MÔI TR NG LÀM VI C C A C++ƯỜ Ệ Ủ 1. Kh i đ ng - Thoát kh i C++ở ộ ỏ 3 Ch ng 1. Các khái ni m c b n c a C++ươ ệ ơ ả ủ Kh i đ ng C++ cũng nh m i ch ng trình khác b ng cách nh p đúp chu t lênở ộ ư ọ ươ ằ ấ ộ bi u t ng c a ch ng trình. Khi ch ng trình đ c kh i đ ng s hi n ra giao di nể ượ ủ ươ ươ ượ ở ộ ẽ ệ ệ g m có menu công vi c và m t khung c a s bên d i ph c v cho so n th o. M tồ ệ ộ ử ổ ướ ụ ụ ạ ả ộ con tr nh p nháy trong khung c a s và chúng ta b t đ u nh p n i dung (văn b n)ỏ ấ ử ổ ắ ầ ậ ộ ả ch ng trình vào trong khung c a s so n th o này. M c đích c a giáo trình này làươ ử ổ ạ ả ụ ủ trang b nh ng ki n th c c b n c a l p trình thông qua NNLT C++ cho các sinh viênị ữ ế ứ ơ ả ủ ậ m i b t đ u nên chúng tôi v n ch n trình bày giao di n c a các trình biên d ch quenớ ắ ầ ẫ ọ ệ ủ ị thu c là Turbo C ho c Borland C. V các trình biên d ch khác đ c gi có th t thamộ ặ ề ị ộ ả ể ự kh o trong các tài li u liên quan.ả ệ Đ k t thúc làm vi c v i C++ (so n th o, ch y ch ng trình ) và quay v môiể ế ệ ớ ạ ả ạ ươ ề tr ng Windows chúng ta n ườ ấ Alt-X. 2. Giao di n và c a s so n th oệ ử ổ ạ ả 1. Mô t chungả Khi g i ch y C++ trên màn hình s xu t hi n m t menu x xu ng và m t c aọ ạ ẽ ấ ệ ộ ổ ố ộ ử s so n th o. Trên menu g m có các nhóm ch c năng: ổ ạ ả ồ ứ File, Edit, Search, Run, Compile, Debug, Project, Options, Window, Help. Đ kích ho t các nhóm ch cể ạ ứ năng, có th n ể ấ Alt+ch cáiữ bi u th cho menu c a ch c năng đó (là ch cái có g chể ị ủ ứ ữ ạ d i). Ví d đ m nhóm ch c năng ướ ụ ể ở ứ File n ấ Alt+F, sau đó d ch chuy n h p sáng đ nị ể ộ ế m c c n ch n r i n Enter. Đ thu n ti n cho NSD, m t s các ch c năng hay dùngụ ầ ọ ồ ấ ể ậ ệ ộ ố ứ còn đ c g n v i m t t h p các phím cho phép ng i dùng có th ch n nhanh ch cượ ắ ớ ộ ổ ợ ườ ể ọ ứ năng này mà không c n thông qua vi c m menu nh đã mô t trên. M t s t h pầ ệ ở ư ả ở ộ ố ổ ợ phím c th đó s đ c trình bày vào cu i ph n này. Các b ch ng trình d ch h trụ ể ẽ ượ ố ầ ộ ươ ị ỗ ợ ng i l p trình m t môi tr ng tích h p t c ngoài ch c năng so n th o, nó còn cungườ ậ ộ ườ ợ ứ ứ ạ ả c p nhi u ch c năng, ti n ích khác giúp ng i l p trình v a có th so n th o vănấ ề ứ ệ ườ ậ ừ ể ạ ả b n ch ng trình v a g i ch y ch ng trình v a g l i … ả ươ ừ ọ ạ ươ ừ ỡ ỗ Các ch c năng liên quan đ n so n th o ph n l n gi ng v i các b so n th oứ ế ạ ả ầ ớ ố ớ ộ ạ ả khác (nh WinWord) do v y chúng tôi ch trình bày tóm t t mà không trình bày chi ti tư ậ ỉ ắ ế đây. ở 2. Các ch c năng so n th oứ ạ ả Gi ng h u h t các b so n th o văn b n, b so n th o c a Turbo C ho cố ầ ế ộ ạ ả ả ộ ạ ả ủ ặ Borland C cũng s d ng các phím sau cho quá trình so n th o: ử ụ ạ ả − D ch chuy n con tr : các phím mũi tên cho phép d ch chuy n con tr sangị ể ỏ ị ể ỏ trái, ph i m t kí t ho c lên trên, xu ng d i 1 dòng. Đ d ch chuy n nhanhả ộ ự ặ ố ướ ể ị ể có các phím nh Home (v đ u dòng), End (v cu i dòng), PgUp, PgDn (lên,ư ề ầ ề ố xu ng m t trang màn hình). Đ d ch chuy n xa h n có th k t h p các phímố ộ ể ị ể ơ ể ế ợ này cùng phím Control (Ctrl, ^) nh ^PgUp: v đ u t p, ^PgDn: v cu i t p.ư ề ầ ệ ề ố ệ 4 Ch ng 1. Các khái ni m c b n c a C++ươ ệ ơ ả ủ − Chèn, xoá, s a: Phím Insert cho phép chuy n ch đ so n th o gi a chèn vàử ể ế ộ ạ ả ữ đè. Các phím Delete, Backspace cho phép xoá m t kí t t i v trí con tr vàộ ự ạ ị ỏ tr c v trí con tr (xoá lùi).ướ ị ỏ − Các thao tác v i kh i dòng: Đ đánh d u kh i dòng (th c ch t là kh i kí tớ ố ể ấ ố ự ấ ố ự li n nhau b t kỳ) ta đ a con tr đ n v trí đ u n Ctrl-KB và Ctrl-KK t i về ấ ư ỏ ế ị ầ ấ ạ ị trí cu i. Cũng có th thao tác nhanh h n b ng cách gi phím Shift và dùng cácố ể ơ ằ ữ phím d ch chuy n con tr quét t v trí đ u đ n v trí cu i, khi đó kh i kí tị ể ỏ ừ ị ầ ế ị ố ố ự đu c đánh d u s chuy n m u n n. M t kh i đ c đánh d u có th dùngợ ấ ẽ ể ầ ề ộ ố ượ ấ ể đ c t, dán vào m t n i khác trong văn b n ho c xoá kh i văn b n. Đ th cể ắ ộ ơ ả ặ ỏ ả ể ự hi n thao tác c t dán, đ u tiên ph i đ a kh i đã đánh d u vào b nh đ mệ ắ ầ ả ư ố ấ ộ ớ ệ b ng nhóm phím Shift-Delete (c t), sau đó d ch chuy n con tr đ n v trí m iằ ắ ị ể ỏ ế ị ớ c n hi n n i dung v a c t và n t h p phím Shift-Insert. M t đo n văn b nầ ệ ộ ừ ắ ấ ổ ợ ộ ạ ả đ c ghi vào b nh đ m có th đ c dán nhi u l n vào nhi u v trí khácượ ộ ớ ệ ể ượ ề ầ ề ị nhau b ng cách l p l i t h p phím Shift-Insert t i các v trí khác nhau trongằ ặ ạ ổ ợ ạ ị văn b n. Đ xoá m t kh i dòng đã đánh d u mà không ghi vào b nh đ m,ả ể ộ ố ấ ộ ớ ệ dùng t h p phím Ctrl-Delete. Khi m t n i dung m i ghi vào b nh đ m thìổ ợ ộ ộ ớ ộ ớ ệ nó s xoá (ghi đè) n i dung cũ đã có, do v y c n cân nh c đ s d ng phímẽ ộ ậ ầ ắ ể ử ụ Ctrl-Delete (xoá và không l u l i n i dung v a xoá vào b đ m) và Shift-ư ạ ộ ừ ộ ệ Delete (xoá và l u l i n i dung v a xoá) m t cách phù h p.ư ạ ộ ừ ộ ợ − T h p phím Ctrl-A r t thu n l i khi c n đánh d u nhanh toàn b văn b n.ổ ợ ấ ậ ợ ầ ấ ộ ả 3. Ch c năng tìm ki m và thay thứ ế ế Ch c năng này dùng đ d ch chuy n nhanh con tr văn b n đ n t c n tìm. Đứ ể ị ể ỏ ả ế ừ ầ ể th c hi n tìm ki m b m Ctrl-QF, tìm ki m và thay th b m Ctrl-QA. Vào t ho cự ệ ế ấ ế ế ấ ừ ặ nhóm t c n tìm vào c a s Find, nhóm thay th (n u dùng Ctrl-QA) vào c a sừ ầ ử ổ ế ế ử ổ Replace và đánh d u vào các tuỳ ch n trong c a s bên d i sau đó n Enter. Các tuỳấ ọ ử ổ ướ ấ ch n g m: không phân bi t ch hoa/th ng, tìm t đ c l p hay đ ng trong t khác,ọ ồ ệ ữ ườ ừ ộ ậ ứ ừ tìm trong toàn văn b n hay ch trong ph n đ c đánh d u, chi u tìm đi đ n cu i hayả ỉ ầ ượ ấ ề ế ố ng c v đ u văn b n, thay th có h i l i hay không h i l i … Đ d ch chuy n conượ ề ầ ả ế ỏ ạ ỏ ạ ể ị ể tr đ n các vùng khác nhau trong m t menu hay c a s ch a các tuỳ ch n ta s d ngỏ ế ộ ử ổ ứ ọ ử ụ phím Tab. 4. Các ch c năng liên quan đ n t pứ ế ệ − Ghi t p lên đĩa: Ch n menu File\Save ho c phím F2. N u tên t p ch a cóệ ọ ặ ế ệ ư (còn mang tên Noname.cpp) máy s yêu c u cho tên t p. Ph n m r ng c aẽ ầ ệ ầ ở ộ ủ tên t p đ c m c đ nh là CPP. ệ ượ ặ ị − So n th o t p m i: Ch n menu File\New. Hi n ra c a s so n th o tr ng vàạ ả ệ ớ ọ ệ ử ổ ạ ả ắ tên file t m th i l y là Noname.cpp.ạ ờ ấ 5 Ch ng 1. Các khái ni m c b n c a C++ươ ệ ơ ả ủ − So n th o t p cũ: Ch n menu File\Open ho c n phím F3, nh p tên t p ho cạ ả ệ ọ ặ ấ ậ ệ ặ d ch chuy n con tr trong vùng danh sách t p bên d i đ n tên t p c n so nị ể ỏ ệ ướ ế ệ ầ ạ r i n Enter. Cũng có th áp d ng cách này đ so n t p m i khi không nh pồ ấ ể ụ ể ạ ệ ớ ậ vào tên t p c th .ệ ụ ể − Ghi t p đang so n th o lên đĩa v i tên m i: Ch n menu File\Save As và nh pệ ạ ả ớ ớ ọ ậ tên t p m i vào r i n Enter.ệ ớ ồ ấ 5. Ch c năng d ch và ch y ch ng trình ứ ị ạ ươ − Ctrl-F9: Kh i đ ng ch c năng d ch và ch y toàn b ch ng trình.ở ộ ứ ị ạ ộ ươ − F4: Ch y ch ng trình t đ u đ n dòng l nh hi n t i (đang ch a con tr )ạ ươ ừ ầ ế ệ ệ ạ ứ ỏ − F7: Ch y t ng l nh m t c a hàm main(), k c các l nh con trong hàm.ạ ừ ệ ộ ủ ể ả ệ − F8: Ch y t ng l nh m t c a hàm main(). Khi đó m i l i g i hàm đ c xemạ ừ ệ ộ ủ ỗ ờ ọ ượ là m t l nh (không ch y t ng l nh trong các hàm đ c g i).ộ ệ ạ ừ ệ ượ ọ Các ch c năng liên quan đ n d ch ch ng trình có th đ c ch n thông qua menuứ ế ị ươ ể ượ ọ Compile (Alt-C). 6. Tóm t t m t s phím nóng hay dùngắ ộ ố − Các phím kích ho t menu: Alt+ch cái đ i di n cho nhóm menu đó. Ví dạ ữ ạ ệ ụ Alt-F m menu File đ ch n các ch c năng c th trong nó nh Open (mở ể ọ ứ ụ ể ư ở file), Save (ghi file lên đĩa), Print (in n i dung văn b n ch ng trình ra máyộ ả ươ in), … Alt-C m menu Compile đ ch n các ch c năng d ch ch ng trình.ở ể ọ ứ ị ươ − Các phím d ch chuy n con tr khi so n th o.ị ể ỏ ạ ả − F1: m c a s tr giúp. Đây là ch c năng quan tr ng giúp ng i l p trìnhở ử ổ ợ ứ ọ ườ ậ nh tên l nh, cú pháp và cách s d ng. ớ ệ ử ụ − F2: ghi t p lên đĩa.ệ − F3: m t p cũ ra s a ch a ho c so n th o t p m i.ở ệ ử ữ ặ ạ ả ệ ớ − F4: ch y ch ng trình đ n v trí con tr .ạ ươ ế ị ỏ − F5: Thu h p/m r ng c a s so n th o.ẹ ở ộ ử ổ ạ ả − F6: Chuy n đ i gi a các c a s so n th o.ể ổ ữ ử ổ ạ ả − F7: Ch y ch ng trình theo t ng l nh, k c các l nh trong hàm con.ạ ươ ừ ệ ể ả ệ − F8: Ch y ch ng trình theo t ng l nh trong hàm chính.ạ ươ ừ ệ − F9: D ch và liên k t ch ng trình. Th ng dùng ch c năng này đ tìm l i cúị ế ươ ườ ứ ể ỗ pháp c a ch ng trình ngu n tr c khi ch y.ủ ươ ồ ướ ạ 6 Ch ng 1. Các khái ni m c b n c a C++ươ ệ ơ ả ủ − Alt-F7: Chuy n con tr v n i gây l i tr c đó.ể ỏ ề ơ ỗ ướ − Alt-F8: Chuy n con tr đ n l i ti p theo.ể ỏ ế ỗ ế − Ctrl-F9: Ch y ch ng trình.ạ ươ − Ctrl-Insert: L u kh i văn b n đ c đánh d u vào b nh đ m.ư ố ả ượ ấ ộ ớ ệ − Shift-Insert: Dán kh i văn b n trong b nh đ m vào văn b n t i v trí conố ả ộ ớ ệ ả ạ ị tr .ỏ − Shift-Delete: Xoá kh i văn b n đ c đánh d u, l u nó vào b nh đ m.ố ả ượ ấ ư ộ ớ ệ − Ctrl-Delete: Xoá kh i văn b n đ c đánh d u (không l u vào b nh đ m).ố ả ượ ấ ư ộ ớ ệ − Alt-F5: Chuy n sang c a s xem k t qu c a ch ng trình v a ch y xong.ể ử ổ ế ả ủ ươ ừ ạ − Alt-X: thoát C++ v l i Windows.ề ạ 3. C u trúc m t ch ng trình trong C++ấ ộ ươ M t ch ng trình C++ có th đ c đ t trong m t ho c nhi u file văn b n khácộ ươ ể ượ ặ ộ ặ ề ả nhau. M i file văn b n ch a m t s ph n nào đó c a ch ng trình. V i nh ngỗ ả ứ ộ ố ầ ủ ươ ớ ữ ch ng trình đ n gi n và ng n th ng ch c n đ t chúng trên m t file. ươ ơ ả ắ ườ ỉ ầ ặ ộ M t ch ng trình g m nhi u hàm, m i hàm ph trách m t công vi c khác nhauộ ươ ồ ề ỗ ụ ộ ệ c a ch ng trình. Đ c bi t trong các hàm này có m t hàm duy nh t có tên hàm làủ ươ ặ ệ ộ ấ main(). Khi ch y ch ng trình, các câu l nh trong hàm main() s đ c th c hi n đ uạ ươ ệ ẽ ượ ự ệ ầ tiên. Trong hàm main() có th có các câu l nh g i đ n các hàm khác khi c n thi t, vàể ệ ọ ế ầ ế các hàm này khi ch y l i có th g i đ n các hàm khác n a đã đ c vi t trong ch ngạ ạ ể ọ ế ữ ượ ế ươ trình (tr vi c g i quay l i hàm main()). Sau khi ch y đ n l nh cu i cùng c a hàmừ ệ ọ ạ ạ ế ệ ố ủ main() ch ng trình s k t thúc.ươ ẽ ế C th , thông th ng m t ch ng trình g m có các n i dung sau:ụ ể ườ ộ ươ ồ ộ − Ph n khai báo các t p nguyên m u: khai báo tên các t p ch a nh ng thànhầ ệ ẫ ệ ứ ữ ph n có s n (nh các h ng chu n, ki u chu n và các hàm chu n) mà NSDầ ẵ ư ằ ẩ ể ẩ ẩ s dùng trong ch ng trình.ẽ ươ − Ph n khai báo các ki u d li u, các bi n, h ng do NSD đ nh nghĩa vàầ ể ữ ệ ế ằ ị đ c dùng chung trong toàn b ch ng trình.ượ ộ ươ − Danh sách các hàm c a ch ng trình (do NSD vi t, bao g m c hàm main()).ủ ươ ế ồ ả C u trúc chi ti t c a m i hàm s đ c đ c p đ n trong ch ng 4.ấ ế ủ ỗ ẽ ượ ề ậ ế ươ D i đây là m t đo n ch ng trình đ n gi n ch g m 1 hàm chính là hàmướ ộ ạ ươ ơ ả ỉ ồ main(). N i dung c a ch ng trình dùng in ra màn hình dòng ch : ộ ủ ươ ữ Chào các b n, bâyạ gi là 2 giờ ờ. 7 Ch ng 1. Các khái ni m c b n c a C++ươ ệ ơ ả ủ #include <iostream.h> // khai báo t p nguyên m u đệ ẫ ể void main() // đ c s d ng toán t in cout <<ượ ử ụ ử { int h = 2, // Khai báo và kh i t o bi n h = 2ở ạ ế cout << “Chào các b n, bây gi là ” << h << " gi " ; ạ ờ ờ // in ra màn hình } Dòng đ u tiên c a ch ng trình là khai báo t p nguyên m u ầ ủ ươ ệ ẫ iostream.h. Đây là khai báo b t bu c vì trong ch ng trình có s d ng ph ng th c chu n “ắ ộ ươ ử ụ ươ ứ ẩ cout <<” (in ra màn hình), ph ng th c này đ c khai báo và đ nh nghĩa s n trong ươ ứ ượ ị ẵ iostream.h. Không riêng hàm main(), m i hàm khác đ u ph i b t đ u t p h p các câu l nhọ ề ả ắ ầ ậ ợ ệ c a mình b i d u { và k t thúc b i d u }. T p các l nh b t kỳ bên trong c p d u nàyủ ở ấ ế ở ấ ậ ệ ấ ặ ấ đ c g i là kh i l nh. Kh i l nh là m t cú pháp c n thi t trong các câu l nh có c uượ ọ ố ệ ố ệ ộ ầ ế ệ ấ trúc nh ta s th y trong các ch ng ti p theo. ư ẽ ấ ươ ế III. CÁC B C Đ T O VÀ TH C HI N M T CH NG TRÌNH ƯỚ Ể Ạ Ự Ệ Ộ ƯƠ 1. Qui trình vi t và th c hi n ch ng trìnhế ự ệ ươ Tr c khi vi t và ch y m t ch ng trình thông th ng chúng ta c n:ướ ế ạ ộ ươ ườ ầ 1. Xác đ nh yêu c u c a ch ng trình. Nghĩa là xác đ nh d li u đ u vào (input)ị ầ ủ ươ ị ữ ệ ầ cung c p cho ch ng trình và t p các d li u c n đ t đ c t c đ u raấ ươ ậ ữ ệ ầ ạ ượ ứ ầ (output). Các t p h p d li u này ngoài các tên g i còn c n xác đ nh ki u c aậ ợ ữ ệ ọ ầ ị ể ủ nó.Ví d đ gi i m t ph ng trình b c 2 d ng: axụ ể ả ộ ươ ậ ạ 2 + bx + c = 0, c n báo choầ ch ng trình bi t d li u đ u vào là a, b, c và đ u ra là nghi m x1 và x2 c aươ ế ữ ệ ầ ầ ệ ủ ph ng trình. Ki u c a a, b, c, x1, x2 là các s th c.ươ ể ủ ố ự 2. Xác đ nh thu t toán gi i.ị ậ ả 3. C th hoá các khai báo ki u và thu t toán thành dãy các l nh, t c vi t thànhụ ể ể ậ ệ ứ ế ch ng trình thông th ng là trên gi y, sau đó b t đ u so n th o vào trongươ ườ ấ ắ ầ ạ ả máy. Quá trình này đ c g i là so n th o ch ng trình ngu n.ượ ọ ạ ả ươ ồ 4. D ch ch ng trình ngu n đ tìm và s a các l i g i là l i cú pháp. ị ươ ồ ể ử ỗ ọ ỗ 5. Ch y ch ng trình, ki m tra k t qu in ra trên màn hình. N u sai, s a l iạ ươ ể ế ả ế ử ạ ch ng trình, d ch và ch y l i đ ki m tra. Quá trình này đ c th c hi n l pươ ị ạ ạ ể ể ượ ự ệ ặ đi l p l i cho đ n khi ch ng trình ch y t t theo yêu c u đ ra c a NSD. ặ ạ ế ươ ạ ố ầ ề ủ 2. So n th o t p ch ng trình ngu nạ ả ệ ươ ồ 8 Ch ng 1. Các khái ni m c b n c a C++ươ ệ ơ ả ủ So n th o ch ng trình ngu n là m t công vi c đ n gi n: gõ n i dung c aạ ả ươ ồ ộ ệ ơ ả ộ ủ ch ng trình (đã vi t ra gi y) vào trong máy và l u l i nó lên đĩa. Thông th ng khiươ ế ấ ư ạ ườ đã l u l i ch ng trình lên đĩa l n sau s không c n ph i gõ l i. Có th so n ch ngư ạ ươ ầ ẽ ầ ả ạ ể ạ ươ trình ngu n trên các b so n th o (editor) khác nhồ ộ ạ ả ưng ph i ch y trong môi trả ạ ư ng tíchờ h p C++ (Borland C, Turbo C). M c đích c a so n th o là t o ra m t văn b nợ ụ ủ ạ ả ạ ộ ả ch ng trình và đ a vào b nh c a máy. Văn b n ch ng trình c n đ c trình bàyươ ư ộ ớ ủ ả ươ ầ ượ sáng s a, rõ ràng. Các câu l nh c n gióng th ng c t theo c u trúc c a l nh (các l nhủ ệ ầ ẳ ộ ấ ủ ệ ệ ch a trong m t l nh c u trúc đ c trình bày th t vào trong so v i đi m b t đ u c aứ ộ ệ ấ ượ ụ ớ ể ắ ầ ủ l nh). Các chú thích nên ghi ng n g n, rõ nghĩa và phù h p.ệ ắ ọ ợ 3. D ch ch ng trìnhị ươ Sau khi đã so n th o xong ch ng trình ngu n, b c ti p theo th ng là d chạ ả ươ ồ ướ ế ườ ị ( n t h p phím Alt-F9) đ tìm và s a các l i g i là l i cú pháp. Trong khi d ch C++ấ ổ ợ ể ử ỗ ọ ỗ ị s đ t con tr vào n i gây l i (vi t sai cú pháp) trong văn b n. Sau khi s a xong m tẽ ặ ỏ ơ ỗ ế ả ử ộ l i NSD có th dùng Alt-F8 đ chuy n con tr đ n l i ti p theo ho c d ch l i. Đỗ ể ể ể ỏ ế ỗ ế ặ ị ạ ể chuy n con tr v ng c l i l i tr c đó có th dùng Alt-F7. Quá trình s a l i ể ỏ ề ượ ạ ỗ ướ ể ử ỗ − d chị đ c l p l i cho đ n khi văn b n đã đ c s a h t l i cú pháp.ượ ặ ạ ế ả ượ ử ế ỗ S n ph m sau khi d ch là m t t p m i g i là ch ng trình đích có đuôi EXE t cả ẩ ị ộ ệ ớ ọ ươ ứ là t p mã máy đ th c hi n.T p này có th l u t m th i trong b nh ph c v choệ ể ự ệ ệ ể ư ạ ờ ộ ớ ụ ụ quá trình ch y ch ng trình ho c l u l i trên đĩa tuỳ theo tuỳ ch n khi d ch c a NSD.ạ ươ ặ ư ạ ọ ị ủ Trong và sau khi d ch, C++ s hi n m t c a s ch a thông báo v các l i (n u có),ị ẽ ệ ộ ử ổ ứ ề ỗ ế ho c thông báo ch ng trình đã đ c d ch thành công (không còn l i). Các l i nàyặ ươ ượ ị ỗ ỗ đ c g i là l i cú pháp.ượ ọ ỗ Đ d ch ch ng trình ta ch n menu \Compile\Compile ho c \Compile\Make ho cể ị ươ ọ ặ ặ nhanh chóng h n b ng cách n t h p phím Alt-F9.ơ ằ ấ ổ ợ 4. Ch y ch ng trìnhạ ươ n Ctrl-F9 đ ch y ch ng trình, n u ch ng trình ch a d ch sang mã máy, máyẤ ể ạ ươ ế ươ ư ị s t đ ng d ch l i tr c khi ch y. K t qu c a ch ng trình s hi n ra trong m tẽ ự ộ ị ạ ướ ạ ế ả ủ ươ ẽ ệ ộ c a s k t qu đ NSD ki m tra. N u k t qu ch a đ c nh mong mu n, quay l iử ổ ế ả ể ể ế ế ả ư ượ ư ố ạ văn b n đ s a và l i ch y l i ch ng trình. Quá trình này đ c l p l i cho đ n khiả ể ử ạ ạ ạ ươ ượ ặ ạ ế ch ng trình ch y đúng nh yêu c u đã đ ra. Khi ch ng trình ch y, c a s k t quươ ạ ư ầ ề ươ ạ ử ổ ế ả s hi n ra t m th i che khu t c a s so n th o. Sau khi k t thúc ch y ch ng trìnhẽ ệ ạ ờ ấ ử ổ ạ ả ế ạ ươ c a s so n th o s t đ ng hi n ra tr l i và che khu t c a s k t qu . Đ xem l iử ổ ạ ả ẽ ự ộ ệ ở ạ ấ ử ổ ế ả ể ạ k t qu đã hi n n Alt-F5. Sau khi xem xong đ quay l i c a s so n th o n phímế ả ệ ấ ể ạ ử ổ ạ ả ấ b t kỳ. ấ 9 Ch ng 1. Các khái ni m c b n c a C++ươ ệ ơ ả ủ IV. VÀO/RA TRONG C++ Trong ph n này chúng ta làm quen m t s l nh đ n gi n cho phép NSD nh p dầ ộ ố ệ ơ ả ậ ữ li u vào t bàn phím ho c in k t qu ra màn hình. Trong ph n sau c a giáo trìnhệ ừ ặ ế ả ầ ủ chúng ta s kh o sát các câu l nh vào/ra ph c t p h nẽ ả ệ ứ ạ ơ 1. Vào d li u t bàn phímữ ệ ừ Đ nh p d li u vào cho các bi n có tên ể ậ ữ ệ ế bi n_1ế , bi n_2ế , bi n_3ế chúng ta sử d ng câu l nh:ụ ệ cin >> bi n_1 ;ế cin >> bi n_2 ;ế cin >> bi n_3 ;ế ho c:ặ cin >> bi n_1 >> bi n_2 >> bi n_3 ;ế ế ế bi n_1, bi n_2, bi n_3ế ế ế là các bi nế đ c s d ng đ l u tr các giá tr NSDượ ử ụ ể ư ữ ị nh p vào t bàn phím. Khái ni m bi n s đ c mô t c th h n trong ch ng 2, ậ ừ ệ ế ẽ ượ ả ụ ể ơ ươ ở đây bi n_1, bi n_2, bi n_3ế ế ế đ c hi u là các tên g i đ ch 3 giá tr khác nhau. Hi nượ ể ọ ể ỉ ị ể nhiên có th nh p d li u nhi u h n 3 bi n b ng cách ti p t c vi t tên bi n vào bênể ậ ữ ệ ề ơ ế ằ ế ụ ế ế ph i sau d u ả ấ >> c a câu l nh.ủ ệ Khi ch y ch ng trình n u g p các câu l nh trên ch ng trình s "t m d ng"ạ ươ ế ặ ệ ươ ẽ ạ ừ đ ch NSD nh p d li u vào cho các bi n. Sau khi NSD nh p xong d li u, ch ngể ờ ậ ữ ệ ế ậ ữ ệ ươ trình s ti p t c ch y t câu l nh ti p theo sau c a các câu l nh trên.ẽ ế ụ ạ ừ ệ ế ủ ệ Cách th c nh p d li u c a NSD ph thu c vào lo i giá tr c a bi n c n nh pứ ậ ữ ệ ủ ụ ộ ạ ị ủ ế ầ ậ mà ta g i là ọ ki u,ể ví d nh p m t s có cách th c khác v i nh p m t chu i kí t . Giụ ậ ộ ố ứ ớ ậ ộ ỗ ự ả s c n nh p đ dài hai c nh c a m t hình ch nh t, trong đó c nh dài đ c qui cử ầ ậ ộ ạ ủ ộ ữ ậ ạ ượ ướ b ng tên bi n ằ ế cd và chi u r ng đ c qui c b i tên bi n ề ộ ượ ướ ở ế cr. Câu l nh nh p s nhệ ậ ẽ ư sau: cin >> cd >> cr ; Khi máy d ng ch nh p d li u NSD s gõ giá tr c th c a các chi u dài,ừ ờ ậ ữ ệ ẽ ị ụ ể ủ ề r ng theo đúng th t trong câu l nh. Các giá tr này c n cách nhau b i ít nh t m tộ ứ ự ệ ị ầ ở ấ ộ d u tr ng (ta qui c g i d u tr ng là m t trong 3 lo i d u đ c nh p b i các phímấ ắ ướ ọ ấ ắ ộ ạ ấ ượ ậ ở sau: phím spacebar (d u cách), phím tab (d u tab) ho c phím Enter (d u xu ng dòng)).ấ ấ ặ ấ ố Các giá tr NSD nh p vào cũng đ c hi n th trên màn hình đ NSD d theo dõi.ị ậ ượ ể ị ể ễ Ví d n u NSD nh p vào 23 11 ụ ế ậ ↵ thì ch ng trình s gán giá tr 23 cho bi n ươ ẽ ị ế cd và 11 cho bi n ế cr. Chú ý: gi s NSD nh p 2311 ả ử ậ ↵ (không có d u cách gi a 23 và 11) thì ch ngấ ữ ươ 10 [...]... cin.get(c); 14 Chương 1 Các khái niệm cơ bản của C++ 4 Vào/ra trong C Trong phần trên chúng tôi đã trình bày 2 toán tử vào/ra và một số phương thức, hàm nhập và định dạng trong C++ Phần này chúng tôi trình bày các câu lênh nhập xuất theo khuôn dạng cũ trong C Hiển nhiên các câu lệnh này vẫn dùng được trong chương trình viết bằng C++, tuy nhiên chỉ nên sử dụng hoặc các câu lệnh của C++ hoặc của C, không... main() // đây là hàm chính của chương trình { float cd, cr ; // khai báo các biến có tên cd, cr để chứa độ dài các cạnh cout > cd ; // nhập dữ liệu cout > cr ; cout . Ch ng 1. Các khái ni m c b n c a C++ươ ệ ơ ả ủ CHƯƠNG 1 CÁC KHÁI NIỆM CƠ BẢN CỦA C++ Các y u t cế ố ơ b n ả Môi tr ng làm vi c c a C++ườ ệ ủ Các b c đ t o và th c hi n m. 23 11 ụ ế ậ ↵ thì ch ng trình s gán giá tr 23 cho bi n ươ ẽ ị ế cd và 11 cho bi n ế cr. Chú ý: gi s NSD nh p 2 311 ả ử ậ ↵ (không có d u cách gi a 23 và 11 ) thì ch ngấ ữ ươ 10 Ch ng 1. Các khái. ạ Ví d 1 ụ : • Các tên g i sau đây là đúng (đ c phép): i, i1, j, tinhoc, tin_hoc, luu_luong ọ ượ • Các tên g i sau đây là sai (không đ c phép): 1i, tin hoc, luu-luong-nuoc ọ ượ 2 Ch ng 1. Các khái