7/31/2019 Lap Tring C can ban
1/135
Gio trnhLp trnh C cn bn Trang 1
HanoiAptech Computer Education Center Thanghv
M C L C
BI 1 : NGN NGLP TRNH & PHNG PHP LP TRNH ...................... 7
1.1 Mc tiu ................................................................................................................................ 7
1.2 L thuyt ............................................................................................................................... 7 1.2.1 Ngn ng lp trnh (Programming Language) ............................................................. 7 1.2.1.1 Thut gii (Algorithm) ............................................................................................. 7 1.2.1.2 Ch ng trnh (Program) ......................................................................................... 7 1.2.1.3 Ngn ng lp trnh (Programming language) ....................................................... 8
1.2.2 Cc b c lp trnh ........................................................................................................... 8 1.2.3 K thut lp trnh ............................................................................................................ 8
1.2.3.1 I-P-O Cycle (Input-Pprocess-Output Cycle) (Quy trnh nhp-x l-xut) ........ 8 1.2.3.2 S dng l u (Flowchart) ..................................................................................... 9
BI 2 : LM QUEN LP TRNH C QUA CC V D N GIN ...................... 12 2.1 Mc tiu .............................................................................................................................. 12
2.2 Ni dung .............................................................................................................................. 12 2.2.1 Kh i ng v thot BorlandC ....................................................................................... 12
2.2.1.1 Kh i ng ................................................................................................................ 12 2.2.1.2 Thot ........................................................................................................................ 13
2.2.2 Cc v d n gin ......................................................................................................... 13 2.2.2.1 V d1 ...................................................................................................................... 13
2.2.2.2 V d2 ...................................................................................................................... 15 2.2.2.3 V d3 ...................................................................................................................... 16 2.2.2.4 V d4 ...................................................................................................................... 16
BI 3 : CC THNH PHN TRONG NGN NGC ......................................... 18
3.1 Mc tiu .............................................................................................................................. 18
3.2 Ni dung .............................................................................................................................. 18 3.2.1 T kha ........................................................................................................................... 18 3.2.2 Tn ................................................................................................................................... 18 3.2.3 Kiu d liu .................................................................................................................... 18 3.2.4 Ghi ch ............................................................................................................................ 19 3.2.5 Khai bo bin ................................................................................................................. 19
3.2.5.1 Tn bin ................................................................................................................... 19 3.2.5.2 Khai bo bin .......................................................................................................... 19 3.2.5.3 V a khai bo v a kh i gn.................................................................................... 20 3.2.5.4 Phm vi ca bin ..................................................................................................... 20
BI 4 : NHP / XUT DLIU .......................................................................... 21 U
4.1 Mc tiu .............................................................................................................................. 21
4.2 Ni dung .............................................................................................................................. 21
7/31/2019 Lap Tring C can ban
2/135
Gio trnhLp trnh C cn bn Trang 2
4.2.1 Hm printf ...................................................................................................................... 21 4.2.2 Hm scanf ....................................................................................................................... 24
4.3 Bi tp ................................................................................................................................. 25
BI 5 : CU TRC R NHNH C IU KIN ................................................ 26
5.1 Mc tiu .............................................................................................................................. 26
5.2 Ni dung .............................................................................................................................. 26 5.2.1 Lnh v khi lnh ........................................................................................................... 26
5.2.1.1 Lnh ......................................................................................................................... 26 5.2.1.2 Khi lnh ................................................................................................................. 26
5.2.2 Lnh if ............................................................................................................................. 26 5.2.2.1 Dng 1 (if thiu) ...................................................................................................... 26 5.2.2.2 Dng 2 (if ) ......................................................................................................... 30 5.2.2.3 Cu trc else if ........................................................................................................ 33 5.2.2.4 Cu trc if lng ....................................................................................................... 37 5.2.3 Lnh switch ..................................................................................................................... 41 5.2.3.1 Cu trc switchcase (switch thiu).................................................................... 41 5.2.3.2 Cu trc switchcasedefault (switch) ........................................................ 44 5.2.3.3 Cu trc switch lng ............................................................................................... 46
5.3 Bi tp ................................................................................................................................. 48 5.3.1 S dng lnh if ............................................................................................................... 48 5.3.2 S dng lnh switch ....................................................................................................... 49
5.4 Bi tp lm thm ................................................................................................................ 49 BI 6 : CU TRC VNG LP .......................................................................... 51
6.1 Mc tiu .............................................................................................................................. 51
6.2 Ni dung .............................................................................................................................. 51 6.2.1 Lnh for........................................................................................................................... 51 6.2.2 Lnh break ...................................................................................................................... 56 6.2.3 Lnh continue ................................................................................................................. 56
6.2.4 Lnh while....................................................................................................................... 56 6.2.5 Lnh dowhile .............................................................................................................. 58 6.2.6 Vng lp lng nhau ........................................................................................................ 60 6.2.7 So snh s khc nhau ca cc vng lp ....................................................................... 61
6.3 Bi tp ................................................................................................................................. 62
BI 7 : HM ......................................................................................................... 65
7.1 Mc tiu .............................................................................................................................. 65
7.2 Ni dung .............................................................................................................................. 65 7.2.1 Cc v dvhm ............................................................................................................ 65 7.2.2 Tham sdng tham bin v tham tr........................................................................... 68
HanoiAptech Computer Education Center Thanghv
7/31/2019 Lap Tring C can ban
3/135
Gio trnhLp trnh C cn bn Trang 3
7.2.3 S dng bin ton cc ................................................................................................... 69 7.2.4 Dng dn h ng #define ............................................................................................... 71
7.3 Bi tp ................................................................................................................................. 71
BI 8 : MNG V CHUI ................................................................................... 72
8.1 Mc tiu .............................................................................................................................. 72
8.2 Ni dung .............................................................................................................................. 72 8.2.1 Mng................................................................................................................................ 72
8.2.1.1 Cch khai bo mng ............................................................................................... 72 8.2.1.2 Tham chiu n t ng phn t mng .................................................................... 72 8.2.1.3 Nhp d liu cho mng .......................................................................................... 73 8.2.1.4 c d liu t mng ............................................................................................... 73 8.2.1.5 S dng bin kiu khc .......................................................................................... 74 8.2.1.6 K thut Sentinal .................................................................................................... 74 8.2.1.7 Kh i to mng......................................................................................................... 75 8.2.1.8 Kh i to mng khng bao hm kch th c .......................................................... 76 8.2.1.9 Mng nhiu chiu ................................................................................................... 76 8.2.1.10 Tham chiu n t ng phn t mng 2 chiu ....................................................... 76 8.2.1.11 Nhp d liu cho mng 2 chiu ............................................................................. 77 8.2.1.12 c d liu t mng 2 chiu .................................................................................. 77 8.2.1.13 S dng bin kiu khc trong mng 2 chiu ........................................................ 78 8.2.1.14 Kh i to mng 2 chiu ........................................................................................... 78 8.2.1.15 Dng mng 1 chiu lm tham scho hm ........................................................... 79 8.2.1.16 Dng mng 2 chiu lm tham scho hm ........................................................... 82
8.2.2 Chui ............................................................................................................................... 84 8.2.2.1 Cch khai bo chui ............................................................................................... 84 8.2.2.2 Hm nhp (gets), xut (puts) chui ....................................................................... 85 8.2.2.3 Kh i to chui ......................................................................................................... 86 8.2.2.4 Mng chui .............................................................................................................. 86
8.3 Bi tp ................................................................................................................................. 87
BI 9 : CON TR ................................................................................................ 90
9.1 Mc tiu .............................................................................................................................. 90 9.2 Ni dung .............................................................................................................................. 90
9.2.1 Con tr? .......................................................................................................................... 90 9.2.2 Khi bo bin con tr.................................................................................................... 90 9.2.3 Truyn a ch sang hm ............................................................................................... 91 9.2.4 Con trv mng ............................................................................................................. 92 9.2.5 Con trtr n mng trong hm ................................................................................. 92 9.2.6 Con trv chui ............................................................................................................. 93 9.2.7 Kh i to mng con trtr n chui ........................................................................... 94
9.2.8 X l con trtr n chui ........................................................................................... 95 9.2.9 Con trtr n con tr.................................................................................................. 97
9.3 Bi tp ................................................................................................................................. 98
HanoiAptech Computer Education Center Thanghv
7/31/2019 Lap Tring C can ban
4/135
Gio trnhLp trnh C cn bn Trang 4BI 10 : CC KIU DLIU TTO ................................................................. 99
10.1 Mc tiu .............................................................................................................................. 99
10.2 Ni dung .............................................................................................................................. 99 10.2.1 Structure ......................................................................................................................... 99
10.2.1.1 Khai bo kiu structure ......................................................................................... 99 10.2.1.2 Cch khai bo bin c kiu structure ................................................................... 99 10.2.1.3 Tham chiu cc phn t trong structure .............................................................. 99 10.2.1.4 Kh i to structure ................................................................................................ 101 10.2.1.5 Structure lng nhau .............................................................................................. 102 10.2.1.6 Truyn structure sang hm ................................................................................. 103
10.2.2 Enum ............................................................................................................................. 105 10.2.2.1 nh ngh a kiu enum .......................................................................................... 105 10.2.2.2 Cch khai bo bin c kiu enum ....................................................................... 106 10.2.2.3 S dng enum trong ch ng trnh ..................................................................... 106
10.3 Bi tp ............................................................................................................................... 108 BI 11 : TP TIN ................................................................................................. 109
11.1 Mc tiu ............................................................................................................................ 109
11.2 Ni dung ............................................................................................................................ 109 11.2.1 V dghi,c snguyn .............................................................................................. 109 11.2.2 Ghi, c mng .............................................................................................................. 110 11.2.3 Ghi, c structure ........................................................................................................ 111
11.2.4 Cc mode khcm tp tin ..................................................................................... 112 11.2.5 Mt shm thao tc trn file khc ............................................................................. 112
11.3 Bi tp ............................................................................................................................... 113
BI 12 : QUY ................................................................................................. 114
12.1 Mc tiu ............................................................................................................................ 114
12.2 Ni dung ............................................................................................................................ 114
12.3 Bi tp ............................................................................................................................... 117
BI 13 : TRNH SON THO CA BORLAND C .............................................. 118
13.1 M tp tin son tho m i ................................................................................................ 118
13.2 L u tp tin ........................................................................................................................ 118 13.2.1 Nu l tp tin son tho m i ch a l u ....................................................................... 118 13.2.2 Nu l tp tin l u t nht 1 ln hoc c m bng lnh Open: ........................ 118
13.3 M tp tin ......................................................................................................................... 119 13.4 Cc phm, th p phm th ng dng ............................................................................. 119
13.4.1 Cc phm di chuyn con tr........................................................................................ 119
HanoiAptech Computer Education Center Thanghv
7/31/2019 Lap Tring C can ban
5/135
Gio trnhLp trnh C cn bn Trang 5
13.4.2 Cc phm thao tc trn khi........................................................................................ 120 13.4.3 Cc thao tc xa ........................................................................................................... 120 13.4.4 Cc thao tc copy, di chuyn ....................................................................................... 120 13.4.5 Cc thao tc khc ......................................................................................................... 120
13.5 Ghi mt khi ra a ......................................................................................................... 121
13.6 Chn ni dung file t a vo v tr con tr................................................................... 121 13.7 Tm kim vn bn trong ni dung son tho ................................................................ 121
13.8 Tm v thay thvn bn trong ni dung son tho ...................................................... 121
13.9 S a li c php ................................................................................................................. 122
13.10 Chy t ng b c ............................................................................................................... 122
13.11 S dng Help (Gip ) .................................................................................................. 122
BI 14 : CC H M ........................................................................................ 124
14.1 Khi nim ......................................................................................................................... 124
14.2 Quy tc .............................................................................................................................. 124
14.3 Chuyn i gi a cc h................................................................................................... 125 14.3.1 Chuyn i gi a h2 v h10 .................................................................................... 125 14.3.2 Chuyn i gi a h8 v h10 .................................................................................... 126
14.3.3 Chuyn i gi a h16 v h10 .................................................................................. 126 14.3.4 Chuyn i gi a h2 v h16 .................................................................................... 127
BI 15 : BIU THC V PHP TON ............................................................... 128
15.1 Biu th c ........................................................................................................................... 128
15.2 Php ton .......................................................................................................................... 128 15.2.1 Php ton shc ........................................................................................................... 128 15.2.2 Php quan h................................................................................................................ 128
15.2.3 Php ton lun l .......................................................................................................... 129 15.2.4 Php ton trn bit (bitwise) ......................................................................................... 129 15.2.5 Cc php ton khc ...................................................................................................... 130 15.2.6 u tin ca cc php ton ...................................................................................... 130
15.3 Bi tp ............................................................................................................................... 130
BI 16 : MT SHM CHUN THNG DNG ............................................. 132
16.1 Cc hm chuyn i d liu ........................................................................................... 132 16.1.1 atof ................................................................................................................................. 132 16.1.2 atoi ................................................................................................................................. 132 16.1.3 itoa ................................................................................................................................. 132 16.1.4 tolower ........................................................................................................................... 132
HanoiAptech Computer Education Center Thanghv
7/31/2019 Lap Tring C can ban
6/135
Gio trnhLp trnh C cn bn Trang 6
16.1.5 toupper .......................................................................................................................... 132
16.2 Cc hm x l chui k t .............................................................................................. 133 16.2.1 strcat .............................................................................................................................. 133 16.2.2 strcpy ............................................................................................................................. 133 16.2.3 strcmp............................................................................................................................ 133 16.2.4 strcmpi .......................................................................................................................... 133 16.2.5 strlwr ............................................................................................................................. 133 16.2.6 strupr ............................................................................................................................. 133 16.2.7 strlen .............................................................................................................................. 134
16.3 Cc hm ton hc ............................................................................................................ 134 16.3.1 abs .................................................................................................................................. 134 16.3.2 labs ................................................................................................................................. 134 16.3.3 rand ............................................................................................................................... 134 16.3.4 random .......................................................................................................................... 134 16.3.5 pow ................................................................................................................................ 134 16.3.6 sqrt ................................................................................................................................. 134
16.4 Cc hm x l file ............................................................................................................ 135 16.4.1 rewind............................................................................................................................ 135 16.4.2 ftell ................................................................................................................................. 135 16.4.3 fseek ............................................................................................................................... 135
HanoiAptech Computer Education Center Thanghv
7/31/2019 Lap Tring C can ban
7/135
Gio trnhLp trnh C cn bn Trang 7
Bi 1 :
NGN NG LP TRNH & PH NG PHP LP TRNH
1.1 Mc tiu
Sau khi hon tt bi ny hc vin shiu v vn dng cc kin thc k nng c bn sau:- ngh a, cc b c l p trnh.- Xcnh dliu vo, ra.- Phn tch cc bi ton n gin.- Khi nim so snh, l p.- Thhin bi ton bng lu .
1.2 L thuyt
1.2.1 Ngn ng lp trnh (Programming Language)
Phn ny chng ta stm hiu mt skhi nim cn bn vthut ton, ch ng trnh, ngnngl p trnh. Thut ng"thut gii" v "thut ton" d nhin c skhc nhau song trong nhiutr ng h p chng c cng ngh a.
1.2.1.1 Thut gii (Algorithm)L mt dy cc thao tc xcnh trn mt i t ng, sao cho sau khi thc hin mt s
hu hn cc b c tht c mc tiu. Theo R.A.Kowalski th bn cht ca thut gii:Thut gii = Logic +iu khin
* Logic : y l phn kh quan tr ng, n tr l i cu hi "Thut gii lm g, gii quyt vng?", nhng yu t trong bi ton c quan hv i nhau nh thno v.v y bao gmnhng kin thc chuyn mn m bn phi bit c thtin hnh gii bi ton.
V d1: gii mt bi ton tnh din tch hnh cu, m bn khng cn nh cng thctnh hnh cu th bn khng thvit ch ng trnh cho mygii bi ton ny c.
* i u khi n : Thnh phn ny tr l i cu hi: gii thut phi lm nh thno?. Chnh lcch thc tin hnh p dng thnh phn logicgii quyt vn .
1.2.1.2 Ch ng trnh (Program)L mt t p h p cc m t, cc pht biu, nm trong mt hthng qui c v ngh a v
thtthc hin, nhm iu khin my tnh lm vic. Theo Niklaus Wirth th:Ch ng trnh = Thut ton + Cu trc dliu
Cc thut ton v ch ng trnhu c cu trc da trn3 c u trc i u khi n c bn :* Tun t (Sequential): Cc b c thc hin tun tmt cch chnh xc t trn xung,
mi b c ch thc hin ng mt ln.* Chn l c (Selection): Chn 1 trong 2 hay nhiu thao tcthc hin.* L p l i (Repetition): Mt hay nhiu b c c thc hin l p li mt sln.Mun tr thnh l p trnh vin chuyn nghi p bn hy lmng trnh t c thi quen tt
v thun l i sau ny trn nhiu mt ca mt ng i lm my tnh. Bn hy lm theo cc b c sau:
Tm, xy dng thut gii (trn giy) vit ch ng trnh trn my dch ch ng trnh chy v thch ng trnh
HanoiAptech Computer Education Center Thanghv
7/31/2019 Lap Tring C can ban
8/135
Gio trnhLp trnh C cn bn Trang 8
1.2.1.3 Ngn ng lp trnh (Programming language) Ngn ng l p trnh l h thng cc k hiu tun theo cc qui c vng php v ng
ngh a, dngxy dng thnh cc ch ng trnh cho my tnh.Mt ch ng trnh c vit bng mt ngn ng l p trnh cth(v dPascal, C) gi l
ch ng trnh ngun, ch ng trnh dch lm nhim v dch ch ng trnh ngun thnh ch ngtrnh thc thi c trn my tnh.
1.2.2 Cc b c lp trnhB c 1: Phn tch vn v xcnh ccc im. (xcnh I-P-O)B c 2: L p ra gii php. (a ra thut gii)B c 3: Cit. (vit ch ng trnh)B c 4: Chy thch ng trnh. (dch ch ng trnh)B c 5: Kim chng v hon thin ch ng trnh. (thnghim bng nhiu sliu vnh gi)
1.2.3 K thut lp trnh
1.2.3.1 I-P-O Cycle (Input-Pprocess-Output Cycle) (Quy trnh nhp-x l-xut)
Quy trnh xl c bn ca my tnh gm I-P-O.
V d2: Xcnh Input, Process, Output ca vic lm 1 ly n c chanh nng Input : ly, ng, chanh, n c nng, mung. Process : - cho hn h p ng, chanh, n c nng vo ly.
- dng mung khuy u.Output : ly chanh nng sn sngdng.
V d 3: Xc nh Input, Process, Output ca ch ng trnh tnh tin l ng cng nhnthng 10/2002 bit r ng l ng = l ng cn bn * ngy cng Input : l ng cn bn, ngy cng Process : nhn l ng cn bn v i ngy cngOutput : l ngV d 4: Xc nh Input, Process, Output ca ch ng trnh gii ph ng trnh bc nht
ax + b = 0 Input : hsa, b Process : chia b cho aOutput : nghim xV d5: Xcnh Input, Process, Output ca ch ng trnh tm sl n nht ca 2 sa v b.
Input : a, b Process : Nu a > b thOutput = a l n nht
Ng c li Output = b l n nht
Input OutputProcess
Bi tp Xcnh Input, Process, Output ca cc ch ng trnh sau:1. i t tin VND sang tin USD.2. Tnhim trung bnh ca hc sinh gm cc mn Ton, L, Ha.3. Gii ph ng trnh bc 2: ax2 + bx + c = 04. i t sang radian vi tradian sang (cng thc / = a/180, v i : radian, a:)5. Kim tra 2 sa, b ging nhau hay khc nhau.
HanoiAptech Computer Education Center Thanghv
7/31/2019 Lap Tring C can ban
9/135
Gio trnhLp trnh C cn bn Trang 9
1.2.3.2 S dng l u (Flowchart)(Flowchart)dh n vquy trnh x l, cc nh l p trnha ra dng lu minh ha tng
b c qu trnh xl mt vn (bi ton).dh n vquy trnh x l, cc nh l p trnha ra dng lu minh ha tng
b c qu trnh xl mt vn (bi ton).
Hnh dng (symbol)Hnh dng (symbol) Hnhng (Activity)Hnhng (Activity)
Dliu vo (Input)
Xl (Process)
Dliu ra (Output)
Quyt nh (Decision), sdng iu kin
Lung xl (Flow lines)
Gi CT con, hm (Procedure, Function)
Bt u, k t thc (Begin, End)
im ghp ni (Connector)
V d6: Chun b c ph V d7: M tv d3 V d8: M tv d4
Bt u
C ph, n c si
Ha c ph vo n c si
B ng vo
Khuy u hn h p
C ph sn sng
Bt u
K t thc
LCB, ngy cng
Nhn LCB v i ngy cng
K t qul ng
Gi tr a, b
Chia b cho a
Nghim x
K t thc
Bt u
K t thc
HanoiAptech Computer Education Center Thanghv
7/31/2019 Lap Tring C can ban
10/135
Gio trnhLp trnh C cn bn Trang 10
HanoiAptech Computer Education Center Thanghv
V d9: Cng 2 s V d10: so snh 2 s
V d11: Kim tra tnh h p lca im
V d12: X p lon vo thng
V d13: Kim tra loi s
V d14: Kim tra tnh h p lca im
Bt u
K t thc
a, b
c = a + b
c
Bt u
K t thc
Sa, Sb
Sa bng Sb
Sa c bngSb khn ?
Sa khng bng Sb
C
Khng
Bt u
K t thc
im
im h p l
im >=0 vim 0 ? C
S< 0 ? SmC
Skhng
Khng
Khng
Bt u
K t thc
Thng = 24 Lon?Cha
Thng = 0 Lon
1 Lon
Thm 1 Lon vo thng
Bng
Bt u
K t thc
Sai
im
ng
im >=0 vim
7/31/2019 Lap Tring C can ban
11/135
Gio trnhLp trnh C cn bn Trang 11
Bi tp Vlu cho cc ch ng trnh sau:1. i ttin VND sang tin USD.2. Tnhim trung bnh ca hc sinh gm cc mn Ton, L, Ha.3. Gii ph ng trnh bc 2: ax2 + bx + c = 04. i t sang radian vi tradian sang
(cng thc / = a/180, v i : radian, a:)5. Kim tra 2 sa, b ging nhau hay khc nhau.
HanoiAptech Computer Education Center Thanghv
7/31/2019 Lap Tring C can ban
12/135
Gio trnhLp trnh C cn bn Trang 12
HanoiAptech Computer Education Center Thanghv
Bi 2 :
LM QUEN LP TRNH C QUA CC V D N GIN
2.1 Mc tiuSau khi hon tt bi ny hc vin shiu v vn dng cc kin thc k nng c bn sau:
- Ngn ngC.- Mt sthao tc c bn ca trnh son tho C.- Cch l p trnh trn C.- Ti p cn mt slnh n gin thng qua cc v d.- Nm bt c mt sk nng n gin.
2.2 Ni dung
2.2.1 Kh i ng v thot BorlandC
2.2.1.1 Kh i ng Nh p lnh ti du nhc DOS:g BC (Enter) (nu ng dn c cit bng lnh
path trong c cha ng dn n thmc cha t p tin BC.EXE). Nu ng dn cha ccit ta tm xem thmc BORLANDC nm a no. Sau ta g lnh sau:
:\BORLANDC\BIN\BC (Enter) Nu bn mun va kh i ng BC va son tho ch ng trnh v i mt t p tin c tn do
chng tat, th g lnh:BC [ ng dn], nu tn file cn son tho c th c n p ln, nu cha c s c to m i.
Kh i ng ti Windows: Bn vo menu Start, chn Run, bn g vo h p Open 1 trongcc dng lnh nh nh p ti DOS. Hoc bn vo Window Explorer, chn a cha thmcBORLANDC, vo thmc BORLANDC, vo thmc BIN, kh i ng t p tin BC.EXE.
V d: Bn g D:\BORLANDC\BIN\BC E:\BAITAP_BC\VIDU1.CPPCu lnh trn c ngh a kh i ng BC v n p t p tin VIDU1.CPP cha trong th mc
BAITAP_BC trong a E. Nu t p tin ny khng c s c to m i. Mn hnh sau khi kh i ng thnh cng
File Edit Search R un Compile Debug Project O ption Window Help
NONAME00.CPP Thanh Menu
H p ng Tn t p tin Sca ca s H p n i r ng ca s
y l vng son tho ch ng trnh
T p tin cha lu Thanh tr t dcTa hng:ct Thanh tr t ngang
Thanh chc nng
F1 Help F2 Save F3 Open Alt - F9Compile F9 Make F10 Menu
[ ] 1
1:1*
7/31/2019 Lap Tring C can ban
13/135
Gio trnhLp trnh C cn bn Trang 13
2.2.1.2 Thotn phmF10 (kch hot Menu), chn menuFile, chn Quit;Hoc n th p phmAlt X.
2.2.2 Cc v d n gin
2.2.2.1 V d1Dng File Edit Search R un Compile Debug Project O ption Window Help
1234567
/* Chuong trinh in ra cau bai hoc C dau tien */#include
void main(void){
printf("Bai hoc C dau tien.");} F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
) K t quin ra mn hnh
Bai hoc C dau tien. _
Dng th1: bt u bng /* v k t thc bng */ cho bit hng ny l hng din gii (chthch). Khi dch v chy ch ng trnh, dng ny khng c dch v cng khng thi hnh lnh g c.Mc ch ca vic ghi ch ny gip ch ng trnh r rng h n. Sau ny bn c li ch ng trnh bitch ng trnh lm g.
Dng th2: cha pht biu tin x l #include . V trong ch ng trnh ny tasdng hm thvin ca C l printf , do bn cn phi c khai bo ca hm thvin ny bo cho trnh bin dch C bit. Nu khng khai bo ch ng trnh sbo li.
Dng th3: hng tr ng vit ra v i lm cho bng ch ng trnh thong, d c.Dng th4: void main(void) l thnh phn chnh ca mi ch ng trnh C (bn c thvit
main() hoc void main() hoc main(void)). Tuy nhin, bn nn vit theo dng void main(void) ch ng trnh r rng h n. Mi ch ng trnh Cu bt u thi hnh thm main. C p du ngoc ()cho bit y l khi hm (function). Hm void main(void) c tkha voidu tin cho bit hmny khng tr vgi tr , tkha void trong ngoc n cho bit hm ny khng nhn voi s.
Dng th5 v 7: c p du ngoc mc {} gi i hn thn ca hm. Thn hm bt u bng
du { v k t thc bng du }.Dng th6: printf("Bai hoc C dau tien."); , ch th cho my in ra chui k tnm trongnhy kp (""). Hng ny c gi l mt cu lnh, k t thc mt cu lnh trong C phi l duchm phy (;).
Ch : 9 Cc tinclude, stdio.h, void, main, printf phi vit bng ch th ng.9 Chui trong nhy kp cn in ra "Bn c thvit chHOA, th ng ty, ".9 K t thc cu lnh phi c du chm phy.9 K t thc tn hm khng c du chm phy hoc bt cdu g.9 Ghi ch phi t trong c p /* . */.9 Thn hm phi c bao b i c p { }.9 Cc cu lnh trong thn hm phi vit tht vo.
HanoiAptech Computer Education Center Thanghv
7/31/2019 Lap Tring C can ban
14/135
Gio trnhLp trnh C cn bn Trang 14
Bn nh p on ch ng trnh trn vo my. Dch, chy v quan st k t qu.
Ctrl F9: Dch v chy ch ng trnh. Alt F5: Xem mn hnh k t qu.
Sau khi bn nh p xongon ch ng trnh vo my. Bnn v giphm Ctrl, g F9 dch v chy ch ng trnh. Khi bn thy ch ng trnh ch p r t nhanh v khng thy k t qugc. Bnn v giphm Alt, g F5xem k t qu, khi xem xong, bn n phm bt k quay v mn hnh son tho ch ng trnh.
By gi bn sa li dng th6 bng cu lnh printf("Bai hoc C dau tien.\n");, saudch v chy li ch ng trnh, quan st k t qu.
) K t quin ra mn hnh Bai hoc C dau tien. _
dng bn va sa c thm \n, \n l k hiu xung dng sdng trong lnh printf. Sauyl m
t s
k hi
u khc.
+ Cc k t i u khi n :\n : Nhy xung dng k ti p canh vct u tin.\t : Canh ct tab ngang.\r : Nhy v u hng, khng xung hng.\a : Ting ku bip.
+ Cc k t c bi t :\\ : In ra du \\" : In ra du "\' : In ra du '
By gi bn sa li dng th6 bng cu lnh printf("\tBai hoc C dau tien.\a\n");, sau dch v chy li ch ng trnh, quan st k t qu.
) K t quin ra mn hnh Bai hoc C dau tien.
_ Khi chy ch ng trnh bn nghe ting bip pht ra tloa.
Mi khi chy ch ng trnh bn thy r t bt tin trong vic xem k t quphi n th p phm Alt F5.khc phc tnh tr ng ny bn sa li ch ng trnh nhsau:Dng File Edit Search R un Compile Debug Project O ption Window Help
123456
789
/* Chuong trinh in ra cau bai hoc C dau tien */#include #include
void main(void){
printf("\t\tBai hoc C \rdau tien.\n");getch();} F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
HanoiAptech Computer Education Center Thanghv
7/31/2019 Lap Tring C can ban
15/135
Gio trnhLp trnh C cn bn Trang 15
) K t quin ra mn hnh
dau tien. Bai hoc C _
Dng th3: cha pht biu tin x l #include . V trong ch ng trnh ny tasdng hm th vin ca C l getch , do bn cn phi c khai bo ca hm th vin ny bo cho trnh bin dch C bit. Nu khng khai bo ch ng trnh sbo li.
Dng th8: getch(); , ch nhn 1 k tbt k tbn phm, nhng khng in ra mn hnh.V thta sdng hm nykhi chy ch ng trnh xong sdng li mn hnh k t qu, sautan phm bt k squay li mn hnh son tho.
Bn nh p on ch ng trnh trn vo my. Dch, chy v quan st k t qu.
2.2.2.2 V d2Dng File Edit Search R un Compile Debug Project O ption Window Help
123456789
101112
/* Chuong trinh nhap va in ra man hinh gia tri bien*/#include #include
void main(void){
int i; printf("Nhap vao mot so: ");scanf("%d", &i); printf("So ban vua nhap la: %d.\n", i);getch();
} F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
) K t quin ra mn hnh
Nhap vao mot so: 15So ban vua nhap la: 15. _
Dng th7: int i; l lnh khai bo, mu t i gi l tn bin. Bin l mt v tr trong b nh dng lu tr gi tr no m ch ng trnh sly sdng. Mi bin phi thuc mt kiudliu. Trong tr ng h p ny ta sdng bin i kiu snguyn (integer) vit tt l int.
Dng th9: scanf("%d", &i) . Sdng hm scanf nhn tng i sdng mt tr no. Hm scanf trn c 2i mc. i mc "%d" c gi l chui nh dng, cho bit loi d kin m ng i sdng snh p vo. Chng hn, y phi nh p vo l snguyn.i mc th2&i c du & i u gi l address operator, du & phi h p v i tn bin cho hm scanf bin emtr g tbn phm lu vo bin i.
Dng th10: printf("So ban vua nhap la: %d.\n", i); . Hm ny c 2i mc. i mcthnht l mt chui nh dng c cha chui vn bn So ban vua nhap la: v %d (k hiu khai
bo chuyn i dng thc) cho bit snguyn s c in ra.i mc th2 l i cho bit gi tr lytbin i in ra mn hnh.
Bn nh p on ch ng trnh trn vo my. Dch, chy v quan st k t qu.
HanoiAptech Computer Education Center Thanghv
7/31/2019 Lap Tring C can ban
16/135
Gio trnhLp trnh C cn bn Trang 16
2.2.2.3 V d3Dng File Edit Search R un Compile Debug Project O ption Window Help
123456789
1011121314
/* Chuong trinh nhap vao 2 so a, b in ra tong*/#include #include
void main(void){
int a, b; printf("Nhap vao so a: ");scanf("%d", &a); printf("Nhap vao so b: ");scanf("%d", &b); printf("Tong cua 2 so %d va %d la %d.\n", a, b, a+b);getch();
} F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
) K t quin ra mn hnh
Nhap vao so a: 4 Nhap vao so b: 14Tong cua 2 so 4 va 14 la 18. _
Dng th12: printf("Tong cua 2 so %d va %d la %d.\n", a, b, a+b);
Bn nh p on ch ng trnh trn vo my. Dch, chy v quan st k t qu.
2.2.2.4 V d4Dng File Edit Search R un Compile Debug Project O ption Window Help
1
23456789
1011
121314
/* Chuong trinh nhap vao ban kinh hinh tron. Tinh dien tich */
#include #include
#define PI 3.14
void main(void){
float fR; printf("Nhap vao ban kinh hinh tron: ");scanf("%f", &fR);
printf("Dien tich hinh tron: %.2f.\n", 2*PI*fR);getch();} F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
HanoiAptech Computer Education Center Thanghv
7/31/2019 Lap Tring C can ban
17/135
Gio trnhLp trnh C cn bn Trang 17
) K t quin ra mn hnh
Nhap vao ban kinh hinh tron: 1Dien tich hinh tron: 6.28 _
Dng th5: #define PI 3.14 , dng ch th define nh ngh a hng sPI c gi tr 3.14.Tr c define ph i c d u # v cu i dng khng c d u ch m ph y.
Dng th12: printf("Dien tich hinh tron: %.2f.\n", 2*PI*fR); . Hm ny c 2i mc.i mc thnht l mt chui nh dng c cha chui vn bn Dien tich hinh tron: v %.2f (khiu khai bo chuyn i dng thc) cho bit dng schm ng s c in ra, trong .2 ngh al in ra v i 2 sl. i mc th2 l biu thc hng 2*PI*fR ;
Bn nh p on ch ng trnh trn vo my. Dch, chy v quan st k t qu.
HanoiAptech Computer Education Center Thanghv
7/31/2019 Lap Tring C can ban
18/135
Gio trnhLp trnh C cn bn Trang 18
Bi 3 :
CC THNH PHN TRONG NGN NG C
3.1 Mc tiuSau khi hon tt bi ny hc vin shiu v vn dng cc kin thc k nng c bn sau:
- Khi nim tkha- Cc kiu dliu- Cch ghi ch- t tn bin- Khai bo bin.- Phm vi sdng bin.
3.2 Ni dung
3.2.1 T khaTkha l tc ngh a xcnh dngkhai bo d liu, vit cu lnh Trong C c cc
tkha sau:asm const else for interrupt return sizeof void break continue enum goto long short switch
HanoiAptech Computer Education Center Thanghv
casecdeclchar
defaultdodouble
externfar float
hugeif int
near pascalregister
staticstructsigned
typedef unionunsigned
volatilewhile
) Cc tkha phi vit bng ch th ng
3.2.2 TnKhi nim tn r t quan tr ng trong qu trnh l p trnh, n khng nhng thhin r ngh a
trong ch ng trnh m cn dngxcnh cci l ng khc nhau khi thc hin ch ng trnh.Tn th ng c t cho hng, bin, mng, con tr , nhn Chiu di ti a ca tn l 32 k t.
Tn bin h p ll mt chui k t lin tc gm: K t ch , s v d u g ch d i . K t uca tn phi l ch hoc d u g ch d i . Khit tn khng c t trng v i cc tkha.
V d1 :Cc tnng: delta, a_1, Num_ODD, CaseCc tn sai:
3a_1 (k t u l s)num-odd (sdng du gch ngang)int (t tn trng v i tkha)del ta (c khong tr ng)f(x) (c du ngoc trn)
L u : Trong C, tn phn bit chhoa, chth ngV d2 : number khc Number
case khc Case(case l tkha, do bn t tn l Case vn ng)
3.2.3 Kiu d liuC 4 kiu d liu c bn trong C l: char, int, float, double.
7/31/2019 Lap Tring C can ban
19/135
Gio trnhLp trnh C cn bn Trang 19
TT Kiu dliu(Type)Kch th c(Length)
Min gi tr (Range)
123456789
1011
unsigned char char enumunsigned intshort intintunsigned longlongfloatdoublelong double
1 byte1 byte2 bytes2 bytes2 bytes2 bytes4 bytes4 bytes4 bytes8 bytes
10 bytes
0 n 255 128 n 127
32,768 n 32,7670 n 65,535
32,768 n 32,767 32,768 n 32,767
0 n 4,294,967,295 2,147,483,648n 2,147,483,647
3.4 * 10 38 n 3.4 * 1038 1.7 * 10 308 n 1.7 * 10308
3.4 * 10 4932 n 1.1 * 104932 3.2.4 Ghi ch
Trong khi l p trnh cn phi ghi chgii thch cc bin, hng, thao tc x l gip choch ng trnh r rng dhiu, dnh , dsa cha v ng i khcc vo dhiu. Trong C ccc ghi ch sau: // hoc /* ni dung ghi ch */
V d3 :void main(){
int a, b; //khai bao bien t kieu inta = 1; //gan 1 cho a b =3; //gan 3 cho b/* thuat toan tim so lon nhat la
neu a lon hon b thi a lon nhatnguoc lai b lon nhat */
if (a > b) printf("max: %d", a);else printf("max: %d", b);
}Khi bin dch ch ng trnh, C g p c p du ghi ch skhng dch ra ngn ngmy.Tm li, i v i ghi ch dng // dngghi ch mt hng v dng /* . */ c thghi ch
mt hng hoc nhiu hng.3.2.5 Khai bo bin
3.2.5.1 Tn bin
Ccht tn bin nhmc 2.3.2.5.2 Khai bo bin
C phpKiu d liu Danh sch tn bi n;
) Kiu dliu: 1 trong cc kiu mc 3Danh sch tn bin: gm cc tn bin c cng kiu d liu, mi tn bin cch nhau du
phy (,), cui cng l du chm phy (;).) Khi khai bo bin nnt tn bin theoquy tc Hungarian Notation V d4 :
int ituoi; //khai bo bin ituoi c kiu intfloat fTrongluong; //khai bo bin fTrongluong c kiu longchar ckitu1, ckitu2; //khai bo bin ckitu1, ckitu2 c kiu char
Hanoi Aptech Computer Education Center
7/31/2019 Lap Tring C can ban
20/135
Gio trnhLp trnh C cn bn Trang 20
Cc bin khai bo trn theo quy tc Hungarian Notation. Ngh a l bin ituoi l kiu int, bnthm ch i (k t u ca kiu) vou tn bin tuoi trong qu trnh l p trnh hoc sau nyxem li, sa cha bn ddng nhn ra bin ituoi c kiu int m khng cn phi di chuyn n phn khai bo m i bit ki.u ca bin ny. T ng tcho bin fTrongluong, bn nhn vo l bitngay bin ny c kiu float.
3.2.5.3 V a khai bo v a kh i gn
C thk t h p vic khai bo v i ton tgnbin nhn ngay gi tr cng lc v i khai bo.V d5 :
Khai bo tr c, gn gi tr sau :void main(){
int a, b, c;a = 1; b = 2;c = 5;
}
V a khai bo v a gn gi tr :void main(){
int a = 1, b = 2, c = 5;
}3.2.5.4 Phm vi ca binKhi l p trnh, bn phi nm r phm vi ca bin. Nu khai bo v s dng khngng,
khng r rng sdn n sai st kh kim sot c, v vy bn cn phi xc nh ng v tr, phm vi sdng bin tr c khi sdng bin.
Khai bo bin ngoi (bin ton cc): V tr bin t bn ngoi tt ccc hm, cu trc...Cc bin ny cnh h ng n ton b ch ng trnh. Chu trnh sng ca n l bt u chych ng trnhn lc k t thc ch ng trnh.
Khai bo bin trong (bin cc b): V tr bin t bn trong hm, cu trc. Ch nhh ng ni bbn trong hm, cu trc. Chu trnh sng ca n bt u t lc hm, cu trc c gi thc hin n lc thc hin xong.
Hanoi Aptech Computer Education Center
7/31/2019 Lap Tring C can ban
21/135
Gio trnhLp trnh C cn bn Trang 21
Bi 4 :
NHP / XUT D LIU
4.1 Mc tiuSau khi hon tt bi ny hc vin shiu v vn dng cc kin thc k nng c bn sau:
- ngh a, cch sdng hm printf, scanf - Sdng khun dng, k t c bit, k t iu khin trong printf, scanf.
4.2 Ni dung
4.2.1 Hm printf K t xut dliu c nh dng. C php
printf ("chui nh dng"[,i mc 1,i mc 2,]);
) Khi s d ng hm ph i khai bo ti n x l #include - printf: tn hm, phi vi t bng ch th ng.- i mc 1,: l cc mc dkin cn in ra mn hnh. Cci mc ny c thl bin,
hng hoc biu thc phi c nh tr tr c khi in ra.- chui nh dng: c t trong c p nhy kp (" "), gm 3 loi:
+ i v i chui k tghi nhthno in ra ging nhvy.+ i v i nhng k tchuyn i dng thc cho php k t xut gi tr ca cci mc
ra mn hnh tm gi l mnh dng. Sauy l cc du m t nh dng:%c : K t n%s : Chui%d : Snguyn th p phn c du%f : Schm ng (k hiu th p phn)%e : Schm ng (k hiu c sm)%g : Schm ng (%f hay %g)%x : Snguyn th p phn khng du%u : Snguyn hex khng du%o : Snguyn bt phn khng dul : Tin tdng km v i %d, %u, %x, %och snguyn di (v d%ld)
+ Cc k t iu khin v k t c bit \n : Nhy xung dng k ti p canh vct u tin.\t : Canh ct tab ngang.\r : Nhy v u hng, khng xung hng.\a : Ting ku bip.\\ : In ra du \\" : In ra du "\' : In ra du '%%: In ra du %
V d1: printf("Bai hoc C dau tien. \n");k t iu khinchui k t
Hanoi Aptech Computer Education Center
7/31/2019 Lap Tring C can ban
22/135
Gio trnhLp trnh C cn bn Trang 22
) K t quin ra mn hnh
Bai hoc C dau tien. _
V d2: printf("Ma dinh dang
Hanoi Aptech Computer Education Center
\\\" in ra dau \" . \n");k t iu khin
k t c bitchui k t
) K t quin ra mn hnh
Ma dinh dang \" in ra dau ". _
V d3: gisbin i c gi tr = 5xut gi tr bin i
printf("So ban vua nhap la:%d . \n", i);i mc l bin (kiu int)
k t iu khinchui k t
mnh dng (kiu int)) K t quin ra mn hnh
So ban vua nhap la: 5. _
V d4: gisbin a c gi tr = 7 v b c gi tr = 4xut gi tr biu thc a+bxut gi tr bin b
xut gi tr bin a printf("Tong cua 2 so %d va %d la %d . \n", a, b, a+b);
i mc 3 l biu thc cgi tr l kiu int
i mc 1, 2 l bin (kiu int)
k t iu khinchui k t mnh dng (kiu int)
) K t quin ra mn hnh
Tong cua 2 so 7 va 4 la 11. _
V d5: sa li v d4
printf("Tong cua 2 so %5d va %3d la %1d . \n", a, b, a+b);Br ng tr ng
7/31/2019 Lap Tring C can ban
23/135
Gio trnhLp trnh C cn bn Trang 23
) K t quin ra mn hnh
Tong cua 2 so 7 va 4 la 11. _
2 k t(mc dnh dng l 1)3 k t
5 k t V d6: sa li v d5
printf("Tong cua 2 so %-5d va %-3d la %-1d . \n", a, b, a+b);) K t quin ra mn hnh
Tong cua 2 so 7 va 4 la 11. _
2 k t(mc dnh dng l 1)3 k t 5 k t
Du tr tr c brng tr ng sko k t qusang triV d7: sa li v d4
printf("Tong cua 2 so %02d va %02d la %04d . \n", a, b, a+b);) K t quin ra mn hnh
Tong cua 2 so 07 va 04 la 0011. _
thm 2 s0 tr c ->4 k t thm 1 s0 tr c ->2 k t thm 1 s0 tr c ->2 k t
V d8: gisint a = 6, b = 1234, c = 62
printf("%7d%7d%7d.\n", a, b, c); printf("%7d%7d%7d.\n", 165, 2, 965);
) K t quin ra mn hnh
6 1234 62165 2 965
_
Scanh vbn phi br ng tr ng.
printf("%-7d%-7d%-7d.\n", a, b, c); printf("%-7d%-7d%-7d.\n", 165, 2, 965);
) K t quin ra mn hnh
6 1234 62165 2 965 _
Scanh vbn tri br ng tr ng.
Hanoi Aptech Computer Education Center
7/31/2019 Lap Tring C can ban
24/135
Gio trnhLp trnh C cn bn Trang 24
V d9: gisfloat a = 6.4, b = 1234.56, c = 62.3
printf("%7.2d%7.2d%7.2d.\n", a, b, c);ssl
) K t quin ra mn hnh 6.40 1234.56 62.30
_ Scanh vbn phi br ng tr ng.
7 k t
Brng tr ng bao gm: phn nguyn, phn lv du chm ngV d10: gisfloat a = 6.4, b = 1234.55, c = 62.34
printf("%10.1d%10.1d%10.1d.\n", a, b, c); printf("%10.1d%10.1d%10.1d.\n", 165, 2, 965);) K t quin ra mn hnh
6.4 1234.6 62.3165.0 2.0 965.0
_
Scanh vbn phi br ng tr ng.
printf("%-10.2d%-10.2d%-10.2d.\n", a, b, c); printf("%-10.2d%-10.2d%-10.2d.\n", 165, 2, 965);
) K t quin ra mn hnh
6.40 1234.55 62.34165.00 2.00 965.00 _
Scanh vbn tri br ng tr ng.
4.2.2 Hm scanf nh dng khi nh p liu. C php
scanf ("chui nh dng"[,i mc 1,i mc 2,]);
) Khi s d ng hm ph i khai bo ti n x l #include - scanf: tn hm, phi vi t bng ch th ng.- khungnh dng: c t trong c p nhy kp (" ") l hnhnh dng dliu nh p vo.- i mc 1,: l danh sch cci mc cch nhau b i du phy, mi i mc sti p
nhn gi tr nh p vo.
Hanoi Aptech Computer Education Center
V d11: scanf("%d", &i);
i mc 1mnh dng) Nh p vo 12abc, bin i ch nhn gi tr 12. Nh p 3.4 ch nhn gi tr 3.
7/31/2019 Lap Tring C can ban
25/135
Gio trnhLp trnh C cn bn Trang 25
V d12: scanf("%d%d", &a, &b);) Nh p vo 2 sa, b phi cch nhau bng khong trng hoc enter.V d13: scanf("%d/%d/%d", &ngay, &thang, &nam);) Nh p vo ngy, thng, nm theo dng ngay/thang/nam (20/12/2002)V d14: scanf("%d%*c%d%*c%d", &ngay, &thang, &nam);) Nh p vo ngy, thng, nm v i du phn cch /, -,; ngoi tr s.V d15: scanf("%2d%2d%4d", &ngay, &thang, &nam);) Nh p vo ngy, thng, nm theo dng dd/mm/yyyy.
4.3 Bi tp
1. Vi t ch ng trnh i mt s nguyn h 10 sang h 2.2. Vi t ch ng trnh i mt s nguyn h 10 sang h 16.3. Vi t ch ng trnh c v 2 s nguyn v in ra k t quca php (+), php tr (-), php
nhn (*), php chia (/). Nh n xt k t quchia 2 s nguyn.4. Vi t ch ng trnh nh p vo bn knh hnh c u, tnh v in ra di n tch, th tch c a
hnh c u .H ng dn: S = 4R 2 v V = (4/3)R 3.
5. Vi t ch ng trnh nh p vo m t s a b t k v in ra gi tr bnh ph ng (a 2 ), l p ph ng (a 3 ) ca a v gi tr a 4 .
6. Vi t ch ng trnh c t bn phm 3 s nguyn bi u di n ngy, thng, n m v xu t ra mn hnh d i d ng "ngay/thang/nam" (ch l y 2 s cu i ca n m).
7. Vi t ch ng trnh nh p vo s giy t 0 n 86399, i s giy nh p vo thnh d ng "gio:phut:giay", m i thnh ph n l m t s nguyn c 2 ch s .
V d: 02:11:05
Hanoi Aptech Computer Education Center
7/31/2019 Lap Tring C can ban
26/135
Gio trnhLp trnh C cn bn Trang 26
Bi 5 :
CU TRC R NHNH CIU KIN(Cu trc chn)
5.1 Mc tiuSau khi hon tt bi ny hc vin shiu v vn dng cc kin thc k nng c bn sau:
- ngh a lnh, khi lnh.- C php, ngh a, cch sdng lnh if, lnh switch.- Mt sbi ton sdng lnh if, switch thng qua cc v d.- So snh,nh gi mt sbi ton sdng lnh if hoc switch.- Cch sdng cc cu trc lng nhau.
5.2 Ni dung
5.2.1 Lnh v khi lnh5.2.1.1 Lnh
L mt tc v, biu thc, hm, cu trciu khinV d1:
x = x + 2; printf("Day la mot lenh\n");
5.2.1.2 Khi lnhL mt dy cc cu lnh c bc b i c p du { }, cc lnh trong khi lnh phi vit tht
v 1 tab so v i c p du { }V d2:{ //dau khoi
a = 5; b = 6; vit tht v 1 tab so v i c p { } printf("Tong %d + %d = %d", a, b, a+b);
} //cuoi khoi
Qun dng cp du { } bao bc khi s dng khi lnh, hoc m du { v qunngd
u }5.2.2 Lnh if
Cu lnh if cho php la chn mt trong hai nhnh ty thuc vo gi tr ca biu thc lunl lng (true) hay sai (false) hoc khc khng hay bng khng.
5.2.2.1 Dng 1 (if thiu)
Quyt nh sthc hin hay khng mt khi lnh. C php l nh
if (biu th c lun l) ) tkhaif phi vit bng chth ngkhi lnh; ) k t quca biu th c lun l phi lng ( 0) hoc sai (= 0)
Hanoi Aptech Computer Education Center
7/31/2019 Lap Tring C can ban
27/135
Gio trnhLp trnh C cn bn Trang 27
L u
bthc lun l
khi lnh
ng
Sai
Vo
Ra
) nu biu th c lun l ng ththc hin khi lnh v thot khi if,
ng c likhng lm g cv thot khi if.
# Nu khi lnh bao gm t2 lnh tr ln th phi t trong du { } Di n gi i :
+ Khi lnh l mt lnh ta vit lnh if nhsau:if (biu thc lun l)
lnh;+ Khi lnh bao gm nhiu lnh: lnh 1, lnh 2..., ta vit lnh if nhsau:
if (biu thc lun l){
lnh 1;lnh 2;...
}
Khngt du chm phy sau cu lnh if.V d: if(biu th c lun l);trnh bin dch khng bo li nh ng khi lnh khng c th c hin cho d
iu kin ng hay sai. V d3: Vit ch ng trnh nh p vo 2 snguyn a, b. Tm v in ra sl n nht.a. Phc h a l i gi i
Tr c tin ta cho gi tr a l gi tr l n nh t bng cch gn a cho max (max l bin c khai bo cng kiu d liu v i a, b). Sau so snh b v i a, n u b l n h n a ta gn b chomax v cui cng ta c k t qumax l gi tr l n nh t .
b. M t quy trnh x l (gi i thu t)Ngn ng t nhin Ngn ng C
- Khai bo 3 bin a, b, max kiu snguyn- Nh p vo gi tr a
- Nh p vo gi tr b
- Gn a cho max- Nu b > a th
gn b cho max- In ra k t qumax
- int ia, ib, imax;- printf("Nhap vao so a: ");scanf("%d", &ia);
- printf("Nhap vao so b: ");scanf("%d", &ib);
- imax = ia;- if (ib > ia)
imax = ib;- printf("So lon nhat = %d.\n", imax);
Biu th c lun l phi t trong cp du ( ). if ib > ia bo li Hanoi Aptech Computer Education Center
7/31/2019 Lap Tring C can ban
28/135
Gio trnhLp trnh C cn bn Trang 28
c. M t bng l u
b > ang
Bt u
Nh p a, b
Sai
So lon nhat = max
Hanoi Aptech Computer Education Center
K t thc
max = a
max = b
d. Vi t ch ng trnhFile Edit Search R un Compile Debug Project O ption Window Help /* Chuong trinh tim so lon nhat tu 2 so nguyen a, b */#include #include void main(void){
int ia, ib, imax; printf("Nhap vao so a: ");scanf("%d", &ia); printf("Nhap vao so b: ");scanf("%d", &ib);imax = ia;if (ib>ia)
imax = ib; printf("So lon nhat = %d.\n", imax);getch();
} F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
) K t quin ra mn hnh Nhap vao so a : 10 Nhap vao so b : 8So lon nhat = 10. _
Cho chy li ch ng trnh v thli v i:a = 7, b = 9a = 5, b = 5Quan st v nhn xt k t qu
V d4: Vit ch ng trnh nh p vo 2 snguyn a, b. Nu a l n h n b th honi gi tr av b, ng c li khng honi. In ra gi tr a, b.
a. Phc h a l i gi i
7/31/2019 Lap Tring C can ban
29/135
Gio trnhLp trnh C cn bn Trang 29
Nu gi tr a l n h n gi tr b, bn phi hon chuyn 2 gi tr ny cho nhau (ngh a l a s mang gi tr b v b mang gi tr a) bng cchem gi tr a g i (gn) cho bi n tam (bin tam c khai bo theo kiu d liu ca a, b), k n bn gn gi tr b cho a v cui cng bn gn
gi tr tam cho b , r i in ra a, b.b. M t quy trnh th c hi n (gi i thu t)
Ngn ng t nhin Ngn ng C- Khai bo 3 bin a, b, tam kiu snguyn- Nh p vo gi tr a
- Nh p vo gi tr b
- Nu a > b thtam = a;a = b; b = tam;
- In ra a, b
- int ia, ib, itam;- printf("Nhap vao so a: ");scanf("%d", &ia);
- printf("Nhap vao so b: ");scanf("%d", &ib);
- if (ia > ib){
itam = ia;ia = ib;ib = itam;
}- printf("%d, %d\n", ia, ib);
c. M t bng l u Bt u
Hanoi Aptech Computer Education Center
d. Vi t ch ng trnhFile Edit Search R un Compile Debug Project O ption Window Help /* Chuong trinh hoan vi 2 so a, b neu a > b */
#include #include
void main(void)
{ int ia, ib, itam; printf("Nhap vao so a: ");
a > b
Nh a,
ng
b
Sai
In a, b
tam = aa = b b = tam
K t thc
7/31/2019 Lap Tring C can ban
30/135
Gio trnhLp trnh C cn bn Trang 30
scanf("%d", &ia); printf("Nhap vao so b: ");scanf("%d", &ib);if (ia>ib){
itam = ia; //hoan vi a va bia = ib;ib = itam;
} printf("%d, %d.\n", ia, ib);getch();
} F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
) K t quin ra mn hnh Nhap vao so a : 10 Nhap vao so b : 88, 10 _
Cho chy li ch ng trnh v thli v i:a = 1, b = 8a = 2, b = 2Quan st v nhn k t qu
5.2.2.2 Dng 2 (if )Quyt nh sthc hin 1 trong 2 khi lnh cho tr c.
C php l nh
if (biu th c lun l) ) tkhaif, else phi vit bng ch th ngkhi lnh 1; ) k t quca biu th c lun l phi l
else ng ( 0) hoc sai (= 0)khi lnh 2;
L u
Hanoi Aptech Computer Education Center
) nu biu th c lun l ng ththc hin khi lnh 1 v thot khi if
ng c lithc hin khi lnh 2 v thot khi if.
# Nu khi lnh 1, khi lnh 2 bao gm t2lnh tr ln th phi t trong du { }
V d5: Vit ch ng trnh nh p vo 2 snguyn a, b. In ra thng bo "a bng b" nu a = b,ng c li in ra thng bo "a khc b".
a. Phc h a l i gi i So snh a v i b, nu a bng b th in ra cu thng bo "a bng b", ng c li in ra thng bo
"a khc b".b. M t quy trnh x l (gi i thu t)
Ngn ng t nhin Ngn ng C
bthc lun l
khi lnh 1ng
Sai
Vo
khi lnh 2
Ra
7/31/2019 Lap Tring C can ban
31/135
Gio trnhLp trnh C cn bn Trang 31
- Khai bo 2 bin a, b kiu snguyn- Nh p vo gi tr a
- Nh p vo gi tr b
- Nu a = b thin ra thng bo "a bng b"
Ng c li (cn khng th)in ra thng bo "a khc b"
- int ia, ib;- printf("Nhap vao so a: ");scanf("%d", &ia);
- printf("Nhap vao so b: ");scanf("%d", &ib);
- if (ia == ib) printf("a bang b\n");
else printf("a khac b\n");
c. M t bng l u Bt u
Hanoi Aptech Computer Education Center
d. Vi t ch ng trnhFile Edit Search R un Compile Debug Project O ption Window Help /* Chuong trinh in ra thong bao "a bang b" neu a = b, nguoc li in ra "a khac b" */
#include #include
void main(void){
int ia, ib; printf("Nhap vao so a: ");scanf("%d", &ia); printf("Nhap vao so b: ");scanf("%d", &ib);if (ia == ib)
printf("a bang b\n");else
printf("a khac b\n");getch();
} F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
) K t quin ra mn hnh Nhap vao so a : 10 Nhap vao so b : 8a khac b.
Cho chy li ch ng trnh v thli v i:a = 6, b = 6a = 1, b = 5
a= bng
Nh p a, b
Sai
a bang b a khac b
K t thc
7/31/2019 Lap Tring C can ban
32/135
Gio trnhLp trnh C cn bn Trang 32
_ Quan st v nhn xt k t qu
Sau else khng c du chm phy.V d: else; printf('a khac b\n");
trnh bin dch khng bo li, lnh printf("a khac b\n"); khng thuc else V d 6: Vit ch ng trnh nh p vo k t c. Kim tra xem nu k t nh p vo l k t
th ng trong khong t 'a' n 'z' thi sang ch in hoa v in ra, ng c li in ra thng bo "K t bn va nh p l: c".a. Phc h a l i gi i
Tr c tin bn phi kim tra xem nu k tc thuc khong 'a' v 'z' thi k tc thnhchin hoa bng cch ly k tc 32 r i gn li cho chnh n (c = c 32) (v gia k t th ng vin hoa trong bng m ASCII cch nhau 32, v d: A trong bng m ASCII l 65, B l 66, cn al 97, b l 98), sau khii xong bn in k tc ra. Ng c li, in cu thng bo "K tbn vanh p l: c".
b. M t quy trnh x l (gi i thu t)Ngn ng t nhin Ngn ng C
- Khai bo bin c kiu k t - Nh p vo k tc
- Nu c >= a v c = 'a' && c = 'a' v c
7/31/2019 Lap Tring C can ban
33/135
Gio trnhLp trnh C cn bn Trang 33
/* Chuong trinh nhap vao ky tu c, neu c la chu thuong in ra chu IN HOA */#include #include void main(void){
char c; printf("Nhap vao 1 ki tu: ");scanf("%c", &c);if (c >= 'a' && c = 97 && c
7/31/2019 Lap Tring C can ban
34/135
Gio trnhLp trnh C cn bn Trang 34
V d7: Vit ch ng trnh nh p vo 2 snguyn a, b. In ra thng bo "a l n h n b" nua>b, in ra thng bo "a nhh n b" nu a b th in ra thng bo "a l n h n b", ng c li nu a < b
th in ra thng bo "a nhh n b", ng c v i 2 tr ng h p trn th in ra thng bo "a bng b".b. M t quy trnh th c hi n (gi i thu t)
Ngn ng t nhin Ngn ng C
- Khai bo 2 bin a, b kiu snguyn- Nh p vo gi tr a
- Nh p vo gi tr b
- Nu a > b thin ra thng bo "a l n h n b"
Ng c li Nu a < b thin ra thng bo "a nhh n b"
Ng c li thin ra thng bo "a bng b"
- int ia, ib;- printf("Nhap vao so a: ");scanf("%d", &ia);
- printf("Nhap vao so b: ");scanf("%d", &ib);
- if (ia > ib) printf("a lon hon b.\n");
else if (ia < ib) printf("a nho hon b.\n");
else
printf("a bang b.\n");c. M t bng l u
Bt u
Hanoi Aptech Computer Education Center
d. Vi t ch ng trnhFile Edit Search R un Compile Debug Project O ption Window Help /* Chuong trinh nhap vao 2 so nguyen a, b. In ra thong bao a > b, a < b, a = b */
#include #include void main(void)
a > b
Nh p a, b
Sai
"a lon hon b"
a < b Sai
ngng
K t thc
"a nho hon b" "a bang b"
7/31/2019 Lap Tring C can ban
35/135
Gio trnhLp trnh C cn bn Trang 35
Hanoi Aptech Computer Education Center
{int ia, ib; printf("Nhap vao so a: ");scanf("%d", &ia); printf("Nhap vao so b: ");scanf("%d", &ib);if (ia>ib)
printf("a lon hon b.\n");else if (ia= a v c = A v c = 'a' && c = 'A' && c
7/31/2019 Lap Tring C can ban
36/135
Gio trnhLp trnh C cn bn Trang 36
Ng c li Nu c >= 0 v c = '0' && c = 'A' && c = 'a' && c = 97 && c = 'a' v c = 'A' v c = '0' v c
7/31/2019 Lap Tring C can ban
37/135
Gio trnhLp trnh C cn bn Trang 37
Hanoi Aptech Computer Education Center
printf("Ki tu hoa la: %c.\n", c);};else if(c >= 'A' && c = 65 && c = '0' && c = 48 && c 0)
if (a > b)x = a;
else
x = b;Mc d Bn vit lnh else thng hng v i if (n > 0), nhng lnh else y c hiu i km
v i if (a > b), v n nm gn v i if (a > b) nht v if (a > b) cha c else.dnhn v dhiuh n Bn vit li nhsau:
if (n > 0)
if (a > b)x = a;
elsex = b;
Cn nu Bn mun lnh else l ca if (n > 0) th Bn phi t if (a > b) x = a trong mt khilnh. Bn vit li nhsau:
7/31/2019 Lap Tring C can ban
38/135
Gio trnhLp trnh C cn bn Trang 38
if (n > 0){
if (a > b)x = a;
}else
x = b;
L u T ng t3 dng trn. Nhng trong mi khi lnh c thc mt (nhiu) cu trc if 3
dng trn.V d 10: Vit ch ng trnh nh p voim ca mt hc sinh. In ra x p loi hc t p ca hc
sinh. (Cch x p loi. Nu im >= 9, Xut sc. Nu im t8 n cn 9, Gii. Nu im t7 ncn 8, Kh. Nu im t6 n cn 7, TBKh. Nu im t5 n cn 6, TBnh. Cn li l Yu).
a. Phc h a l i gi i im snh p vo nu h p l(0 = 8 th
in ra x p loi = Gii Ng c li Nu diem >= 7 th
in ra x p loi = Kh Ng c li Nu diem >= 6 th
in ra x p loi = TBKh Ng c li Nu diem >= 5 th
in ra x p loi = TBnh Ng c li th
in ra x p loi = Yu Ng c li th
in ra "Bn nh p im khng h p l"
- float fdiem;- printf("Nhap vao diem so: ");scanf("%f", &fdiem);
- if (fdiem >= 0 && fdiem = 9)
printf("Xep loai = Xuat sac.\n");else if (fdiem >= 8) printf("Xep loai = Gioi.\n");
else if (fdiem >= 7) printf("Xep loai = Kha.\n");
else if (fdiem >= 6) printf("Xep loai = TBKha.\n");
else if (fdiem >= 5) printf("Xep loai = TBinh.\n");
else printf("Xep loai = Yeu.\n");
else printf("Ban nhap diem khong hop le.\n");
c. M t bng l u
Hanoi Aptech Computer Education Center
Bt u
Nh p diem
diem >= 0
v diem =9
ngdiem >=8
Sai
diem >=7
SaiSai
diem >=6
Sai
Saingng
ng
7/31/2019 Lap Tring C can ban
39/135
Gio trnhLp trnh C cn bn Trang 39
Hanoi Aptech Computer Education Center
d. Vi t ch ng trnhFile Edit Search R un Compile Debug Project O ption Window Help /* Chuong trinh nhap vao 2 so nguyen a, b. In ra thong bao a > b, a < b, a = b */
#include #include
void main(void){
float fdiem; printf("Nhap vao diem so: ");scanf("%f", &fdiem);if (fdiem >=0 && fdiem =9) printf("Xep loai = Xuat sac.\n");
else if (fdiem >=8) printf("Xep loai = Gioi.\n");
else if (fdiem >=7) printf("Xep loai = Kha.\n");
else if (fdiem >=6) printf("Xep loai = TBKha.\n");
else if (fdiem >=5) printf("Xep loai = TBinh.\n");
else printf("Xep loai = Yeu.\n");
else //if (fdiem>=0 && fdiem
7/31/2019 Lap Tring C can ban
40/135
Gio trnhLp trnh C cn bn Trang 40
Trong ch ng trnh trn cu trcelse if c lng vo trong cu trc dng 2, trongcu trc else if ta khng cn t trong khi v tt ccc if trong cu trc nyu c else, nnelse printf("Nhap diem khong hop le.\n") ng nhin l thuc vif (fdiem >= 0 && fdiem =0 && fdiem
7/31/2019 Lap Tring C can ban
41/135
Gio trnhLp trnh C cn bn Trang 41
Hanoi Aptech Computer Education Center
d. Vi t ch ng trnhFile Edit Search R un Compile Debug Project O ption Window Help /* Chuong trinh nhap vao 2 so nguyen a, b, c. Tim, in ra so lon nhat */
#include #include
void main(void){
int ia, ib, ic; printf("Nhap vao so a: ");scanf("%d", &ia); printf("Nhap vao so b: ");scanf("%d", &ib);
printf("Nhap vao so c: ");scanf("%d", &ic);if (ia > ib)
if (ia > ic) printf("%d lon nhat.\n", ia);
else printf("%d lon nhat.\n", ic);
elseif (ib > ic)
printf("%d lon nhat.\n", ib);
else printf("%d lon nhat.\n", ic);getch();
} F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
) K t quin ra mn hnh Nhap vao so a: 4 Nhap vao so b: 5 Nhap vao so c: 3
5 lon nhat. _
Cho chy li ch ng trnh v thli v i:a = 5, b = 4, c = 2a = 2, b = 1, c = 10
a = 5, b = 5, c = 5Quan st v nhn xt k t qu e. Bn thm v ch ng trnh
Trong ch ng trnh trn cu trcdng 2 c lng vo trong cu trc dng 2.5.2.3 Lnh switch
Lnh switch cng ging cu trc else if, nhng n mm do h n v linhng h n nhiuso v i sdng if. Tuy nhin, n cng c mt hn chl k t quca biu thc phi l gi tr hngnguyn (c gi tr c th). Mt bi ton s dng lnh switch th cng c ths dng if, nhngng c li cn ty thuc vo gii thut ca bi ton.
5.2.3.1 Cu trc switchcase (switch thiu)Chn thc hin 1 trong n lnh cho tr c.
7/31/2019 Lap Tring C can ban
42/135
Gio trnhLp trnh C cn bn Trang 42
C php l nh
switch (biu th c) ) tkhaswitch, case, break { phi vit bng chth ng
case gi tr 1 : lnh 1; ) biu th c phi l c k t qulbreak; gi tr hng nguyn (char, int, long,)
case gi tr 2 : lnh 2; ) Lnh 1, 2n c thgm nhiu lnh, nhng break; khng cn t trong c p du { }
case gi tr n : lnh n;
[break;]}
L u
Hanoi Aptech Computer Education Center
) Khi gi tr ca biu thc bng gi tr i th lnh is c thc hin. Nu sau lnh i khng c l nh
break th s ti p tc thc hin lnh i + 1Ng cli thot kh i cu trc switch.
V d12: Vit ch ng trnh nh p vo s1, 2, 3. In ra t ngng 1, 2, 3 sao.a. Vi t ch ng trnh
File Edit Search R un Compile Debug Project O ption Window Help /* Chuong trinh nhap vao so 1, 2, 3. In ra so sao tuong ung */#include #include
void main(void){int i; printf("Nhap vao so 1, 2 hoc 3: ");
Vo
Biu thc
Ra
= i tr 1 ?ng
l nh 1
break ?Khng
= i tr 2 ?ng
l nh 2
break ?Khng
= i tr n ?ng
l nh n
. . .
C
C
break ? C
Khng
7/31/2019 Lap Tring C can ban
43/135
Gio trnhLp trnh C cn bn Trang 43
Hanoi Aptech Computer Education Center
scanf("%d", &i);switch(i){
case 3: printf("*");case 2: printf("*");case 1: printf("*");
};
printf("An phim bat ky de ket thuc!\n");getch();} F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
) K t quin ra mn hnh Nhap vao so 1, 2 hoc 3: 2** _
Cho chy li ch ng trnh v thli v i:i = 1, i = 3, i = 0, i = 4Quan st v nhn xt k t qu
b. Bn thm v ch ng trnhTrong ch ng trnh trn khi nh p vo i = 2 lnh printf("*") dng case 2 c thi hnh,
nhng do khng c lnh break sau nn lnh printf("*") dng case 1 ti p tc c thi hnh. K tquin ra **.
Khngt du chm phy sau cu lnh switch.V d: switch(i);
trnh bin dch khng bo li nh ng cc lnh trong switch khng c th c hin. V d13: Vit ch ng trnh nh p vo thng v in ra qu. (thng 1 -> qu 1, thng 10 -> qu 4)a. Phc h a l i gi i
Nh p vo gi tr thng, kim tra xem thng c h p l(trong khong 1n 12). Nu h p l in ra qu t ngng (1->3: qu 1, 4->6: qu 2, 7->9: qu 3, 10->12: qu 4).
b. Vi t ch ng trnhFile Edit Search R un Compile Debug Project O ption Window Help /* Chuong trinh nhap vao thang. In ra quy tuong ung */#include #include void main(void){
int ithang; printf("Nhap vao thang: ");scanf("%d", &ithang);if (ithang > 0 && ithang
7/31/2019 Lap Tring C can ban
44/135
Gio trnhLp trnh C cn bn Trang 44
case 9: printf("Quy 3.\n"); break;
case 10:case 11:case 12: printf("Quy 4.\n");
break;};
else printf("Thang khong hop le.\n");getch();
} F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
) K t quin ra mn hnh Nhap vao thang: 4Quy 2. _
Cho chy li ch ng trnh v thli v i:thang = 7, thang = 1, thang = 13, thang = -4Quan st v nhn xt k t qu
c. Bn thm v ch ng trnhTrong ch ng trnh trn cu trcswitchcase c lng vo trong cu trc if dng 2.5.2.3.2 Cu trc switchcasedefault (switch)
Chn thc hin 1 trong n + 1 lnh cho tr c. C php l nh
switch (biu th c) ) tkhaswitch, case, break, default{ phi vit bng chth ng
case gi tr 1 : lnh 1; ) biu th c phi l c k t qul
break; gi tr nguyn (char, int, long,)case gi tr 2 : lnh 2; ) Lnh 1, 2n c thgm nhiu lnh, nhng break; khng cn t trong c p du { }
case gi tr n : lnh n;
break;default : lnh;
[break;]}
L u ) Khi gi tr ca biu thc bng gi tr i th lnhi s c thc hin. Nu sau lnh i khng clnh break th s ti p tc thc hin lnh i +1Ng c li thot khi cu trc switch. Nugi tr biu thc khng trng v i bt k gi tr i no th lnh t ng ng v i t kha defaults c thc hin.
Vo
Biu thc
Hanoi Aptech Computer Education Center
= i tr 1 ?ng
l nh 1
break ?
Khng= i tr 2 ?
ngl nh 2
break ?Khng
. . .
C
C
7/31/2019 Lap Tring C can ban
45/135
Gio trnhLp trnh C cn bn Trang 45
Hanoi Aptech Computer Education Center
V d14: Vit li ch ng trnh V d12 a. Vi t ch ng trnh
File Edit Search R un Compile Debug Project O ption Window Help /* Chuong trinh nhap vao so 1, 2, 3. In ra so sao tuong ung */
#include #include
void main(void){
int i; printf("Nhap vao so 1, 2 hoc 3: ");scanf("%d", &i);switch(i){
case 3: printf("*");case 2: printf("*");case 1: printf("*");
break;default: printf("Ban nhap phai nhap vao so 1, 2 hoac 3.\n");
};getch();
} F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
) K t quin ra mn hnh Nhap vao so 1, 2 hoc 3: 3*** _
Cho chy li ch ng trnh v thli v i:i = 1, i = 3, i = 0, i = 4Quan st k t qu
b. Bn thm v ch ng trnh
7/31/2019 Lap Tring C can ban
46/135
Gio trnhLp trnh C cn bn Trang 46
Hanoi Aptech Computer Education Center
Trong ch ng trnh trn. Nu bn nh p vo 1, 2, 3 sin ra ssao t ngng. Ngoi cc s ny ch ng trnh sin ra cu thng bo "Bn phi nh p vo s1, 2 hoc 3".
V d15: Vit li ch ng trnh V d13 a. Vi t ch ng trnh
File Edit Search R un Compile Debug Project O ption Window Help
/* Chuong trinh nhap vao thang. In ra quy tuong ung */
#include #include
void main(void){
int ithang; printf("Nhap vao thang: ");scanf("%d", &ithang);switch(ithang){
case 1: case 2: case 3 : printf("Quy 1.\n"); break;
case 4: case 5: case 6: printf("Quy 2.\n"); break;
case 7: case 8: case 9: printf("Quy 3.\n"); break;
case 10: case 11: case 12: printf("Quy 4.\n"); break;
default : printf("Ban phai nhap vao so trong khoang 1..12\n");};getch();
} F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
) K t quin ra mn hnh Nhap vao thang: 4Quy 2. _
Cho chy li ch ng trnh v thli v i:thang = 7, thang = 1, thang = 13, thang = -4Quan st k t qu
c. Bn thm v ch ng trnhTrong ch ng trnh trn. Nu bn nh p vo 1n 12 sin qu t ng ng. Ngoi cc s
ny ch ng trnh sin ra cu thng bo "Bn phi nh p vo strong khong 1..12".5.2.3.3 Cu trc switch lng
Quyt nh sthc hin 1 trong n khi lnh cho tr c. C php l nh
C php l mt trong 2 dng trn, nhng trong 1 hoc nhiu lnh bn trong phi cha tnht mt trong 2 dng trn gi l cu trc switch lng nhau. Th ng cu trc switch lng nhau
cng nhiu c p phc t p cng cao, ch ng trnh chy cng chm v trong lc l p trnh db nhm ln. L u
7/31/2019 Lap Tring C can ban
47/135
Gio trnhLp trnh C cn bn Trang 47
Hanoi Aptech Computer Education Center
T ng t2 dng trn. Nhng trong mi lnh c thc mt (nhiu) cu trc switch 2dng trn.
V d16: Vit ch ng trnh menu 2 c pa. Vi t ch ng trnh
File Edit Search R un Compile Debug Project O ption Window Help
/* Chuong trinh menu 2 cap */
#include #include
void main(void){
int imenu, isubmenu; printf("-------------------------\n"); printf(" MAIN MENU \n"); printf("-------------------------\n"); printf("1. File\n"); printf("2. Edit\n"); printf("3. Search\n"); printf("Chon muc tuong ung: ");scanf("%d", &imenu);switch(imenu){
case 1: printf("-------------------------\n"); printf(" MENU FILE \n"); printf("-------------------------\n"); printf("1. New\n"); printf("2. Open\n"); printf("Chon muc tuong ung: ");scanf("%d", &isubmenu);switch(isubmenu){
case 1: printf("Ban da chon chuc nang New File\n"); break;
case 2: printf("Ban da chon chuc nang Open File\n");} break; //break cua case 1 switch(imenu)
case 2: printf("Ban da chon chuc nang Edit\n"); break;
case 3: printf("Ban da chon chuc nang Search\n");};getch();
} F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
) K t quin ra mn hnh
--------------------------MAIN MENU
Cho chy li ch ng trnh v thli v i:mc chn chc nng khc
7/31/2019 Lap Tring C can ban
48/135
Gio trnhLp trnh C cn bn Trang 48
Hanoi Aptech Computer Education Center
--------------------------1. File2. Edit3. SearchChon muc tuong ung: 1--------------------------
MENU FILE--------------------------1. New2. OpenChon muc tuong ung: 2Ban da chon chuc nang Open File _
Quan st k t qu.* Thm cc thnh phn sau vo ch ng trnh:- Thm mc Save vo menu File.- To menu Edit gm 4 chc nng: Copy,
Cut, Paste, Clear.- To menu Search gm 2 chc nng: Find,Replace.
Chy li ch ng trnh v thv i nhiu mcchn khc nhau.Quan st k t qu.
5.3 Bi tp
5.3.1 S dng lnh if
1. Vi t l i ch ng trnh v d 3, s d ng c u trc if d ng 2.2. Vi t l i ch ng trnh v d 11, s d ng c u trc if d ng 1.3. Vi t l i ch ng trnh v d 11, s d ng c u trc if d ng 2.4. Vi t ch ng trnh nh p vo s nguyn d ng, in ra thng bo s ch n hay l .
H ng d n: Nh p vo snguyn d ng x. Kim tra nu x chia chn cho hai th x l s chn (hoc chia cho 2 d0) ng c li l sl.
5. Vi t ch ng trnh nh p vo 4 s nguyn. Tm v in ra s l n nh t. H ng d n: Ta c 4 snguyn a, b, c, d. Tm 2 snguyn l n nht x, y ca 2 c p (a, b)
v (c, d). Sau so snh 2 snguyn x, ytm ra snguyn l n nht.6. Vi t ch ng trnh gi i ph ng trnh b c 2: ax2 + bx + c = 0, v i a, b, c nh p vo t
bn phm. H ng d n: Nh p vo 3 bin a, b, c.Tnh Delta = b*b - 4*a*c Nu Delta < 0 th
Ph ng trnh v nghim Ng c li
Nu Delta = 0 th
x1 = x2 = - b/(2*a) Ng c lix1 = (- b - sqrt(Delta))/(2*a)x2 = (- b + sqrt(Delta))/(2*a)
Ht NuHt Nu
7. Vi t ch ng trnh nh p vo gi pht giy (hh:mm:ss). C ng thm s giy nh p vov in ra k t qud i d ng hh:mm:ss.
H ng d n: Nh p vo gi pht giy vo 3 bin gio, phut, giay v nh p v giy cng thmvo bin them:
Nu giay + them < 60 thgiay = giay + them
Ng c li
7/31/2019 Lap Tring C can ban
49/135
Gio trnhLp trnh C cn bn Trang 49
giay = (giay + them) - 60 phut = phut + 1 Nu phut >= 60 th
phut = phut - 60gio = gio + 1
Ht nuHt nu
5.3.2 S dng lnh switch
8. Vi t ch ng trnh nh p vo thng, in ra thng c bao nhiu ngy. H ng d n: Nh p vo thng
Nu l thng 1, 3, 5, 7, 8, 10, 12 th c 30 ngy Nu l thng 4, 6, 9, 11 th c 31 ngy Nu l thng 2 v l nm nhun th c 29 ngy ng c li 28 ngy(Nm nhun l nm chia chn cho 4)
9. Vi t ch ng trnh tr ch i One-Two-Three ra ci g ra ci ny theo i u ki n:- Ba (B) thng Ko, thua Giy.- Ko (K) thng Giy, thua Ba.- Giy (G) thng Ba, thua Ko.
H ng d n: Dng lnh switch lng nhau10. Vi t ch ng trnh xc nh bi n k t color r i in ra thng bo
- RED, nu color = 'R' hoc color = 'r'- GREEN, nu color = 'G' hoc color = 'g'- BLUE, nu color = 'B' hoc color = 'b'- BLACK, nu color c gi tr khc.
11. Vi t ch ng trnh nh p vo 2 s x, y v 1 trong 4 ton t +, -, *, /. N u l + th in rak t qux + y, n u l th in ra x y, n u l * th in ra x * y, n u l / th in ra x / y (n u y = 0 ththng bo khng chia c)5.4 Bi tp lm thm
12. Vi t l i bi tp 8, 9, 10, 11 s d ng l nh if.13. Vi t ch ng trnh nh p vo i m 3 mn thi: Ton, L, Ha c a h c sinh. N u t ng
i m >= 15 v khng c mn no d i 4 th in k t qu u. N u u m cc mn u l n h n 5th in ra l i ph "H c u cc mn", ng c l i in ra "H c ch a u cc mn", cc tr ng h p
khc l "Thi h ng".14. Vi t ch ng trnh nh p vo ngy thng n m (dd:mm:yy), cho bi t l th m y
trong tu n.
15. Vi t ch ng trnh nh p s gi lm v l ng gi r i tnh s ti n l ng t ng c ng. N us gi lm l n h n 40 th nh ng gi lm di ra c tnh 1,5 l n.
16. Vi t ch ng trnh nh p vo 3 gi tr nguyn d ng a, b, c. Ki m tra xem a, b, c c phi l 3 c nh c a tam gic khng? N u l 3 c nh c a tam gic th tnh di n tch c a tam gictheo cng th c sau:
17. S =)c p*) b p(*)a p(* p , v i p l 1/2 chu vi c a tam gic. H ng d n: a, b, c l 3 cnh ca tam gic phi tha iu kin sau:
(a + b) > c v (a + c) > b v (b + c) > a
Hanoi Aptech Computer Education Center
7/31/2019 Lap Tring C can ban
50/135
Gio trnhLp trnh C cn bn Trang 50
Hanoi Aptech Computer Education Center
18. Vi t ch ng trnh nh p vo 3 s nguyn r i in ra mn hnh theo th t t ng d n.19. Vi t ch ng trnh tnh ti n i n g m cc kho ng sau:
- Tin thu baoin k : 1000/thng- nh mc sdngin cho mi hl: 50 KW v i gi 230/KW- Nu phn v t nh mc
7/31/2019 Lap Tring C can ban
51/135
Gio trnhLp trnh C cn bn Trang 51
Bi 6 :
CU TRC VNG LP
6.1 Mc tiu
Sau khi hon tt bi ny hc vin shiu v vn dng cc kin thc k nng c bn sau:- ngh a, cch hot ng ca vng l p.- C php, ngh a, cch sdng lnh for, while, dowhile.- ngh a v cch sdng lnh break, continue.- Mt sbi ton sdng lnh for, while, dowhile thng qua cc v d.- So snh,nh gi mt sbi ton sdng lnh for, while hoc dowhile.- Cu trc vng l p lng nhau.
6.2 Ni dung
6.2.1 Lnh for
Vng l p xcnh thc hin l p li mt sln xcnh ca mt (chui hnhng) C php l nh
for (biu th c 1; biu th c 2; biu th c 3)khi lnh;
) tkhafor phi vit bng chth ng# Nu khi lnh bao gm t2 lnh tr ln th phi t trong du { }
L u
Hanoi Aptech Computer Education Center
) kim traiu kin nu ng ng th
thc hin khi lnh;l p li kim traiu kin
nu sai thot khi vng l p.
Gi i thch :+ Biu thc 1: kh i to gi tr banu cho bin iu khin.+ Biu thc 2: l quan hlogic thhin iu kin ti p tc vng l p.+ Biu thc 3: php gn dng thayi gi tr bin iu khin.
Nhn xt :+ Biu thc 1 bao gi cng ch c tnh ton mt ln khi gi thc hin for.+ Biu thc 2, 3 v thn for c ththc hin l p li nhiu ln.
L u :+ Biu th c 1, 2, 3 phi phn cch bng du chm phy (;)
iu kin
Vo
khi lnh
ng
Sai
Ra
7/31/2019 Lap Tring C can ban
52/135
Gio trnhLp trnh C cn bn Trang 52
Hanoi Aptech Computer Education Center
+ Nu biu thc 2 khng c, vng for c xem l lun lunng. Mun thot khivng l p for phi dng mt trong 3 lnh break , gotohoc return .
+ V i mi biu thc c thvit thnh mt dy biu thc con phn cch nhau b i du phy. Khi cc biu thc con c xcnh t tri sang phi. Tnhng sai ca dy biu thccon trong biu thc th2 c xcnh b i biu thc con cui cng.
+ Trong thn for (khi lnh) c thcha mt hoc nhiu cu trciu khin khc.+ Khi g p lnh break , cu trc l p su nht sthot ra.+ Trong thn for c thdng lnh goto thot khi vng l p n v tr mong mun.+ Trong thn for c thsdng return tr vmt hm no.+ Trong thn for c thsdng lnh continuechuyn n u vng l p (bqua cc
cu lnh cn li trong thn).V d1: Vit ch ng trnh in ra cu "Vi du su dung vong lap for" 3 ln.
Dng File Edit Search R un Compile Debug Project O ption Window Help 12
3456789
101112
1314
/* Chuong trinh in ra cau "Vi du su dung vong lap for" 3 lan */
#include #include
#define MSG "Vi du su dung vong lap for.\n"
void main(void){
int i;for(i = 1; i
7/31/2019 Lap Tring C can ban
53/135
Gio trnhLp trnh C cn bn Trang 53
Hanoi Aptech Computer Education Center
101112131415161718
for(i = 1; i
7/31/2019 Lap Tring C can ban
54/135
Gio trnhLp trnh C cn bn Trang 54
Hanoi Aptech Computer Education Center
Bn c thvit gp cc lnh trong thn for vo trong lnh for. Tuy nhin, khi lptrnh bn nn vit lnh for c3 biu th c n v cc lnh th c hin trong thn for milnh mt dng sau ny c th c li dhiu, ds a ch a.
V d4: Mt vi v dthayi bin iu khin vng l p.- Thayi bin iu khin t1 n 100, mi ln tng 1:
for(i = 1; i = 1; i--)- Thayi bin iu khin t7 n 77, mi ln tng 7:
for(i = 7; i = 2; i = 2)V d5: c vo mt lot k ttrn bn phm. K t thc khi g p du chm '.' .
Dng File Edit Search R un Compile Debug Project O ption Window Help 123456789
101112
/* Doc vao 1 loat ktu tren ban phim. Ket thuc khi gap dau cham */
#include
#define DAU_CHAM '.'
void main(void){
char c;for(; (c = getchar()) != DAU_CHAM; )
putchar(c);}F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
) K t quin ra mn hnh aa44.
_
Bn thay cc dng t10 n 11 bng cu lnh:for(; (c = getchar()) != DAU_CHAM; putchar(c));Chy li ch ng trnh, quan st v nhn xt k t qu.
Vng lp for vng mt biu th c 1 v 3.V d6: c vo mt lot k ttrn bn phm, m sk tnh p vo. K t thc khi g p du chm '.' .
Dng File Edit Search R un Cmpile Debug Project O ption Window Help 12345678
/* Doc vao 1 loat ktu tren ban phim, dem so ktu nhap vao. Ket thuc khi gap dau cham */
#include #include
#define DAU_CHAM '.'void main(void)
7/31/2019 Lap Tring C can ban
55/135
Gio trnhLp trnh C cn bn Trang 55
Hanoi Aptech Computer Education Center
9101112131415
16
{char c;int idem;for(idem = 0; (c = getchar()) != DAU_CHAM; )
idem++; printf("So ki tu: %d.\n", idem);getch();
}F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu) K t quin ra mn hnh
afser.So ki tu: 5. _
Bn thay cc dng t12 n 13 bng cu lnh:for(idem = 0; (c = getchar()) != DAU_CHAM; idem++);Chy li ch ng trnh, quan st v nhn xt k t qu.
Vng lp for vng mt biu th c 3.V d7: c vo mt lot k t trn bn phm,m sk tnh p vo. K t thc khi g p du
chm '.' .Dng File Edit Search R un Compile Debug Project O ption Window Help 12345678
910111213141516171819
2021
/* Doc vao 1 loat ktu tren ban phim, dem so ktu nhap vao. Ket thuc khi gap dau cham */
#include #include
#define DAU_CHAM '.'
void main(void)
{ char c;int idem = 0;for(; ;){
c = getchar();if (c == DAU_CHAM) //nhap vao dau cham
break; //thoat vong lapidem++;
} printf("So ki tu: %d.\n", idem);
getch();}F1 Help Alt-F8Next Msg Alt-F7Prev Msg Alt - F9Compile F9 Make F10Menu
) K t quin ra mn hnh afser.So ki tu: 5. _
Chy li ch ng trnh, quan st v nhn xt k t qu.
Vng lp for vng mt cba biu th c.V d8: Nh p vo 1 dy snguyn tbn phmn khi g p s0 th dng. In ra tng cc s
nguyn d ng.Dng File Edit Search R un Compile Debug Project O ption Window Help
7/31/2019 Lap Tring C can ban
56/135
Gio trnhLp trnh C cn bn Trang 56
Hanoi Aptech Computer Education Center
123456789
10111213141516171819202122
/* Nhap vao 1 day so nguyen tu ban phim den khi gap so 0 thi dung. In ra tong cac songuyen duong */
#include #include
void main(void){ in