You are on page 1of 19

Chng 1.

Cc khi nim c bn ca C++

CHNG 1

CC KHI NI M C B N C A C++
Cc yu t c bn Mi trng lm vic ca C++ Cc bc to v thc hin mt chng trnh Vo/ra trong C++

I. CC YU T C BN Mt ngn ng lp trnh (NNLT) bc cao cho php ngi s dng (NSD) biu hin tng ca mnh gii quyt mt vn , bi ton bng cch din t gn vi ngn ng thng thng thay v phi din t theo ngn ng my (dy cc k hiu 0,1). Hin nhin, cc tng NSD mun trnh by phi c vit theo mt cu trc cht ch thng c gi l thut ton hoc gii thut v theo ng cc qui tc ca ngn ng gi l c php hoc vn phm. Trong gio trnh ny chng ta bn n mt ngn ng lp trnh nh vy, l ngn ng lp trnh C++ v lm th no th hin cc tng gii quyt vn bng cch vit thnh chng trnh trong C++. Trc ht, trong mc ny chng ta s trnh by v cc qui nh bt buc n gin v c bn nht. Thng thng cc qui nh ny s c nh dn trong qu trnh hc ngn ng, tuy nhin c mt vi khi nim tng i h thng v NNLT C++ chng ta trnh by s lc cc khi nim c bn . Ngi c tng lm quen vi cc NNLT khc c th c lt qua phn ny.
1. Bng k t ca C++

Hu ht cc ngn ng lp trnh hin nay u s dng cc k t ting Anh, cc k hiu thng dng v cc con s th hin chng trnh. Cc k t ca nhng ngn ng khc khng c s dng (v d cc ch ci ting Vit). Di y l bng k t c php dng to nn nhng cu lnh ca ngn ng C++. Cc ch ci la tinh (vit thng v vit hoa): a .. z v A .. Z. Cng mt ch ci nhng vit thng phn bit vi vit hoa. V d ch ci 'a' l khc vi 'A'. Du gch di: _ Cc ch s thp phn: 0, 1, . ., 9.

Chng 1. Cc khi nim c bn ca C++

Cc k hiu ton hc: +, -, *, /, % , &, ||, !, >, <, = ... Cc k hiu c bit khc: , ;: [ ], {}, #, du cch, ...
2. T kho

Mt t kho l mt t c qui nh trc trong NNLT vi mt ngha c nh, thng dng ch cc loi d liu hoc kt hp thnh cu lnh. NSD c th to ra nhng t mi ch cc i tng ca mnh nhng khng c php trng vi t kho. Di y chng ti lit k mt vi t kho thng gp, ngha ca cc t ny, s c trnh by dn trong cc mc lin 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 ...

Mt c trng ca C++ l cc t kho lun lun c vit bng ch thng.


3. Tn gi

phn bit cc i tng vi nhau chng cn c mt tn gi. Hu ht mt i tng c vit ra trong chng trnh thuc 2 dng, mt dng c sn trong ngn ng (v d cc t kho, tn cc hm chun ...), mt s do NSD to ra dng t tn cho hng, bin, kiu, hm ... cc tn gi do NSD t t phi tun theo mt s qui tc sau: L dy k t lin tip (khng cha du cch) v phi bt u bng ch ci hoc gch di. Phn bit k t in hoa v thng. Khng c trng vi t kha. S lng ch ci dng phn bit tn gi c th c t tu . Ch cc tn gi c sn ca C++ cng tun th theo ng qui tc trn. Trong mt chng trnh nu NSD t tn sai th trong qu trnh x l s b (trc khi chy chng trnh) my s bo li (gi l li vn phm). V d 1 : Cc tn gi sau y l ng (c php): i, i1, j, tinhoc, tin_hoc, luu_luong Cc tn gi sau y l sai (khng c php): 1i, tin hoc, luu-luong-nuoc Cc tn gi sau y l khc nhau: ha_noi, Ha_noi, HA_Noi, HA_NOI, ...
4. Ch thch trong chng trnh

Chng 1. Cc khi nim c bn ca C++

Mt chng trnh thng c vit mt cch ngn gn, do vy thng thng bn cnh cc cu lnh chnh thc ca chng trnh, NSD cn c php vit vo chng trnh cc cu ghi ch, gii thch lm r ngha hn chng trnh. Mt ch thch c th ghi ch v nhim v, mc ch, cch thc ca thnh phn ang c ch thch nh bin, hng, hm hoc cng dng ca mt on lnh ... Cc ch thch s lm cho chng trnh sng sa, d c, d hiu v v vy d bo tr, sa cha v sau. C 2 cch bo cho chng trnh bit mt on ch thch: Nu ch thch l mt on k t bt k lin tip nhau (trong 1 dng hoc trn nhiu dng) ta t on ch thch gia cp du ng m ch thch /* (m) v */ (ng). Nu ch thch bt u t mt v tr no cho n ht dng, th ta t du // v tr . Nh vy // s dng cho cc ch thch ch trn 1 dng. Nh nhc trn, vai tr ca on ch thch l lm cho chng trnh d hiu i vi ngi c, v vy i vi my cc on ch thch s c b qua. Li dng c im ny ca ch thch i khi tm thi b qua mt on lnh no trong chng trnh (nhng khng xo hn khi phi g li khi cn dng n) ta c th t cc du ch thch bao quanh on lnh ny (v d khi chy th chng trnh, g li ...), khi cn s dng li ta c th b cc du ch thch. Ch : Cp du ch thch /* ... */ khng c php vit lng nhau, v d dng ch thch sau l khng c php
/* y l on ch thch /* cha on ch thch ny */ nh on ch thch con */

cn phi sa li nh sau: hoc ch gi li cp du ch thch ngoi cng


/* y l on ch thch cha on ch thch ny nh on ch thch con */

hoc chia thnh cc on ch thch lin tip nhau


/* y l on ch thch */ /*cha on ch thch ny*/ /*nh on ch thch con */

II. MI TRNG LM VIC CA C++


1. Khi ng - Thot khi C++

Khi ng C++ cng nh mi chng trnh khc bng cch nhp p chut ln biu tng ca chng trnh. Khi chng trnh c khi ng s hin ra giao din gm c menu cng vic v mt khung ca s bn di phc v cho son tho. Mt con tr nhp nhy trong khung ca s v chng ta bt u nhp ni dung (vn bn) chng trnh vo trong khung ca s son tho ny. Mc ch ca gio trnh ny l trang b nhng

Chng 1. Cc khi nim c bn ca C++

kin thc c bn ca lp trnh thng qua NNLT C++ cho cc sinh vin mi bt u nn chng ti vn chn trnh by giao din ca cc trnh bin dch quen thuc l Turbo C hoc Borland C. V cc trnh bin dch khc c gi c th t tham kho trong cc ti liu lin quan. kt thc lm vic vi C++ (son tho, chy chng trnh ...) v quay v mi trng Windows chng ta n Alt-X.
2. Giao din v ca s son tho 1. M t chung

Khi gi chy C++ trn mn hnh s xut hin mt menu x xung v mt ca s son tho. Trn menu gm c cc nhm chc nng: File, Edit, Search, Run, Compile, Debug, Project, Options, Window, Help. kch hot cc nhm chc nng, c th n Alt+ch ci biu th cho menu ca chc nng (l ch ci c gch di). V d m nhm chc nng File n Alt+F, sau dch chuyn hp sng n mc cn chn ri n Enter. thun tin cho NSD, mt s cc chc nng hay dng cn c gn vi mt t hp cc phm cho php ngi dng c th chn nhanh chc nng ny m khng cn thng qua vic m menu nh m t trn. Mt s t hp phm c th s c trnh by vo cui phn ny. Cc b chng trnh dch h tr ngi lp trnh mt mi trng tch hp tc ngoi chc nng son tho, n cn cung cp nhiu chc nng, tin ch khc gip ngi lp trnh va c th son tho vn bn chng trnh va gi chy chng trnh va g li Cc chc nng lin quan n son tho phn ln ging vi cc b son tho khc (nh WinWord) do vy chng ti ch trnh by tm tt m khng trnh by chi tit y.
2. Cc chc nng son tho

Ging hu ht cc b son tho vn bn, b son tho ca Turbo C hoc Borland C cng s dng cc phm sau cho qu trnh son tho: Dch chuyn con tr: cc phm mi tn cho php dch chuyn con tr sang tri, phi mt k t hoc ln trn, xung di 1 dng. dch chuyn nhanh c cc phm nh Home (v u dng), End (v cui dng), PgUp, PgDn (ln, xung mt trang mn hnh). dch chuyn xa hn c th kt hp cc phm ny cng phm Control (Ctrl, ^) nh ^PgUp: v u tp, ^PgDn: v cui tp. Chn, xo, sa: Phm Insert cho php chuyn ch son tho gia chn v . Cc phm Delete, Backspace cho php xo mt k t ti v tr con tr v trc v tr con tr (xo li). Cc thao tc vi khi dng: nh du khi dng (thc cht l khi k t lin nhau bt k) ta a con tr n v tr u n Ctrl-KB v Ctrl-KK ti v tr cui.

Chng 1. Cc khi nim c bn ca C++

Cng c th thao tc nhanh hn bng cch gi phm Shift v dng cc phm dch chuyn con tr qut t v tr u n v tr cui, khi khi k t uc nh du s chuyn mu nn. Mt khi c nh du c th dng ct, dn vo mt ni khc trong vn bn hoc xo khi vn bn. thc hin thao tc ct dn, u tin phi a khi nh du vo b nh m bng nhm phm Shift-Delete (ct), sau dch chuyn con tr n v tr mi cn hin ni dung va ct v n t hp phm Shift-Insert. Mt on vn bn c ghi vo b nh m c th c dn nhiu ln vo nhiu v tr khc nhau bng cch lp li t hp phm Shift-Insert ti cc v tr khc nhau trong vn bn. xo mt khi dng nh du m khng ghi vo b nh m, dng t hp phm CtrlDelete. Khi mt ni dung mi ghi vo b nh m th n s xo (ghi ) ni dung c c, do vy cn cn nhc s dng phm Ctrl-Delete (xo v khng lu li ni dung va xo vo b m) v Shift-Delete (xo v lu li ni dung va xo) mt cch ph hp. T hp phm Ctrl-A rt thun li khi cn nh du nhanh ton b vn bn.
3. Chc nng tm kim v thay th

Chc nng ny dng dch chuyn nhanh con tr vn bn n t cn tm. thc hin tm kim bm Ctrl-QF, tm kim v thay th bm Ctrl-QA. Vo t hoc nhm t cn tm vo ca s Find, nhm thay th (nu dng Ctrl-QA) vo ca s Replace v nh du vo cc tu chn trong ca s bn di sau n Enter. Cc tu chn gm: khng phn bit ch hoa/thng, tm t c lp hay ng trong t khc, tm trong ton vn bn hay ch trong phn c nh du, chiu tm i n cui hay ngc v u vn bn, thay th c hi li hay khng hi li dch chuyn con tr n cc vng khc nhau trong mt menu hay ca s cha cc tu chn ta s dng phm Tab.
4. Cc chc nng lin quan n tp

Ghi tp ln a: Chn menu File\Save hoc phm F2. Nu tn tp cha c (cn mang tn Noname.cpp) my s yu cu cho tn tp. Phn m rng ca tn tp c mc nh l CPP. Son tho tp mi: Chn menu File\New. Hin ra ca s son tho trng v tn file tm thi ly l Noname.cpp. Son tho tp c: Chn menu File\Open hoc n phm F3, nhp tn tp hoc dch chuyn con tr trong vng danh sch tp bn di n tn tp cn son ri n Enter. Cng c th p dng cch ny son tp mi khi khng nhp vo tn tp c th. Ghi tp ang son tho ln a vi tn mi: Chn menu File\Save As v nhp tn tp mi vo ri n Enter.

Chng 1. Cc khi nim c bn ca C++

5. Chc nng dch v chy chng trnh

Ctrl-F9: Khi ng chc nng dch v chy ton b chng trnh. F4: Chy chng trnh t u n dng lnh hin ti (ang cha con tr) F7: Chy tng lnh mt ca hm main(), k c cc lnh con trong hm. F8: Chy tng lnh mt ca hm main(). Khi mi li gi hm c xem l mt lnh (khng chy tng lnh trong cc hm c gi). Cc chc nng lin quan n dch chng trnh c th c chn thng qua menu Compile (Alt-C).
6. Tm tt mt s phm nng hay dng

Cc phm kch hot menu: Alt+ch ci i din cho nhm menu . V d Alt-F m menu File chn cc chc nng c th trong n nh Open (m file), Save (ghi file ln a), Print (in ni dung vn bn chng trnh ra my in), Alt-C m menu Compile chn cc chc nng dch chng trnh. Cc phm dch chuyn con tr khi son tho. F1: m ca s tr gip. y l chc nng quan trng gip ngi lp trnh nh tn lnh, c php v cch s dng. F2: ghi tp ln a. F3: m tp c ra sa cha hoc son tho tp mi. F4: chy chng trnh n v tr con tr. F5: Thu hp/m rng ca s son tho. F6: Chuyn i gia cc ca s son tho. F7: Chy chng trnh theo tng lnh, k c cc lnh trong hm con. F8: Chy chng trnh theo tng lnh trong hm chnh. F9: Dch v lin kt chng trnh. Thng dng chc nng ny tm li c php ca chng trnh ngun trc khi chy. Alt-F7: Chuyn con tr v ni gy li trc . Alt-F8: Chuyn con tr n li tip theo. Ctrl-F9: Chy chng trnh. Ctrl-Insert: Lu khi vn bn c nh du vo b nh m. Shift-Insert: Dn khi vn bn trong b nh m vo vn bn ti v tr con tr. 6

Chng 1. Cc khi nim c bn ca C++

Shift-Delete: Xo khi vn bn c nh du, lu n vo b nh m. Ctrl-Delete: Xo khi vn bn c nh du (khng lu vo b nh m). Alt-F5: Chuyn sang ca s xem kt qu ca chng trnh va chy xong. Alt-X: thot C++ v li Windows.
3. Cu trc mt chng trnh trong C++

Mt chng trnh C++ c th c t trong mt hoc nhiu file vn bn khc nhau. Mi file vn bn cha mt s phn no ca chng trnh. Vi nhng chng trnh n gin v ngn thng ch cn t chng trn mt file. Mt chng trnh gm nhiu hm, mi hm ph trch mt cng vic khc nhau ca chng trnh. c bit trong cc hm ny c mt hm duy nht c tn hm l main(). Khi chy chng trnh, cc cu lnh trong hm main() s c thc hin u tin. Trong hm main() c th c cc cu lnh gi n cc hm khc khi cn thit, v cc hm ny khi chy li c th gi n cc hm khc na c vit trong chng trnh (tr vic gi quay li hm main()). Sau khi chy n lnh cui cng ca hm main() chng trnh s kt thc. C th, thng thng mt chng trnh gm c cc ni dung sau: Phn khai bo cc tp nguyn mu: khai bo tn cc tp cha nhng thnh phn c sn (nh cc hng chun, kiu chun v cc hm chun) m NSD s dng trong chng trnh. Phn khai bo cc kiu d liu, cc bin, hng ... do NSD nh ngha v c dng chung trong ton b chng trnh. Danh sch cc hm ca chng trnh (do NSD vit, bao gm c hm main()). Cu trc chi tit ca mi hm s c cp n trong chng 4. Di y l mt on chng trnh n gin ch gm 1 hm chnh l hm main(). Ni dung ca chng trnh dng in ra mn hnh dng ch: Cho cc bn, by gi l 2 gi.
#include <iostream.h> void main() { int h = 2, } // Khai bo v khi to bin h = 2 // in ra mn hnh cout << Cho cc bn, by gi l << h << " gi" ; // khai bo tp nguyn mu // c s dng ton t in cout <<

Chng 1. Cc khi nim c bn ca C++

Dng u tin ca chng trnh l khai bo tp nguyn mu iostream.h. y l khai bo bt buc v trong chng trnh c s dng phng thc chun cout << (in ra mn hnh), phng thc ny c khai bo v nh ngha sn trong iostream.h. Khng ring hm main(), mi hm khc u phi bt u tp hp cc cu lnh ca mnh bi du { v kt thc bi du }. Tp cc lnh bt k bn trong cp du ny c gi l khi lnh. Khi lnh l mt c php cn thit trong cc cu lnh c cu trc nh ta s thy trong cc chng tip theo. III. CC BC TO V THC HIN MT CHNG TRNH
1. Qui trnh vit v thc hin chng trnh

Trc khi vit v chy mt chng trnh thng thng chng ta cn: 1. Xc nh yu cu ca chng trnh. Ngha l xc nh d liu u vo (input) cung cp cho chng trnh v tp cc d liu cn t c tc u ra (output). Cc tp hp d liu ny ngoi cc tn gi cn cn xc nh kiu ca n.V d gii mt phng trnh bc 2 dng: ax2 + bx + c = 0, cn bo cho chng trnh bit d liu u vo l a, b, c v u ra l nghim x1 v x2 ca phng trnh. Kiu ca a, b, c, x1, x2 l cc s thc. 2. Xc nh thut ton gii. 3. C th ho cc khai bo kiu v thut ton thnh dy cc lnh, tc vit thnh chng trnh thng thng l trn giy, sau bt u son tho vo trong my. Qu trnh ny c gi l son tho chng trnh ngun. 4. Dch chng trnh ngun tm v sa cc li gi l li c php. 5. Chy chng trnh, kim tra kt qu in ra trn mn hnh. Nu sai, sa li chng trnh, dch v chy li kim tra. Qu trnh ny c thc hin lp i lp li cho n khi chng trnh chy tt theo yu cu ra ca NSD.
2. Son tho tp chng trnh ngun

Son tho chng trnh ngun l mt cng vic n gin: g ni dung ca chng trnh ( vit ra giy) vo trong my v lu li n ln a. Thng thng khi lu li chng trnh ln a ln sau s khng cn phi g li. C th son chng trnh ngun trn cc b son tho (editor) khc nhng phi chy trong mi trng tch hp C++ (Borland C, Turbo C). Mc ch ca son tho l to ra mt vn bn chng trnh v a vo b nh ca my. Vn bn chng trnh cn c trnh by sng sa, r rng. Cc cu lnh cn ging thng ct theo cu trc ca lnh (cc lnh cha trong mt lnh cu trc c trnh by tht vo trong so vi im bt u ca lnh). Cc ch thch nn ghi

Chng 1. Cc khi nim c bn ca C++

ngn gn, r ngha v ph hp.


3. Dch chng trnh

Sau khi son tho xong chng trnh ngun, bc tip theo thng l dch (n t hp phm Alt-F9) tm v sa cc li gi l li c php. Trong khi dch C++ s t con tr vo ni gy li (vit sai c php) trong vn bn. Sau khi sa xong mt li NSD c th dng Alt-F8 chuyn con tr n li tip theo hoc dch li. chuyn con tr v ngc li li trc c th dng Alt-F7. Qu trnh sa li dch c lp li cho n khi vn bn c sa ht li c php. Sn phm sau khi dch l mt tp mi gi l chng trnh ch c ui EXE tc l tp m my thc hin.Tp ny c th lu tm thi trong b nh phc v cho qu trnh chy chng trnh hoc lu li trn a tu theo tu chn khi dch ca NSD. Trong v sau khi dch, C++ s hin mt ca s cha thng bo v cc li (nu c), hoc thng bo chng trnh c dch thnh cng (khng cn li). Cc li ny c gi l li c php. dch chng trnh ta chn menu \Compile\Compile hoc \Compile\Make hoc nhanh chng hn bng cch n t hp phm Alt-F9.

4. Chy chng trnh

n Ctrl-F9 chy chng trnh, nu chng trnh cha dch sang m my, my s t ng dch li trc khi chy. Kt qu ca chng trnh s hin ra trong mt ca s kt qu NSD kim tra. Nu kt qu cha c nh mong mun, quay li vn bn sa v li chy li chng trnh. Qu trnh ny c lp li cho n khi chng trnh chy ng nh yu cu ra. Khi chng trnh chy, ca s kt qu s hin ra tm thi che khut ca s son tho. Sau khi kt thc chy chng trnh ca s son tho s t ng hin ra tr li v che khut ca s kt qu. xem li kt qu hin n Alt-F5. Sau khi xem xong quay li ca s son tho n phm bt k. IV. VO/RA TRONG C++ Trong phn ny chng ta lm quen mt s lnh n gin cho php NSD nhp d liu vo t bn phm hoc in kt qu ra mn hnh. Trong phn sau ca gio trnh chng ta s kho st cc cu lnh vo/ra phc tp hn
1. Vo d liu t bn phm

nhp d liu vo cho cc bin c tn bin_1, bin_2, bin_3 chng ta s dng

Chng 1. Cc khi nim c bn ca C++

cu lnh:
cin >> bin_1 ; cin >> bin_2 ; cin >> bin_3 ;

hoc:
cin >> bin_1 >> bin_2 >> bin_3 ; bin_1, bin_2, bin_3 l cc bin c s dng lu tr cc gi tr NSD nhp vo t bn phm. Khi nim bin s c m t c th hn trong chng 2, y bin_1, bin_2, bin_3 c hiu l cc tn gi ch 3 gi tr khc nhau. Hin nhin c th nhp d liu nhiu hn 3 bin bng cch tip tc vit tn bin vo bn phi sau du >> ca cu lnh.

Khi chy chng trnh nu gp cc cu lnh trn chng trnh s "tm dng" ch NSD nhp d liu vo cho cc bin. Sau khi NSD nhp xong d liu, chng trnh s tip tc chy t cu lnh tip theo sau ca cc cu lnh trn. Cch thc nhp d liu ca NSD ph thuc vo loi gi tr ca bin cn nhp m ta gi l kiu, v d nhp mt s c cch thc khc vi nhp mt chui k t. Gi s cn nhp di hai cnh ca mt hnh ch nht, trong cnh di c qui c bng tn bin cd v chiu rng c qui c bi tn bin cr. Cu lnh nhp s nh sau:
cin >> cd >> cr ;

Khi my dng ch nhp d liu NSD s g gi tr c th ca cc chiu di, rng theo ng th t trong cu lnh. Cc gi tr ny cn cch nhau bi t nht mt du trng (ta qui c gi du trng l mt trong 3 loi du c nhp bi cc phm sau: phm spacebar (du cch), phm tab (du tab) hoc phm Enter (du xung dng)). Cc gi tr NSD nhp vo cng c hin th trn mn hnh NSD d theo di. V d nu NSD nhp vo 23 11 th chng trnh s gn gi tr 23 cho bin cd v 11 cho bin cr. Ch : gi s NSD nhp 2311 (khng c du cch gia 23 v 11) th chng trnh s xem 2311 l mt gi tr v gn cho cd. My s tm dng ch NSD nhp tip gi tr cho bin cr.
2. In d liu ra mn hnh

in gi tr ca cc biu thc ra mn hnh ta dng cu lnh sau:


cout << bt_1 ; cout << bt_2 ;

10

Chng 1. Cc khi nim c bn ca C++

cout << bt_3 ;

hoc:
cout << bt_1 << bt_2 << bt_3 ;

cng ging cu lnh nhp y chng ta cng c th m rng lnh in vi nhiu hn 3 biu thc. Cu lnh trn cho php in gi tr ca cc biu thc bt_1, bt_2, bt_3. Cc gi tr ny c th l tn ca bin hoc cc kt hp tnh ton trn bin. V d in cu "Chiu di l " v s 23 v tip theo l ch "mt", ta c th s dng 3 lnh sau y:
cout << "Chiu di l" ; cout << 23 ; cout << "mt";

hoc c th ch bng 1 lnh:


cout << "Chiu di l 23 mt" ;

Trng hp cha bit gi tr c th ca chiu di, ch bit hin ti gi tr ny c lu trong bin cd (v d c nhp vo l 23 t bn phm bi cu lnh cin >> cd trc ) v ta cn bit gi tr ny l bao nhiu th c th s dng cu lnh in ra mn hnh.
cout << "Chiu di l" << cd << "mt" ;

Khi trn mn hnh s hin ra dng ch: "Chiu di l 23 mt". Nh vy trong trng hp ny ta phi dng n ba ln du php ton << ch khng phi mt nh cu lnh trn. Ngoi ra ph thuc vo gi tr hin c lu trong bin cd, chng trnh s in ra s chiu di thch hp ch khng ch in c nh thnh "chiu di l 23 mt". V d nu cd c nhp l 15 th lnh trn s in cu "chiu di l 15 mt". Mt gi tr cn in khng ch l mt bin nh cd, cr, ... m cn c th l mt biu thc, iu ny cho php ta d dng yu cu my in ra din tch v chu vi ca hnh ch nht khi bit cd v cr bng cc cu lnh sau:
cout << "Din tch = " << cd * cr ; cout << "Chu vi = " << 2 * (cd + cr) ;

hoc gp tt c thnh 1 cu lnh:


cout << Din tch = " << cd * cr << \n << " Chu vi = " << 2 * (cd + cr) ;

y c mt k t c bit: l k t '\n' k hiu cho k t xung dng, khi gp k t ny chng trnh s in cc phn tip theo u dng k tip. Do kt qu ca cu lnh trn l 2 dng sau y trn mn hnh:
Din tch = 253

11

Chng 1. Cc khi nim c bn ca C++

Chu vi = 68

y 253 v 68 ln lt l cc gi tr m my tnh c t cc biu thc cd * cr, v 2 * (cd + cr) trong cu lnh in trn. Ch : s dng cc cu lnh nhp v in trong phn ny, u chng trnh phi c dng khai bo #include <iostream.h>. Thng thng ta hay s dng lnh in in cu thng bo nhc NSD nhp d liu trc khi c cu lnh nhp. Khi trn mn hnh s hin dng thng bo ny ri mi tm dng ch d liu nhp vo t bn phm. Nh vo thng bo ny NSD s bit phi nhp d liu, nhp ni dung g v nh th no ... v d:
cout << "Hy nhp chiu di: "; cin >> cd; cout << "V nhp chiu rng: "; cin >> cr;

khi my s in dng thng bo "Hy nhp chiu di: " v ch sau khi NSD nhp xong 23 , my s thc hin cu lnh tip theo tc in dng thng bo "V nhp chiu rng: " v ch n khi NSD nhp xong 11 chng trnh s tip tc thc hin cc cu lnh tip theo. V d 2 : T cc tho lun trn ta c th vit mt cch y chng trnh tnh din tch v chu vi ca mt hnh ch nht. chng trnh c th tnh vi cc b gi tr khc nhau ca chiu di v rng ta cn lu gi tr ny vo trong cc bin (v d cd, cr).
#include <iostream.h> void main() { float cd, cr ; // khai bo cc bin c tn cd, cr cha di cc cnh // nhp d liu // in kt qu cout << "Hy nhp chiu di: " ; cin >> cd ; cout << "Hy nhp chiu rng: " ; cin >> cr ; cout << "Din tch = " << cd * cr << '\n' ; cout << "Chu vi = " << 2 * (cd + cr) << '\n'; return ; } // khai bo tp nguyn mu dng c cin, cout // y l hm chnh ca chng trnh

Chng trnh ny c th g vo my v chy. Khi chy n cu lnh nhp, chng trnh dng ch nhn chiu di v chiu rng, NSD nhp cc gi tr c th, chng trnh s tip tc thc hin v in ra kt qu. Thng qua cu lnh nhp d liu v 2 bin cd, cr NSD c th yu cu chng trnh cho kt qu ca mt hnh ch nht bt k ch khng ch trong trng hp hnh c chiu di 23 v chiu rng 11 nh trong v d c th trn.

12

Chng 1. Cc khi nim c bn ca C++

3. nh dng thng tin cn in ra mn hnh

Mt s nh dng n gin c chng ti trnh by trc y. Cc nh dng chi tit v phc tp hn s c trnh by trong cc phn sau ca gio trnh. s dng cc nh dng ny cn khai bo file nguyn mu <iomanip.h> u chng trnh bng ch th #include <iomanip.h>. endl: Tng ng vi k t xung dng '\n'. setw(n): Bnh thng cc gi tr c in ra bi lnh cout << s thng theo l tri vi rng ph thuc vo rng ca gi tr . Phng thc ny qui nh rng dnh in ra cc gi tr l n ct mn hnh. Nu n ln hn di thc ca gi tr, gi tr s in ra theo l phi, trng phn tha (du cch) trc. setprecision(n): Ch nh s ch s ca phn thp phn in ra l n. S s c lm trn trc khi in ra. setiosflags(ios::showpoint): Phng thc setprecision ch c tc dng trn mt dng in. c nh cc gi tr t cho mi dng in (cho n khi t li gi tr mi) ta s dng phng thc setiosflags(ios::showpoint). V d sau minh ho cch s dng cc phng thc trn. V d 3 :
#include <iostream.h> #include <iomanip.h> #include <conio.h> void main() { clrscr();
// xo mn hnh // s dng cout << // s dng cc nh dng // s dng cc hm clrscr() v getch()

cout << "CHI TIU" << endl << "=======" << endl ; cout << setiosflags(ios::showpoint) << setprecision(2) ; cout << "Sch v" << setw(20) << 123.456 << endl; cout << "Thc n" << setw(20) << 2453.6 << endl; cout << "Qun o lnh" << setw(15) << 3200.0 << endl; getch(); return ; }
// tm dng ( xem kt qu) // kt thc thc hin hm main()

13

Chng 1. Cc khi nim c bn ca C++

Chng trnh ny khi chy s in ra bng sau: CHI TIU ======== Sch v Thc n Qun o lnh

123.46 2453.60 3200.00

Ch : ton t nhp >> ch yu lm vic vi d liu kiu s. nhp k t hoc xu k t, C++ cung cp cc phng thc (hm) sau: cin.get(c): cho php nhp mt k t vo bin k t c, cin.getline(s,n): cho php nhp ti a n-1 k t vo xu s. cc hm trn khi thc hin s ly cc k t cn li trong b nh m (ca ln nhp trc) gn cho c hoc s. Do ton t cin >> x s li k t xung dng trong b m nn k t ny s lm tri cc lnh sau nh cin.get(c), cin.getline(s,n) (my khng dng nhp cho c hoc s). V vy trc khi s dng cc phng thc cin.get(c) hoc cin.getline(s,n) nn s dng phng thc cin.ignore(1) ly ra k t xung dng cn st li trong b m. V d on lnh sau cho php nhp mt s nguyn x (bng ton t >>) v mt k t c (bng phng thc cin.get(c)):
int x; char c; cin >> x; cin.ignore(1); cin.get(c);

4. Vo/ra trong C

Trong phn trn chng ti trnh by 2 ton t vo/ra v mt s phng thc, hm nhp v nh dng trong C++. Phn ny chng ti trnh by cc cu lnh nhp xut theo khun dng c trong C. Hin nhin cc cu lnh ny vn dng c trong chng trnh vit bng C++, tuy nhin ch nn s dng hoc cc cu lnh ca C++ hoc ca C, khng nn dng ln ln c hai v d gy nhm ln. Do mc ny ch c gi tr tham kho bn c c th hiu c cc cu lnh vo/ra trong cc chng trnh vit theo NNLT C c.
a. In kt qu ra mn hnh

14

Chng 1. Cc khi nim c bn ca C++

in cc gi tr bt_1, bt_2, , bt_n ra mn hnh theo mt khun dng mong mun ta c th s dng cu lnh sau y:
printf(dng nh dng, bt_1, bt_2, ..., bt_n) ;

trong dng nh dng l mt dy k t t trong cp du nhy kp () qui nh khun dng cn in ca cc gi tr bt_1, bt_2, , bt_n. Cc bt_i c th l cc hng, bin hay cc biu thc tnh ton. Cu lnh trn s in gi tr ca cc bt_i ny theo th t xut hin ca chng v theo qui nh c cho trong dng nh dng. V d, gi s x = 4, cu lnh:
printf(%d %0.2f, 3, x + 1) ;

s in cc s 3 v 5.00 ra mn hnh, trong 3 c in di dng s nguyn (c qui nh bi %d) v x + 1 (c gi tr l 5) c in di dng s thc vi 2 s l thp phn (c qui nh bi %0.2f). C th, cc k t i sau k hiu % dng nh dng vic in gm c: d in s nguyn di dng h thp phn o in s nguyn dng h 8 x, X in s nguyn dng h 16 u in s nguyn dng khng du c in k t s in xu k t e, E in s thc dng du phy ng f in s thc dng du phy tnh Cc k t trn phi i sau du %. Cc k t nm trong dng nh dng nu khng i sau % th s c in ra mn hnh. Mun in % phi vit 2 ln (tc % %). V d cu lnh: printf(T l hc sinh gii: %0.2f %%, 32.486) ; s in cu T l hc sinh gii: , tip theo s in s 32.486 c lm trn n 2 s l thp phn lp vo v tr ca %0.2f, v cui cng s in du % (do c %% trong dng nh dng). Cu c in ra mn hnh s l:
T l hc sinh gii: 32.49%

Ch : Mi bt_i cn in phi c mt nh dng tng ng trong dng nh dng. V d cu lnh trn cng c th vit:
printf(%s %0.2f , T l hc sinh gii: , 32.486);

trong cu lnh ny c 2 biu thc cn in. Biu thc th nht l xu k t T l hc sinh gii: c in vi khun dng %s (in xu k t) v biu thc th hai l 32.486 c

15

Chng 1. Cc khi nim c bn ca C++

in vi khun dng %0.2f (in s thc vi 2 s l phn thp phn). Nu gia k t % v k t nh dng c s biu th rng cn in th gi tr in ra s c ging ct sang l phi, trng cc du cch pha trc. Nu rng m (thm du tr pha trc) s ging ct sang l tri. Nu khng c rng hoc rng bng 0 (v d %0.2f) th rng c t iu chnh ng bng rng ca gi tr cn in. Du + trc rng in gi tr s km theo du (dng hoc m) Trc cc nh dng s cn thm k t l (v d ld, lf) khi in s nguyn di long hoc s thc vi chnh xc gp i double. V d 4 :
main() { int i = 2, j = 3 ; printf(Chng trnh tnh tng 2 s nguyn:\ni + j = %d, i+j); }

s in ra:
Chng trnh tnh tng 2 s nguyn: i + j = 5.

2. Nhp d liu t bn phm scanf(dng nh dng, bin_1, bin_2, ..., bin_n) ;

Lnh ny cho php nhp d liu vo cho cc bin bin_1, , bin_n. Trong dng nh dng cha cc nh dng v kiu bin (nguyn, thc, k t ) c vit nh trong m t cu lnh printf. Cc bin c vit di dng a ch ca chng tc c du & trc mi tn bin. V d cu lnh:
scanf(%d %f %ld, &x, &y, &z) ;

cho php nhp gi tr cho cc bin x, y, z trong x l bin nguyn, y l bin thc v z l bin nguyn di (long). Cu lnh:
scanf(%2d %f %lf %3s, &i, &x, &d, s);

cho php nhp gi tr cho cc bin i, x, d, s, trong i l bin nguyn c 2 ch s, f l bin thc ( di ty ), d l bin nguyn di v s l xu k t c 3 k t. Gi s NSD nhp vo dy d liu: 12345 67abcd th cc bin trn s c gn cc gi tr nh sau:

16

Chng 1. Cc khi nim c bn ca C++

i = 12, x = 345, d = 67 v s = abc. K t d v du enter ( ) s c lu li trong b

nh v t ng gn cho cc bin ca ln nhp sau. Cui cng, chng trnh trong v d 3 c vit li vi printf() v scanf() nh sau: V d 5 :
#include <stdio.h> #include <conio.h> void main() { clrscr(); // xo mn hnh printf("CHI TIU\n=======\n") ; printf("Sch v %20.2f\n" , 123.456) ; printf("Thc n %20.2f\n" , 2453.6) ; printf(Qun o lnh %15.2f\n" , 3200.0) ; getch(); return ; } // tm dng ( xem kt qu) // kt thc thc hin hm main() // s dng cc hm printf() v scanf() // s dng cc hm clrscr() v getch()

BI T P
1. Nhng tn gi no sau y l hp l:
x RADIUS 123variabe one.0 tin_hoc toan tin so-dem nam2000 number# Radius

2. 3.

Bn hy th vit mt chng trnh ngn nht c th c. Tm cc li c php trong chng trnh sau:
#include (iostream.h) void main(); { / Gii phng trnh bc 1

17

Chng 1. Cc khi nim c bn ca C++

cout << 'Day la chng trnh: Gptb1.\nXin chao cac ban'; getch(); }

4.

Vit chng trnh in ni dung mt bi th no .

5. Vit chng trnh in ra 4 dng, 2 ct gm cc s sau v ging ct: 0.63 64.1 thng theo l tri 12.78 -11.678 thng theo l phi thng theo du chm thp phn 6. 7. -124. 6 65.7 Hy vit v chy cc chng trnh trong cc v d 3, 5. Chng trnh sau khai bo 5 bin k t a, b, c, d, e v mt bin s nam. Hy in thm cc cu lnh vo cc dng chng trnh thc hin nhim v sau: Nhp gi tr cho bin nam Nhp gi tr cho cc bin k t a, b, c, d, e. In ra mn hnh dng ch c ghp bi 5 k t nhp v ch "nm" sau in s nhp (nam). V d nu 5 ch ci nhp l 'H', 'A', 'N', 'O', 'I' v nam c nhap l 2000, th mn hnh in ra dng ch: HANOI nm 2000. Nhp chng trnh sa vo my v chy kim tra kt qu.
#include <iostream.h> #include <conio.h> main() { int nam; char a, b, c, d, e; clrscr(); cin >> nam ; ; cin.get(a); cin.get(b); cin.get(c); ; ; // in kt qu cout << a << << << << << " nam " << ; getch();

59.002 -1200.654

18

Chng 1. Cc khi nim c bn ca C++

19

You might also like