Mc lc: I. C bn v C++ (2) I. Cu trc ca mt trng trnh C++ (2) II. Cc bin kiu v hng s (5) III. Cc ton t (13) IV. Giao tip vi Console (19) II. Cc cu trc iu khin v Hm (22) I. Cu trc d liu iu khin (22) II. Hm I (29) III. Hm II (34) III. D liu nng cao (41) I. Mng (41) II. Su k t (48) III. Con tr (54) IV. B nh ng (65) V. Cc cu trc (69) VI. Cc kiu d liu do ngi dng nh ngha. (typedef, union, enum) (75)
Updatesofts.com Ebooks Team Trang 2 Cu trc ca mt chng trnh C++
C l mt trong nhng cch tt nht bt u hc mt ngn ng lp trnh l bng mt chng trnh. Vy y l chng trnh u tin ca chng ta : // my first program in C++
#include <iostream.h>
int main () { cout << "Hello World!"; return 0; } Hello World! Chng trnh trn y l chng trnh u tin m hu ht nhng ngi hc ngh lp trnh vit u tin v kt qu ca n l vit cu "Hello, World" ln mn hnh. y l mt trong nhng chng trnh n gin nht c th vit bng C++ nhng n bao gm nhng phn c bn m mi chng trnh C++ c. Hy cng xem xt tng dng mt : // my first program in C++ y l dng ch thch. Tt c cc dng bt u bng hai du s (//) c coi l cht thch m chng khng c bt k mt nh hng no n hot ng ca chng trnh. Chng c th c cc lp trnh vin dng gii thch hay bnh phm bn trong m ngun ca chng trnh. Trong trng hp ny, dng ch thch l mt gii thch ngn gn nhng g m chng trnh chng ta lm. #include <iostream.h> Cc cu bt u bng du (#) c dng cho preprocessor (ai dch h ti t ny vi). Chng khng phi l nhng dng m thc hin nhng c dng bo hiu cho trnh dch. y cu lnh #include <iostream.h> bo cho trnh dch bit cn phi "include" th vin iostream. y l mt th vin vo ra c bn trong C++ v n phi c "include" v n s c dng trong chng trnh. y l cch c in s dng th vin iostream int main () Dng ny tng ng vi phn bt u khai bo hm main. Hm main l im m tt c cc chng trnh C++ bt u thc hin. N khng ph thuc vo v tr ca hm ny ( u, cui hay gia ca m ngun) m ni dung ca n lun c thc hin u tin khi chng trnh bt u. Thm vo , do nguyn nhn ni trn, mi chng trnh C++ u phi tn ti mt hm main. Theo sau main l mt cp ngoc n bi v n l mt hm. Trong C++, tt c cc hm m sau l mt cp ngoc n () th c ngha l n c th c hoc khng c tham s
Updatesofts.com Ebooks Team Trang 3 (khng bt buc). Ni dung ca hm main tip ngay sau phn khai bo chnh thc c bao trong cc ngoc nhn ( { } ) nh trong v d ca chng ta cout << "Hello World"; Dng lnh ny lm vic quan trng nht ca chng trnh. cout l mt dng (stream) output chun trong C++ c nh ngha trong th vin iostream v nhng g m dng lnh ny lm l gi chui k t "Hello World" ra mn hnh. Ch rng dng ny kt thc bng du chm phy ( ; ). K t ny c dng kt thc mt lnh v bt buc phi c sau mi lnh trong chng trnh C++ ca bn (mt trong nhng li ph bin nht ca nhng lp trnh vin C++ l qun mt du chm phy). return 0; Lnh return kt thc hm main v tr v m i sau n, trong trng hp ny l 0. y l mt kt thc bnh thng ca mt chng trnh khng c mt li no trong qu trnh thc hin. Nh bn s thy trong cc v d tip theo, y l mt cch ph bin nht kt thc mt chng trnh C++. Chng trnh c cu trc thnh nhng dng khc nhau n tr nn d c hn nhng hon ton khng phi bt buc phi lm vy. V d, thay v vit int main () { cout << " Hello World "; return 0; } ta c th vit int main () { cout << " Hello World "; return 0; } cng cho mt kt qu chnh xc nh nhau. Trong C++, cc dng lnh c phn cch bng du chm phy ( ;). Vic chia chng trnh thnh cc dng ch nhm cho n d c hn m thi. Cc ch thch. Cc ch thch c cc lp trnh vin s dng ghi ch hay m t trong cc phn ca chng trnh. Trong C++ c hai cch ch thch // Ch thch theo dng /* Ch thch theo khi */ Ch thch theo dng bt u t cp du x (//) cho n cui dng. Ch thch theo khi bt u bng /* v kt thc bng */ v c th bao gm nhiu dng. Chng ta s thm cc ch thch cho chng trnh : /* my second program in C++ Hello World! I'm a C++ program
Updatesofts.com Ebooks Team Trang 4 with more comments */
#include <iostream.h>
int main () { cout << "Hello World! "; // says Hello World! cout << "I'm a C++ program"; // says I'm a C++ program return 0; } Nu bn vit cc ch thch trong chng trnh m khng s dng cc du //, /* hay */, trnh dch s coi chng nh l cc lnh C++ v s hin th cc li.
Updatesofts.com Ebooks Team Trang 5 Cc bin, kiu v hng s Identifiers Mt tn (indentifiers) hp l l mt chui gm cc ch ci, ch s hoc k t gch di. Chiu di ca mt tn l khng gii hn. K t trng, cc k t nh du u khng th c mt trong mt tn. Ch c ch ci, ch s v k t gch di l c cho php. Thm vo , mt tn bin lun phi bt u bng mt ch ci. Chng cng c th bt u bng k t gch di ( _ ) nhng k t ny thng c dnh cho cc lin kt bn ngoi (external link). Khng bao gi chng bt u bng mt ch s. Mt lut na m bn phi quan tm n khi to ra cc tn ca ring mnh l chng khng c trng vi bt k t kho no ca ngn ng hay ca trnh dch, v d cc tn sau y lun lun c coi l t kho theo chun ANSI-C++ v do vy chng khng th c dng t tn asm, car, bool, break, marry, catch, to char, class, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, operator, private, protected, public, to register, reinterpret_cast, return, short, signed, sizeof, static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t Thm vo , mt s biu din khc ca cc ton t (operator) cng khng c dng lm tn v chng l nhng t c dnh ring trong mt s trng hp. and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor, xor_eq Trnh dch ca bn c th thm mt t dnh ring c trng khc. V d, rt nhiu trnh dch 16 bit (nh cc trnh dch cho DOS) cn c th cc t kho far, huge v near. Ch : Ngn ng C++ l "case sensitive" c ngha l phn bit ch hoa ch thng. Do vy bin RESULT khc vi result cng nh Result. Cc kiu d liu Khi lp trnh, chng ta lu tr cc bin trong b nh ca my tnh nhng my tnh phi bit chng ta mun lu tr g trong chng v cc kiu d liu khc nhau s cn lng b nh khc nhau.
Updatesofts.com Ebooks Team Trang 6 B nh ca my tnh chng ta c t chc thnh cc byte. Mt byte l lng b nh nh nht m chng ta c th qun l. Mt byte c th dng lu tr mt loi d liu nh nh l kiu s nguyn t 0 n 255 hay mt k t. Nhng my tnh c th x l cc kiu d liu phc tp hn bng cch gp nhiu byte li vi nhau, nh s nguyn di hay s thp phn. Tip theo bn s c mt danh sch cc kiu d liu c bn trong C++ cng nh min gi tr m chng c th biu din Tn S byte M t Min gi tr char 1 K t hay kiu s nguyn 8-bit c du: -128 to 127 khng du: 0 to 255 short 2 kiu s nguyn 16-bit c du: -32763 to 32762 khng du: 0 to 65535 long 4 kiu s nguyn 32-bit c du:-2147483648 to 2147483647 khng du: 0 to 4294967295 int * S nguyn. di ca n ph thuc vo h thng, nh trong MS-DOS n l 16-bit, trn Windows 9x/2000/NT l 32 bit... Xem short, long float 4 Dng du phy ng 3.4e + / - 38 (7 digits) double 8 Dng du phy ng vi chnh xc gp i 1.7e + / - 308 (15 digits) long double 10 Dng du phy ng vi chnh xc hn na 1.2e + / - 4932 (19 digits) bool 1 Gi tr logic. N mi c thm vo chun ANSI-C++. Bi vy khng phi tt c cc trnh dch u h tr n. true hoc false Ngoi cc kiu d liu c bn ni trn cn tn ti cc con tr v cc tham s khng kiu (void) m chng ta s xem xt sau. Khai bo mt bin c th s dng mt bin trong C++, u tin chng ta phi khai bo n, ghi r n l kiu d liu no. Chng ta ch cn vit tn kiu (nh int, short, float...) tip theo sau l mt tn bin hp l. V d int a; float mynumber; Dng u tin khai bo mt bin kiu int vi tn l a. Dng th hai khai bo mt bin kiu float vi tn mynumber. Sau khi c khai bo, cc bin trn c th c dng trong phm vi ca chng trong chng trnh.
Updatesofts.com Ebooks Team Trang 7 Nu bn mun khai bo mt vi bin c cng mt kiu v bn mun tit kim cng sc vit bn c th khai bo chng trn mt dng, ngn cch cc tn bng du phy. V d int a, b, c; khai bo ba bin kiu int (a,b v c) v hon ton tng ng vi : int a; int b; int c; Cc kiu s nguyn (char, short, long and int) c th l s c du hay khng du tu theo min gi tr m chng ta cn biu din. V vy khi xc nh mt kiu s nguyn chng ta t t kho signed hoc unsigned trc tn kiu d liu. V d: unsigned short NumberOfSons; signed int MyAccountBalance; Nu ta khng ch r signed or unsigned n s c coi l c du, v vy trong khai bo th hai chng ta c th vit : int MyAccountBalance cng hon ton tng ng vi dng khai bo trn. Trong thc t, rt t khi ngi ta dng n t kho signed. Ngoi l duy nht ca lut ny kiu char. Trong chun ANSI- C++ n l kiu d liu khc vi signed char v unsigned char. c th thy r hn vic khai bo trong chng trnh, chng ta s xem xt mt on m C++ v d nh sau: // operating with variables
#include <iostream.h>
int main () { // declaring variables: int a, b; int result;
// process: a = 5; b = 2; a = a + 1; result = a - b;
// print out the result: cout << result;
// terminate the program: 4
Updatesofts.com Ebooks Team Trang 8 return 0; } ng lo lng nu nh vic khai bo c v hi l lng vi bn. Bn s thy phn chi tit cn li trong phn tip theo Khi to cc bin Khi khai bo mt bin, gi tr ca n mc nhin l khng xc nh. Nhng c th bn s mun n mang mt gi tr xc nh khi c khai bo. lm iu , bn ch cn vit du bng v gi tr bn mun bin s mang: type identifier = initial_value ; V d, nu chng ta mun khai bo mt bin int l a cha gi tr 0 ngay t khi khi to, chng ta s vit : int a = 0; B xung vo cch khi to kiu C ny, C++ cn c thm mt cch mi khi to bin bng cch bc mt cp ngoc n sau gi tr khi to. V d : int a (0); C hai cch u hp l trong C++. Phm vi hot ng ca cc bin Tt c cc bin m chng ta s s dng u phi c khai bo trc. Mt im khc bit gia Cv C++ l trong C++ chng ta c th khai bo bin bt k ni no trong chng trnh, thm ch l ngay gia cc lnh thc hin ch khng ch l u khi lnh nh trong C. Mc d vy chng ta vn nn theo cch ca ngn ng C khi khai bo cc bin bi v n s rt hu dng khi cn sa cha mt chng trnh c tt c cc phn khai bo c gp li vi nhau. Bi vy, cch thng dng nht khai bo bin l t n trong phn bt u ca mi hm (bin cc b) hay trc tip trong thn chng trnh, ngoi tt c cc hm (bin ton cc). Global variables (bin ton cc) c th c s dng bt k u trong chng trnh, ngay sau khi n c khai bo. Tm hot ng ca local variables (bin cc b) b gii hn trong phn m m n c khai bo. Nu chng c khai bo u mt hm (nh hm main), tm hot ng s l ton b hm main. iu c ngha l trong v d trn, cc bin c khai bo trong
Updatesofts.com Ebooks Team Trang 9 hm main() ch c th c dng trong hm , khng c dng bt k u khc. Thm vo cc bin ton cc v cc b, cn c cc bin ngoi (external). Cc bin ny khng nhng c dng trong mt file m ngun m cn trong tt c cc file c lin kt trong chng trnh. Trong C++ tm hot ng ca mt bin chnh l khi lnh m n c khai bo (mt khi lnh l mt tp hp cc lnh c gp li trong mt bng cc ngoc nhn { } ). Nu n c khai bo trong mt hm tm hot ng s l hm , cn nu c khai bo trong vng lp th tm hot ng s ch l vng lp .... Cc hng s Mt hng s l bt k mt biu thc no mang mt gi tr c nh, nh: Cc s nguyn 1776 707 -273 chng l cc hng mang gi tr s. Ch rng khi biu din mt hng kiu s chng ta khng cn vit du ngoc kp hay bt k du hiu no khc. Thm vo nhng s h c s 10 ( ci m tt c chng ta u bit) C++ cn cho php s dng cc hng s c s 8 v 16. biu din mt s h c s 8 chng ta t trc n k t 0, biu din s h c s 16 chng ta t trc n hai k t 0x. V d: 75 // C s 10 0113 // c s 8 0x4b // c s 16 Cc s thp phn (dng du phy ng) Chng biu din cc s vi phn thp phn v/hoc s m. Chng c th bao gm phn thp phn, k t e (biu din 10 m...). 3.14159 // 3.14159 6.02e23 // 6.02 x 10 23
1.6e-19 // 1.6 x 10 -19
3.0 // 3.0 K t v xu k t Trong C++ cn tn ti cc hng khng phi kiu s nh: 'z' 'p' "Hello world" "How do you do?"
Updatesofts.com Ebooks Team Trang 10 Hai biu thc u tin biu din cc k t n, cc k t c t trong du nhy n ('), hai biu thc tip theo biu thc cc xu k t c t trong du nhy kp ("). Khi vit cc k t n hay cc xu k t cn phi chng trong cc du nhy phn bit vi cc tn bin hay cc t kho. Ch : x 'x' x tr n bin x trong khi 'x' l k t hng 'x'. Cc k t n v cc xu k t c mt tnh cht ring bit l cc m iu khin. Chng l nhng k t c bit m khng th c vit bt k u khc trong chng trnh nh l m xung dng (\n) hay tab (\t). Tt c u bt u bng du x ngc (\). Sau y l danh sch cc m iu khin : \n xung dng \r li v u dng \t k t tab \v cn thng theo chiu dc \b backspace \f sang trang \a Ku bp \' du nhy n \" du nhy kp \ du hi \\ k t x ngc V d: '\n' '\t' "Left \t Right" "one\ntwo\nthree" Thm vo , biu din mt m ASCII bn cn s dng k t x ngc (\) tip theo l m ASCII vit trong h c s 8 hay c s 16. Trong trng hp u m ASCII c vit ngay sau du s ngc, trong trng hp th hai, s dng s trong h c s 16 bn cn vit k t x trc s (v d \x20 hay \x4A). Cc hng chui k t c th c vit trn nhiu dng nu mi dng c kt thc bng mt du s ngc (\):
Updatesofts.com Ebooks Team Trang 11 "string expressed in \ two lines" Bn c th ni mt vi hng xu k t ngn cch bng mt hay vi du trng, k t tab, xung dng hay bt k k t trng no khc. "we form" "a unique" "string" "of characters" nh ngha cc hng (#define) Bn c th nh ngha cc hng vi tn m bn mun c th s dng thng xuyn m khng mt ti nguyn cho cc bin bng cch s dng ch th #define. y l dng ca n: #define identifier value V d: #define PI 3.14159265 #define NEWLINE '\n' #define WIDTH 100 chng nh ngha ba hng s mi. Sau khi khai bo bn c th s dng chng nh bt k cc hng s no khc, v d circle = 2 * PI * r; cout << NEWLINE; Trong thc t vic duy nht m trnh dch lm khi n tm thy mt ch th #define l thay th cc tn hng ti bt k ch no chng xut hin (nh trong v d trc, PI, NEWLINE hay WIDTH) bng gi tr m chng c nh ngha. V vy cc hng s #define c coi l cc hng s macro Ch th #define khng phi l mt lnh thc thi, n l ch th tin x l (preprocessor), l l do trnh dch coi c dng l mt ch th v dng khng cn kt thc bng du chm phy. Nu bn thm du chm phy vo cui dng, n s c coi l mt phn ca gi tr nh ngha hng. Khai bo cc hng (const) Vi tin t const bn c th khai bo cc hng vi mt kiu xc nh nh l bn lm vi mt bin const int width = 100; const to char tab = '\t'; const zip = 12440;
Updatesofts.com Ebooks Team Trang 12 Trong trng hp kiu khng c ch r (nh trong v d cui) trnh dch s coi n l kiu int
Updatesofts.com Ebooks Team Trang 13 Cc ton t Qua bi trc chng ta bit n s tn ti ca cc bin v cc hng. Trong C++, thao tc vi chng ta s dng cc ton t, l cc t kho v cc du khng c trong bng ch ci nhng li c trn hu ht cc bn phm trn th gii. Hiu bit v chng l rt quan trng v y l mt trong nhng thnh phn c bn ca ngn ng C++. Ton t gn (=). Ton t gn dng gn mt gi tr no cho mt bin a = 5; gn gi tr nguyn 5 cho bin a. V tri bt buc phi l mt bin cn v phi c th l bt k hng, bin hay kt qu ca mt biu thc. Cn phi nhn mnh rng ton t gn lun c thc hin t tri sang phi v khng bao gi o ngc a = b; gn gi tr ca bin a bng gi tr ang cha trong bin b. Ch rng chng ta ch gn gi tr ca b cho a v s thay i ca b sau s khng nh hng n gi tr ca a. Mt thuc tnh ca ton t gn trong C++ gp phn gip n vt ln cc ngn ng lp trnh khc l vic cho php v phi c th cha cc php gn khc. V d: a = 2 + (b = 5); tng ng vi b = 5; a = 2 + b; V vy biu thc sau cng hp l trong C++ a = b = c = 5; gn gi tr 5 cho c ba bin a, b v c Cc ton t s hc ( +, -, *, /, % ) Nm ton t s hc c h tr bi ngn ng l:
+ cng - tr * nhn / chia
Updatesofts.com Ebooks Team Trang 14 % ly phn d (trong php chia) Th t thc hin cc ton t ny cng ging nh chng c thc hin trong ton hc. iu duy nht c v hi l i vi bn l php ly phn d, k hiu bng du phn trm (%). y chnh l php ton ly phn d trong php chia hai s nguyn vi nhau. V d, nu a = 11 % 3;, bin a s mang gi tr 2 v 11 = 3*3 +2. Cc ton t gn phc hp (+=, -=, *=, /=, %=, >>=, <<=, &=, ^=, |=) Mt c tnh ca ngn ng C++ lm cho n ni ting l mt ngn ng sc tch chnh l cc ton t gn phc hp cho php chnh sa gi tr ca mt bin vi mt trong nhng ton t c bn sau: value += increase; tng ng vi value = value + increase; a -= 5; tng ng vi a = a - 5; a /= b; tng ng vi a = a / b; price *= units + 1; tng ng vi price = price * (units + 1); v tng t cho tt c cc ton t khc. Tng v gim. Mt v d khc ca vic tit kim khi vit m lnh l ton t tng (++) v gim (--). Chng tng hoc gim gi tr cha trong mt bin i 1. Chng tng ng vi +=1 hoc -=1. V vy, cc dng sau l tng ng: a++; a+=1; a=a+1; Mt tnh cht ca ton t ny l n c th l tin t hoc hu t, c ngha l c th vit trc tn bin (++a) hoc sau (a++) v mc d trong hai biu thc rt n gin n c cng ngha nhng trong cc thao tc khc khi m kt qu ca vic tng hay gim c s dng trong mt biu thc th chng c th c mt khc bit quan trng v ngha: Trong trng hp ton t c s dng nh l mt tin t (++a) gi tr c tng trc khi biu thc c tnh v gi tr tng c s dng trong biu thc; trong trng hp ngc li (a++) gi tr trong bin a c tng sau khi tnh ton. Hy ch s khc bit : V d 1 V d 2 B=3; A=++B; // A is 4, B is 4 B=3; A=B++; // A is 3, B is 4
Cc ton t quan h ( ==, !=, >, <, >=, <= ) c th so snh hai biu thc vi nhau chng ta c th s dng cc ton t quan h. Theo chun ANSI-C++ th gi tr ca thao tc quan h ch c th l gi tr logic - chng ch c th c gi tr true hoc false, tu theo biu thc kt qu l ng hay sai.
Updatesofts.com Ebooks Team Trang 15 Sau y l cc ton t quan h bn c th s dng trong C++ == Bng != Khc > Ln hn < Nh hn > = Ln hn hoc bng < = Nh hn hoc bng V d: (7 == 5) s tr gi tr false (6 >= 6) s tr gi tr true tt nhin thay v s dng cc s, chng ta c th s dng bt c biu thc no. 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
Cn ch rng = (mt du bng) lf hon ton khc vi == (hai du bng). Du u tin l mt ton t gn ( gn gi tr ca biu thc bn phi cho bin bn tri) v du cn li (==) l mt ton t quan h nhm so snh xem hai biu thc c bng nhau hay khng.
Trong nhiu trnh dch c trc chun ANSI-C++ cng nh trong ngn ng C, cc ton t quan h khng tr v gi tr logic true hoc false m tr v gi tr int vi 0 tng ng vi false cn gi tr khc 0 (thng l 1) th tng ng vi true. Cc ton t logic ( !, &&, || ). Ton t ! tng ng vi ton t logic NOT, n ch c mt i s pha bn phi v vic duy nht m n lm l i ngc gi tr ca i s t true sang false hoc ngc li. V d: !(5 == 5) tr v false v biu thc bn phi (5 == 5) c gi trtrue. !(6 <= 4) tr v true v (6 <= 4)c gi tr false. !true tr v false. !false tr v true. Ton t logic && v || c s dng khi tnh ton hai biu thc ly ra mt kt qu duy nht. Chng tng ng vi cc ton t logic AND v OR. Kt qu ca chng ph thuc vo mi quan h ca hai i s: i s th nht a i s th hai b Kt qu a && b Kt qu a || b true true true true true false false true false true false true false false false false V d:
Updatesofts.com Ebooks Team Trang 16 ( (5 == 5) && (3 > 6) ) tr v false ( true && false ). ( (5 == 5) || (3 > 6)) tr v true ( true || false ). Ton t iu kin ( ? ). Ton t iu kin tnh ton mt biu thc v tr v mt gi tr khc tu thuc vo biu thc l ng hay sai. Cu trc ca n nh sau: condition ? result1 : result2 Nu condition l true th gi tr tr v s l result1, nu khng gi tr tr v l result2. 7==5 ? 4 : 3 tr v 3 v 7 khng bng 5. 7==5+2 ? 4 : 3 tr v 4 v 7 bng 5+2. 5>3 ? a : b tr v a, v 5 ln hn 3. a>b ? a : b tr v gi tr ln hn, a hoc b.
Cc ton t thao tc bit ( &, |, ^, ~, <<, >> ). Cc ton t thao tc bit thay i cc bit biu din mt bin, c ngha l thay i biu din nh phn ca chng ton t asm M t & AND Logical AND | OR Logical OR ^ XOR Logical exclusive OR ~ NOT o ngc bit << SHL Dch bit sang tri >> SHR Dch bit sang phi
Cc ton t chuyn i kiu Cc ton t chuyn i kiu cho php bn chuyn i d liu t kiu ny sang kiu khc. C vi cch lm vic ny trong C++, cch c bn nht c tha k t ngn ng C l t trc biu thc cn chuyn i tn kiu d liu c bc trong cp ngoc n (), v d: int i; float f = 3.14; i = (int) f; on m trn chuyn s thp phn 3.14 sang mt s nguyn (3). y, ton t chuyn i kiu l (int). Mt cch khc lm iu ny trong C++ l s dng cc constructors ( mt s sch thut ng ny c dch l cu t nhng ti thy n c v khng xui tai lm) thay v dng cc ton t : t trc biu thc cn chuyn i kiu tn kiu mi v bao bc biu thc gia mt cp ngoc n. i = int ( f );
Updatesofts.com Ebooks Team Trang 17 C hai cch chuyn i kiu u hp l trong C++. Thm vo ANSI-C++ cn c nhng ton t chuyn i kiu mi c trng cho lp trnh hng i tng.
sizeof() Ton t ny c mt tham s, c th l mt kiu d liu hay l mt bin v tr v kch c bng byte ca kiu hay i tng . a = sizeof (char); a s mang gi tr 1 v kiu char lun c kch c 1 byte trn mi h thng. Gi tr tr v ca sizeof l mt hng s v vy n lun lun c tnh trc khi chng trnh thc hin.
Cc ton t khc Trong C++ cn c mt s cc ton t khc, nh cc ton t lin quan n con tr hay lp trnh hng i tng. Chng s c ni n c th trong cc phn tng ng. Th t u tin ca cc ton t Khi vit cc biu thc phc tp vi nhiu ton hng cc bn c th t hi ton hng no c tnh trc, ton hng no c tnh sau. V d nh trong biu thc sau: a = 5 + 7 % 2 c th c hai cch hiu sau: a = 5 + (7 % 2) vi kt qu l 6, hoc a = (5 + 7) % 2 vi kt qu l 0 Cu tr li ng l biu thc u tin. V nguyn nhn ni trn, ngn ng C++ thit lp mt th t u tin gia cc ton t, khng ch ring cc ton t s hc m tt c cc ton t c th xut hin trong C++. Th t u tin ca chng c lit k trong bng sau theo th t t cao xung thp.
Th t Ton t M t Associativity 1 :: scope Tri 2 () [ ] -> . sizeof Tri ++ -- tng/gim ~ o ngc bit ! NOT & * Ton t con tr (type) Chuyn i kiu 3 + - Dng hoc m Phi 4 * / % Ton t s hc Tri
Updatesofts.com Ebooks Team Trang 18 5 + - Ton t s hc Tri 6 << >> Dch bit Tri 7 < <= > >= Ton t quan h Tri 8 == != Ton t quan h Tri 9 & ^ | Ton t thao tc bit Tri 10 && || Ton t logic Tri 11 ?: Ton t iu kin Phi 12 = += -= *= /= %= >>= <<= &= ^= |= Ton t gn Phi 13 , Du phy Tri Associativity nh ngha trong trng hp c mt vi ton t c cng th t u tin th ci no s c tnh trc, ton t pha xa nht bn phi hay l xa nht bn tri. Nu bn mun vit mt biu thc phc tp m li khng chc lm v th t u tin ca cc ton t th nn s dng cc ngoc n. Cc bn nn thc hin iu ny v n s gip chng trnh d c hn.
Updatesofts.com Ebooks Team Trang 19 Giao tip vi console. Console l giao din c bn ca my tnh. Bn phm l thit b vo c bn cn mn hnh l thit b ra c bn. Trong th vin iostream ca C++, cc thao tc vo ra c bn ca mt chng trnh c h tr bi hai dng d liu : cin nhp d liu v cout xut. Thm vo , cn c cerr v clog l hai dng d liu dng hin th cc thng bo li trn thit b ra chun (thng l mn hnh) hoc ra mt file. Thng thng cout c gn vi mn hnh cn cin c gn vi bn phm. S dng hai dng d liu ny bn s c th giao tip vi ngi s dng v bn c th hin th cc thng bo ln mn hnh cng nh nhn d liu t bn phm. Xut d liu (cout) Dng cout c s dng vi ton t qu ti << (overloaded - bn s hiu r hn v thut ng ny trong phn lp trnh hng i tng) cout << "Output sentence"; // Hin th Output sentence ln mn hnh cout << 120; // Hin th s 120 ln mn hnh cout << x; // Hin th ni dung bin x ln mn hnh Ton t << c gi l ton t chn v n chn d liu i sau n vo dng d liu ng trc. Trong v d trn n chn chui "Output sentence", hng s 120 v bin x vo dng d liu ra cout.Ch rng dng u tin chng ta s dng du ngoc kp v l mt chui k t. Khi chng ta mun s dng cc hng xu k t ta phi t chng trong cp du ngoc kp chng c th c phn bit vi cc bin. V d, hai lnh sau y l hon ton khc nhau: cout << "Hello"; // Hin th Hello ln mn hnh cout << Hello; // Hin th ni dung ca bin Hello ln mn hnh Ton t chn (<<) c th c s dng nhiu ln trong mt cu lnh: cout << "Hello, " << "I am " << "a C++ sentence"; Cu lnh trn s in thng bo Hello, I am a C++ sentence ln mn hnh. S tin li ca vic s dng lp li ton t chn (<<) th hin r khi chng ta mun hin th nhiu bin v hng hn l ch mt bin: cout << "Hello, I am " << age << " years old and my email address is " << email_add; Cn phi nhn mnh rng cout khng nhy xung dng sau khi xut d liu, v vy hai cu lnh sau : cout << "This is a sentence."; cout << "This is another sentence."; s c hin th trn mn hnh: This is a sentence.This is another sentence. Bi vy khi mun xung dng chng ta phi s dng k t xung dng, trong C++ l \n: