lap tring c can ban

Upload: destiny-iil

Post on 04-Apr-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 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