Xem mẫu

  1. Updatesofts.com Ebooks Team return 0; } ð ng lo l ng n u như vi c khai báo có v hơi l lùng v i b n. B n s th y ph n chi ti t còn l i trong ph n ti p theo Kh i t o các bi n Khi khai báo m t bi n, giá tr c a nó m c nhiên là không xác ñ nh. Nhưng có th b n s mu n nó mang m t giá tr xác ñ nh khi ñư c khai báo. ð làm ñi u ñó, b n ch c n vi t d u b ng và giá tr b n mu n bi n ñó s mang: type identifier = initial_value ; Ví d , n u chúng ta mu n khai báo m t bi n int là a ch a giá tr 0 ngay t khi kh i t o, chúng ta s vi t : int a = 0; B xung vào cách kh i t o ki u C này, C++ còn có thêm m t cách m i ñ kh i t o bi n b ng cách b c m t c p ngo c ñơn sau giá tr kh i t o. Ví d : int a (0); C hai cách ñ u h p l trong C++. Ph m vi ho t ñ ng c a các bi n T t c các bi n mà chúng ta s s d ng ñ u ph i ñư c khai báo trư c. M t ñi m khác bi t gi a Cvà C++ là trong C++ chúng ta có th khai báo bi n b t kì nơi nào trong chương trình, th m chí là ngay gi a các l nh th c hi n ch không ch là ñ u kh i l nh như trong C. M c dù v y chúng ta v n nên theo cách c a ngôn ng C khi khai báo các bi n b i vì nó s r t h u d ng khi c n s a ch a m t chương trình có t t c các ph n khai báo ñư c g p l i v i nhau. B i v y, cách thông d ng nh t ñ khai báo bi n là ñ t nó trong ph n b t ñ u c a m i hàm (bi n c c b ) hay tr c ti p trong thân chương trình, ngoài t t c các hàm (bi n toàn c c). Global variables (bi n toàn c c) có th ñư c s d ng b t kì ñâu trong chương trình, ngay sau khi nó ñư c khai báo. T m ho t ñ ng c a local variables (bi n c c b ) b gi i h n trong ph n mã mà nó ñư c khai báo. N u chúng ñư c khai báo ñ u m t hàm (như hàm main), t m ho t ñ ng s là toàn b hàm main. ði u ñó có nghĩa là trong ví d trên, các bi n ñư c khai báo trong Trang 8
  2. Updatesofts.com Ebooks Team hàm main() ch có th ñư c dùng trong hàm ñó, không ñư c dùng b t kì ñâu khác. Thêm vào các bi n toàn c c và c c b , còn có các bi n ngoài (external). Các bi n này không nh ng ñư c dùng trong m t file mã ngu n mà còn trong t t c các file ñư c liên k t trong chương trình. Trong C++ t m ho t ñ ng c a m t bi n chính là kh i l nh mà nó ñư c khai báo (m t kh i l nh là m t t p h p các l nh ñư c g p l i trong m t b ng các ngo c nh n { } ). N u nó ñư c khai báo trong m t hàm t m ho t ñ ng s là hàm ñó, còn n u ñư c khai báo trong vòng l p thì t m ho t ñ ng s ch là vòng l p ñó.... Các h ng s M t h ng s là b t kì m t bi u th c nào mang m t giá tr c ñ nh, như: Các s nguyên 1776 707 -273 chúng là các h ng mang giá tr s . Chú ý r ng khi bi u di n m t h ng ki u s chúng ta không c n vi t d u ngo c kép hay b t kì d u hi u nào khác. h cơ s 10 ( cái mà t t c chúng ta ñ u ñã bi t) C++ còn cho phép Thêm vào nh ng s s d ng các h ng s cơ s 8 và 16. ð bi u di n m t s h cơ s 8 chúng ta ñ t trư c nó kí t 0, ñ bi u di n s h cơ s 16 chúng ta ñ t trư c nó hai kí t 0x. Ví d : // Cơ s 10 75 // cơ s 8 0113 // cơ s 16 0x4b Các s th p phân (d ng d u ph y ñ ng) Chúng bi u di n các s v i ph n th p phân và/ho c s mũ. Chúng có th bao g m ph n th p phân, kí t e (bi u di n 10 mũ...). 3.14159 // 3.14159 6.02e23 // 6.02 x 1023 1.6e-19 // 1.6 x 10-19 3.0 // 3.0 Kí t và xâu kí t Trong C++ còn t n t i các h ng không ph i ki u s như: 'z' 'p' "Hello world" "How do you do?" Trang 9
  3. Updatesofts.com Ebooks Team Hai bi u th c ñ u tiên bi u di n các kí t ñơn, các kí t ñư c ñ t trong d u nháy ñơn ('), hai bi u th c ti p theo bi u th c các xâu kí t ñư c ñ t trong d u nháy kép ("). Khi vi t các kí t ñơn hay các xâu kí t c n ph i ñ chúng trong các d u nháy ñ phân bi t v i các tên bi n hay các t khoá. Chú ý: x 'x' x tr ñ n bi n x trong khi 'x' là kí t h ng 'x'. Các kí t ñơn và các xâu kí t có m t tính ch t riêng bi t là các mã ñi u khi n. Chúng là nh ng kí t ñ c bi t mà không th ñư c vi t b t kì ñâu khác trong chương trình như là mã xu ng dòng (\n) hay tab (\t). T t c ñ u b t ñ u b ng d u x ngư c (\). Sau ñây là danh sách các mã ñi u khi n ñó: xu ng dòng \n lùi v ñ u dòng \r kí t tab \t căn th ng theo chi u d c \v backspace \b sang trang \f Kêu bíp \a d u nháy ñơn \' d u nháy kép \" d uh i kí t x ngư c Ví d : '\n' '\t' "Left \t Right" "one\ntwo\nthree" Thêm vào ñó, ñ bi u di n m t mã ASCII b n c n s d ng kí t x ngư c (\) ti p theo ñó là mã ASCII vi t trong h cơ s 8 hay cơ s 16. Trong trư ng h p ñ u mã ASCII ñư c vi t ngay sau d u s ngư c, trong trư ng h p th hai, ñ s d ng s trong h cơ s 16 b n c n vi t kí t x trư c s ñó (ví d \x20 hay \x4A). Các h ng chu i kí t có th ñư c vi t trên nhi u dòng n u m i dòng ñư c k t thúc b ng m t d u s ngư c (\): Trang 10
  4. Updatesofts.com Ebooks Team "string expressed in two lines" B n có th n i m t vài h ng xâu kí t ngăn cách b ng m t hay vài d u tr ng, kí t tab, xu ng dòng hay b t kì kí t tr ng nào khác. "we form" "a unique" "string" "of characters" ð nh nghĩa các h ng (#define) B n có th ñ nh nghĩa các h ng v i tên mà b n mu n ñ có th s d ng thư ng xuyên mà không m t tài nguyên cho các bi n b ng cách s d ng ch th #define. ðây là d ng c a nó: #define identifier value Ví d : #define PI 3.14159265 #define NEWLINE '\n' #define WIDTH 100 chúng ñ nh nghĩa ba h ng s m i. Sau khi khai báo b n có th s d ng chúng như b t kì các h ng s nào khác, ví d circle = 2 * PI * r; cout
  5. Updatesofts.com Ebooks Team Trong trư ng h p ki u không ñư c ch rõ (như trong ví d cu i) trình d ch s coi nó là ki u int Trang 12
  6. Updatesofts.com Ebooks Team Các toán t Qua bài trư c chúng ta ñã bi t ñ n s t n t i c a các bi n và các h ng. Trong C++, ñ thao tác v i chúng ta s d ng các toán t , ñó là các t khoá và các d u không có trong b ng ch cái nhưng l i có trên h u h t các bàn phím trên th gi i. Hi u bi t v chúng là r t quan tr ng vì ñây là m t trong nh ng thành ph n cơ b n c a ngôn ng C++. Toán t gán (=). Toán t gán dùng ñ gán m t giá tr nào ñó cho m t bi n a = 5; gán giá tr nguyên 5 cho bi n a. V trái b t bu c ph i là m t bi n còn v ph i có th là b t kì h ng, bi n hay k t qu c a m t bi u th c. C n ph i nh n m nh r ng toán t gán luôn ñư c th c hi n t trái sang ph i và không bao gi ñ o ngư c a = b; gán giá tr c a bi n a b ng giá tr ñang ch a trong bi n b. Chú ý r ng chúng ta ch gán giá tr c a b cho a và s thay ñ i c a b sau ñó s không nh hư ng ñ n giá tr c a a. M t thu c tính c a toán t gán trong C++ góp ph n giúp nó vư t lên các ngôn ng l p trình khác là vi c cho phép v ph i có th ch a các phép gán khác. Ví d : a = 2 + (b = 5); tương ñương v i b = 5; a = 2 + b; Vì v y bi u th c sau cũng h p l trong C++ a = b = c = 5; gán giá tr 5 cho c ba bi n a, b và c Các toán t s h c ( +, -, *, /, % ) Năm toán t s h c ñư c h tr b i ngôn ng là: + c ng - tr * nhân / chia Trang 13
  7. Updatesofts.com Ebooks Team % l y ph n dư (trong phép chia) Th t th c hi n các toán t này cũng gi ng như chúng ñư c th c hi n trong toán h c. ði u duy nh t có v hơi l ñ i v i b n là phép l y ph n dư, ký hi u b ng d u ph n trăm (%). ðây chính là phép toán l y ph n dư trong phép chia hai s nguyên v i nhau. Ví d , n u a = 11 % 3;, bi n a s mang giá tr 2 vì 11 = 3*3 +2. Các toán t gán ph c h p (+=, -=, *=, /=, %=, >>=,
  8. Updatesofts.com Ebooks Team Sau ñây là các toán t quan h b n có th s d ng trong C++ == B ng != Khác > L n hơn Nh hơn < > = L n hơn ho c b ng < = Nh hơn ho c b ng Ví d : (7 == 5) s tr giá tr false (6 >= 6) s tr giá tr true t t nhiên thay vì s d ng các s , chúng ta có th s d ng b t c bi u th c nào. Cho a=2, b=3 và c=6 (a*b >= c) s tr giá tr true. (b+4 < a*c) s tr giá tr false C n chú ý r ng = (m t d u b ng) lf hoàn toàn khác v i == (hai d u b ng). D u ñ u tiên là m t toán t gán ( gán giá tr c a bi u th c bên ph i cho bi n bên trái) và d u còn l i (==) là m t toán t quan h nh m so sánh xem hai bi u th c có b ng nhau hay không. Trong nhi u trình d ch có trư c chu n ANSI-C++ cũng như trong ngôn ng C, các toán t quan h không tr v giá tr logic true ho c false mà tr v giá tr int v i 0 tương ng v i false còn giá tr khác 0 (thư ng là 1) thì tương ng v i true. Các toán t logic ( !, &&, || ). Toán t ! tương ñương v i toán t logic NOT, nó ch có m t ñ i s phía bên ph i và vi c duy nh t mà nó làm là ñ i ngư c giá tr c a ñ i s t true sang false ho c ngư c l i. Ví d : !(5 == 5) tr v false vì bi u th c bên ph i (5 == 5) có giá tr true. !(6