Professional Documents
Culture Documents
Phan 2 - Chuong 1-2
Phan 2 - Chuong 1-2
PHN 2
Lp trnh cn bn
trnh kh mnh, c s dng nh l mt ngn ng lp trnh ch yu trong vic xy dng nhng phn mm hin nay. Ngn ng C c nhng c im c bn sau: o Tnh c ng (compact): C ch c 32 t kha chun v 40 ton t chun, nhng hu ht u c biu din bng nhng chui k t ngn gn. o Tnh cu trc (structured): C c mt tp hp nhng ch th ca lp trnh nh cu trc la chn, lp T cc chng trnh vit bng C c t chc r rng, d hiu. o Tnh tng thch (compatible): C c b tin x l v mt th vin chun v cng phong ph nn khi chuyn t my tnh ny sang my tnh khc cc chng trnh vit bng C vn hon ton tng thch. o Tnh linh ng (flexible): C l mt ngn ng rt uyn chuyn v c php, chp nhn nhiu cch th hin, c th thu gn kch thc ca cc m lnh lm chng trnh chy nhanh hn. o Bin dch (compile): C cho php bin dch nhiu tp tin chng trnh ring r thnh cc tp tin i tng (object) v lin kt (link) cc i tng li vi nhau thnh mt chng trnh c th thc thi c (executable) thng nht.
II.1. Gi Turbo C
Chy Turbo C cng ging nh chy cc chng trnh khc trong mi trng DOS hay Windows, mn hnh s xut hin menu ca Turbo C c dng nh sau:
Dng trn cng gi l thanh menu (menu bar). Mi mc trn thanh menu li c th c nhiu mc con nm trong mt menu ko xung. Dng di cng ghi chc nng ca mt s phm c bit. Chng hn khi g phm F1 th ta c c mt h thng tr gip m ta c th tham kho nhiu thng tin b ch.
Trang 13
Lp trnh cn bn
Mun vo thanh menu ngang ta g phm F10. Sau dng cc phm mi tn qua tri hoc phi di chuyn vng sng ti mc cn chn ri g phm Enter. Trong menu ko xung ta li dng cc phm mi tn ln xung di chuyn vng sng ti mc cn chn ri g Enter. Ta cng c th chn mt mc trn thanh menu bng cch gi phm Alt v g vo mt k t i din ca mc (k t c mu sc khc vi cc k t khc). Chng hn chn mc File ta g Alt-F (F l k t i din ca File)
Lp trnh cn bn
th chp khi, di chuyn khi, xo khi... S dng khi cho php chng ta son tho chng trnh mt cch nhanh chng. sau y l cc thao tc trn khi: Phm tt ngha Ctrl-K-B nh du u khi Ctrl-K-K nh du cui khi Ctrl-K-C Chp khi vo sau v tr con tr Ctrl-K-V Chuyn khi ti sau v tr con tr Ctrl-K-Y Xo khi Ctrl-K-W Ghi khi vo a nh mt tp tin Ctrl-K-R c khi (tp tin) t a vo sau v tr con tr Ctrl-K-H Tt/m khi Ctrl-K-T nh du t cha chon tr Ctrl-K-P In mt khi Cc phm, phm tt thc hin cc thao tc khc: Phm ngha Phm tt Ctrl-K-D, F10 Kch hot menu chnh Ctrl-K-Q F2 Lu chng trnh ang son vo a Ctrl-K-S F3 To tp tin mi Tab Di chuyn con tr mt khong ng thi y dng vn bn Ctrl-I ESC Hy b thao tc lnh Ctrl-U ng tp tin hin ti Alt-F3 Hin hp thoi tm kim Ctrl-Q-F Hin hp thoi tm kim v thay th Ctrl-Q-A Tm kim tip tc Ctrl-L V d: Bn hy g on chng trnh sau:
#include <stdio.h> #include<conio.h> int main () { char ten[50]; printf(Xin cho biet ten cua ban !); scanf(%s,ten); printf(Xin chao ban %s,ten); getch(); return 0; }
Trang 15
Lp trnh cn bn
Ch : phng mt in trong khi son tho chng trinh thnh thong bn nn g phm F2. Quy tc t tn tp tin ca DOS: Tn ca tp tin gm 2 phn: Phn tn v phn m rng. o Phn tn ca tp tin phi bt u l 1 k t t a..z (khng phn bit hoa thng), theo sau c th l cc k t t a..z, cc k s t 0..9 hay du gch di (_), phn ny di ti a l 8 k t. o Phn m rng: phn ny di ti a 3 k t. V d: Ghi chng trnh va son tho trn ln a vi tn l CHAO.C
Ghi li chng trnh ny (F2) v cho thc hin (Ctrl-F9). Hy so snh xem c g khc trc?
Lp trnh cn bn
. Khi tp tin c m th vn bn chng trnh c trnh by trong vng son tho; hp thoi Open nh sau:
Ni nhp tn file
Th mc hin hnh
Trong trng hp ta nhp vo tn tp tin cha tn ti th chng trnh c to mi v sau ny khi ta lu tr, chng trnh c lu vi tn . - Lnh Save : Dng lu chng trnh ang son tho vo a. - Lnh Save as... : Dng lu chng trnh ang son tho vi tn khc, hp thoi lu tp tin ang son vi tn khc nh sau:
- Lnh : Save All: Trong lc lm vic vi Turbo C, ta c th m mt lc nhiu chng trnh sa cha, b sung. Lnh Save All dng lu li mi thay i trn tt c cc chng trnh ang m y.. - Lnh Change Dir ... : Dng i th mc hin hnh
Trang 17
Lp trnh cn bn
- Lnh Print : Dng in chng trnh ang son tho ra my in. - Lnh Printer Setup ...: Dng thit t mt s thng s cho my in. - Lnh Dos Shell : Dng thot tm thi v Dos, tr li Turbo C ta nh EXIT. - Lnh Exit : Dng thot khi C. II.7.2. Cc lnh trn menu Edit (Alt -E) - Lnh Undo : Dng hy b thao tc son tho cui cng trn ca s son tho. - Lnh Redo : Dng phc hi li thao tc b Undo cui cng. - Lnh Cut : Dng xa mt phn vn bn c nh du khi, phn d liu b xa s c lu vo mt vng nh c bit gi l Clipboard. - Lnh Copy : Dng chp phn chng trnh c nh du khi vo Clipboard. - Lnh Paste : Dng dn phn chng trnh ang c lu trong Clipboard vo ca s ang son tho, bt u ti v tr ca con tr. - Lnh Clear : Dng xa phn d liu c nh du khi, d liu b xa khng c lu vo Clipboard. - Lnh Show clipboard : Dng hin th phn chng trnh ang c lu trong Clipboard trong mt ca s mi. II.7.3. Cc lnh trn menu Search (Alt -S) - Lnh Find ...: Dng tm kim mt cm t trong vn bn chng trnh. Nu tm thy th con tr s di chuyn n on vn bn trng vi cm t cn tm; hp thoi Find nh sau:
Trang 18
Lp trnh cn bn
Nhp cm t cn tm vo y
ngha cc la chn trong hp thoi trn nh sau: Case sentitive : Phn bit ch IN HOA vi ch in thng trong khi so snh cm t cn tm vi vn bn chng trnh. Whole word only: Mt on vn bn chng trnh trng vi ton b cm t cn tm th mi c xem l tm thy. Regular expression: Tm theo biu thc Global :Tm trn tt c tp tin. Forward : Tm n cui tp tin. Selected text: Ch tm trong khi vn bn c nh du. Backward: Tm n u tp tin. From cursor : Bt u t v tr con nhy. Entire scope: Bt u ti v tr u tin ca khi hoc tp tin. - Lnh Replace...: Dng tm kim mt on vn bn no , v t ng thay bng mt on vn bn khc, hp thoi replace nh sau:
- Lnh Search again : Dng thc hin li vic tm kim. - Cc lnh cn li trn menu Search, cc bn s tm hiu thm khi thc hnh trc tip trn my tnh. II.7.4. Cc lnh trn menu Run (Alt -R) - Lnh Run : Dng thc thi hay "chy" mt chng trnh. - Lnh Step over : Dng "chy" chng trnh tng bc. - Lnh Trace into : Dng chy chng trnh tng bc. Khc vi lnh Step over ch: Lnh Step over khng cho chng ta xem tng bc "chy" trong chng trnh con, cn lnh Trace into cho chng ta xem tng bc trong chng trnh con.
Trang 19
Lp trnh cn bn
- Cc lnh cn li, cc bn s tm hiu thm khi thc hnh trn my. II.7.5. Cc lnh trn menu Compile (Alt C) - Lnh Complie: Bin dch mt chng trnh. - Lnh Make , Build, : Cc lnh ny bn s tm hiu thm khi thc hnh trc tip trn my tnh. - Lnh Information : Dng hin th cc thng tin v chng trnh, Mode, mi trng .
II.7.6. Cc lnh trn menu Debug (Alt-D) Trn menu Debug bao gm mt s lnh gip ngi lp trnh "g ri" chng trnh . Ngi lp trnh s dng chc nng "g ri" khi gp mt s "li" v thut ton, s dng bin nh - Lnh Breakpoints: Dng t "im dng" trong chng trnh. Khi chng trnh thc thi n "im dng th n s dng li" . - Lnh Watch : Dng m mt ca s hin th kt qu trung gian ca mt bin nh no khi chy chng trnh tng bc. - Lnh Evaluate/Modify: Bn s tm hiu khi thc hnh trc tip trn my. II.7.7. Cc lnh trn menu Project (Alt- P) Trn menu Project bao gm cc lnh lin quan n d n nh : ng, m, thm , xa cc mc, II.7.8. Cc lnh trn menu Option (Alt -O) Trn menu Option bao gm cc lnh gip ngi lp trnh thit t mt s t chn khi chy chng trnh. Thng thng, ngi lp trnh khng cn phi thit t li cc t chn. - Lnh Compiler ...: Dng thit t li mt s thng s khi bin dch chng trnh nh hnh sau Phn trnh by di y thuc v 3 mc: Directories, Enviroment v Save; cc phn khc sinh vin t tm hiu. - Lnh Directories...: Dng t li ng dn tm n cc tp tin cn thit khi bin dch chng trnh nh hnh sau:
Trang 20
Lp trnh cn bn
Include directory: Th mc cha cc tp tin m chng ta mun a vo chng trnh (cc tp tin .h trong dng #include). Library directory : Th mc cha cc tp tin th vin ( cc tp tin .Lib) Output directory: Th mc cha cc tp tin i tng (c phn m rng l .OBJ), tp tin thc thi (.exe) khi bin dch chng trnh. Source directory: Th mc cha cc tp tin ngun (c phn m rng l .obj, .lib). - Lnh Environment: dng thit lp mi trng lm vic nh: Reference: Cc tham chiu. Editor: Mi trng son tho gm: to tp tin d phng khi c s chnh sa (create backup file), ch vit (insert mode), t ng tht u dng (indent), i mu t kha (Syntax highlighting) c bit, trong phn ny l thit lp phn m rng mc nh (Default Extension) ca tp tin chng trnh l C hay CPP (C Plus Plus: C++).
Mouse...: t chut. Colors: t mu. II.7.9. Cc lnh trn menu Window (Alt- W) Trn menu Window bao gm cc lnh thao tc n ca s nh: - Lnh Cascade : Dng sp xp cc ca s. - Lnh Close all : Dng ng tt c cc ca s. - Lnh Zoom: Dng phng to/ thu nh ca s. - Cc lnh Tile, Refresh display, Size/ Move, Next, Previous, Close, List...: Cc bn s tm hiu thm khi thc hnh trc tip trn my tnh. II.7.10. Cc lnh trn menu Help (Alt- H) Trn menu Help bao gm cc lnh gi tr gip khi ngi lp trnh cn gip mt s vn no nh: C php cu lnh, cch s dng cc hm c sn - Lnh Contents: Hin th ton b ni dung ca phn help.
Trang 21
Lp trnh cn bn
- Lnh Index : Hin th bng tm kim theo ch mc. - Cc lnh cn li, bn s tm hiu khi thc hnh trn my.
Trang 22
Lp trnh cn bn
I. B CH VIT TRONG C
B ch vit trong ngn ng C bao gm nhng k t, k hiu sau: (phn bit ch in hoa v in thng): 26 ch ci latinh ln A,B,C...Z 26 ch ci latinh nh a,b,c ...z. 10 ch s thp phn 0,1,2...9. Cc k hiu ton hc: +, -, *, /, =, <, >, (, ) Cc k hiu c bit: :. , ; " ' _ @ # $ ! ^ [ ] { } ... Du cch hay khong trng.
Lp trnh cn bn
khng thuc v chng trnh (khi bin dch phn ny b b qua). Trong ngn ng lp trnh C, ni dung ch thch phi c vit trong cp du /* v */. V d :
#include <stdio.h> #include<conio.h> int main () { char ten[50]; /* khai bao bien ten kieu char 50 ky tu */ /*Xuat chuoi ra man hinh*/ printf(Xin cho biet ten cua ban !); scanf(%s,ten); /*Doc vao 1 chuoi la ten cua ban*/ printf(Xin chao ban %s\n ,ten); printf(Chao mung ban den voi Ngon ngu lap trinh C); /*Dung chuong trinh, cho go phim*/ getch(); return 0; }
Lp trnh cn bn
3 short int T -32,768 n 32,767 4 int T -32,768 n 32,767 Kiu enum, short int, int : Lu cc s nguyn t -32768 n 32767. S dng bit bn tri nht lm bit du. => Nu gn gi tr >32767 cho bin c 1 trong 3 kiu trn th gi tr ca bin ny c th l s m. Kiu unsigned int: Kiu unsigned int lu cc s nguyn dng t 0 n 65535. IV.1.3. Kiu s nguyn 4 byte (32 bits) Kiu s nguyn 4 bytes hay cn gi l s nguyn di (long) gm c 2 kiu sau: STT Kiu d liu Min gi tr (Domain) 1 unsigned long T 0 n 4,294,967,295 2 long T -2,147,483,648 n 2,147,483,647 Kiu long : Lu cc s nguyn t -2147483658 n 2147483647. S dng bit bn tri nht lm bit du. => Nu gn gi tr >2147483647 cho bin c kiu long th gi tr ca bin ny c th l s m. Kiu unsigned long: Kiu unsigned long lu cc s nguyn dng t 0 n 4294967295
V. Tn v hng trong C
V.1 Tn (danh biu)
Tn hay cn gi l danh biu (identifier) c dng t cho chng trnh, hng, kiu, bin, chng trnh con... Tn c hai loi l tn chun v tn do ngi lp trnh t. Tn chun l tn do C t sn nh tn kiu: int, char, float,; tn hm: sin, cos... Tn do ngi lp trnh t t dng trong chng trnh ca mnh. S dng b ch ci, ch s v du gch di (_) t tn, nhng phi tun th quy tc: Bt u bng mt ch ci hoc du gch di. Khng c khong trng gia tn.
Trang 25
Lp trnh cn bn
Khng c trng vi t kha. di ti a ca tn l khng gii hn, tuy nhin ch c 31 k t u tin l c ngha. Khng cm vic t tn trng vi tn chun nhng khi ngha ca tn chun khng cn gi tr na. V d: tn do ngi lp trnh t: Chieu_dai, Chieu_Rong, Chu_Vi, Dien_Tich Tn khng hp l: Do Dai, 12A2,
0345=229 , 020=16
Trang 26
Lp trnh cn bn
- Hng s nguyn 2 byte (int) h thp lc phn: L kiu s nguyn s dng 10 k s t 0 n 9 v 6 k t A, B, C, D, E ,F biu din mt s nguyn. K t gi tr A 10 B 11 C 12 D 13 E 14 F 15 Cch biu din: 0x<cc k s t 0 n 9 v 6 k t t A n F> V d: 0x345 (s 345 trong h 16) 0x20 (s 20 trong h 16) 0x2A9 (s 2A9 trong h 16) Cch tnh gi tr thp phn ca s thp lc phn nh sau: S thp lc phn : 0xdndn-1dn-2d1d0 ( di t 0 n 9 hoc A n F) => Gi tr thp phn= d i *16 i
i =0 n
0x345=827 , 0x20=32 , 0x2A9= 681 - Hng s nguyn 4 byte (long): S long (s nguyn di) c biu din nh s int trong h thp phn v km theo k t l hoc L. Mt s nguyn nm ngoi min gi tr ca s int ( 2 bytes) l s long ( 4 bytes). V d: 45345L hay 45345l hay 45345 - Cc hng s cn li: Vit nh cch vit thng thng (khng c du phn cch gia 3 s) V d: 12 (mi hai) 12.45 (mi hai chm 45) 1345.67 (mt ba trm bn mi lm chm su mi by) V.2.3. Hng k t Hng k t l mt k t ring bit c vit trong cp du nhy n (). Mi mt k t tng ng vi mt gi tr trong bng m ASCII. Hng k t cng c xem nh tr s nguyn. V d: a, A, 0, 9 Chng ta c th thc hin cc php ton s hc trn 2 k t (thc cht l thc hin php ton trn gi tr ASCII ca chng) V.2.4. Hng chui k t Hng chui k t l mt chui hay mt xu k t c t trong cp du nhy kp (). V d: Ngon ngu lap trinh C, Khoa CNTT-DHCT, NVLinh-DVHieu Ch : 1. Mt chui khng c ni dung c gi l chui rng.
Trang 27
Lp trnh cn bn
2. Khi lu tr trong b nh, mt chui c kt thc bng k t NULL (\0: m Ascii l 0). 3. biu din k t c bit bn trong chui ta phi thm du \ pha trc. V d: Im a student phi vit I\m a student Day la ky tu dac biet phi vit Day la ky tu \dac biet\
Lu : kt thc 1 lnh phi c du chm phy (;) cui lnh. VI.1.2. V tr khai bo bin trong C Trong ngn ng lp trnh C, ta phi khai bo bin ng v tr. Nu khai bo (t cc bin) khng ng v tr s dn n nhng sai st ngoi mun m ngi lp trnh khng lng trc (hiu ng l). Chng ta c 2 cch t v tr ca bin nh sau: a) Khai bo bin ngoi: Cc bin ny c t bn ngoi tt c cc hm v n c tc dng hay nh hng n ton b chng trnh (cn gi l bin ton cc). V d:
int i; float int main() { } /*Bien ben ngoai */ pi; /*Bien ben ngoai*/
b) Khai bo bin trong: Cc bin c t bn trong hm, chng trnh chnh hay mt khi lnh. Cc bin ny ch c tc dng hay nh hng n hm, chng trnh hay khi lnh cha n. Khi khai bo bin, phi t cc bin ny u ca khi lnh, trc cc lnh gn, V d 1:
#include <stdio.h> #include<conio.h> int bienngoai; /*khai bao bien ngoai*/ int main () { int j,i; /*khai bao bien ben trong chuong trinh chinh*/ clrscr(); i=1; j=2; bienngoai=3;
Trang 28
Lp trnh cn bn
printf("\n Gia7 tri cua i la %d",i); /*%d l s nguyn, s bit sau */ printf("\n Gia tri cua j la %d",j); printf("\n Gia tri cua bienngoai la %d",bienngoai); getch(); return 0; }
V d 2:
#include <stdio.h> #include<conio.h> int main () { int i, j; clrscr(); i=4; j=5; printf("\n Gia tri cua i la printf("\n Gia tri cua j la if(j>i) { int hieu=j-i; printf("\n Hieu so cua } else { int hieu=i-j printf("\n Gia tri cua } getch(); return 0; }
/*Bien ben trong*/ %d",i); %d",j); /*Bien ben trong */ j tru i la %d",hieu);
Lp trnh cn bn
% Chia ly phn d -Gim 1 n v ++ Tng 1 n v Tng v gim (++ & --) Ton t ++ thm 1 vo ton hng ca n v tr bt 1. Ni cch khc: x = x + 1 ging nh ++x x = x 1 ging nh x C 2 ton t tng v gim u c th tin t (t trc) hay hu t (t sau) ton hng. V d: x = x + 1 c th vit x++ (hay ++x) Tuy nhin gia tin t v hu t c s khc bit khi s dng trong 1 biu thc. Khi 1 ton t tng hay gim ng trc ton hng ca n, C thc hin vic tng hay gim trc khi ly gi tr dng trong biu thc. Nu ton t i sau ton hng, C ly gi tr ton hng trc khi tng hay gim n. Tm li: x = 10 y = ++x //y = 11 Tuy nhin: x = 10 x = x++ //y = 10 Th t u tin ca cc ton t s hc: ++ -- sau l * / % ri mi n + VI.2.2 Cc ton t quan h v cc ton t Logic tng chnh ca ton t quan h v ton t Logic l ng hoc sai. Trong C mi gi tr khc 0 c gi l ng, cn sai l 0. Cc biu thc s dng cc ton t quan h v Logic tr v 0 nu sai v tr v 1 nu ng. ngha Cc ton t quan h > Ln hn >= Ln hn hoc bng < Nh hn <= Nh hn hoc bng == Bng != Khc Cc ton t Logic && AND || OR ! NOT Bng chn tr cho cc ton t Logic: P q p&&q p||q 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 1
Trang 30
Ton t
!p 1 1 0 0
Lp trnh cn bn
Cc ton t quan h v Logic u c u tin thp hn cc ton t s hc. Do mt biu thc nh: 10 > 1+ 12 s c xem l 10 > (1 + 12) v kt qu l sai (0). Ta c th kt hp vi ton t li vi nhau thnh biu thc nh sau: 10>5&&!(10<9)||3<=4 Kt qu l ng Th t u tin ca cc ton t quan h l Logic Cao nht: ! > >= < <= == != && Thp nht: || VI.2.3 Cc ton t Bitwise: Cc ton t Bitwise ni n kim tra, gn hay s thay i cc Bit tht s trong 1 Byte ca Word, m trong C chun l cc kiu d liu v bin char, int. Ta khng th s dng cc ton t Bitwise vi d liu thuc cc kiu float, double, long double, void hay cc kiu phc tp khc.
Ton t ngha & AND | OR ^ XOR ~ NOT >> Dch phi << Dch tri Bng chn tr ca ton t ^ (XOR) p q 0 0 0 1 1 0 1 1 VI.2.4 Ton t ? cng vi :
p^q 0 1 1 0
C c mt ton t rt mnh v thch hp thay th cho cc cu lnh ca IfThen-Else. C php ca vic s dng ton t ? l: E1 ? E2 : E3 Trong E1, E2, E3 l cc biu thc. ngha: Trc tin E1 c c lng, nu ng E2 c c lng v n tr thnh gi tr ca biu thc; nu E1 sai, E2 c c lng v tr thnh gi tr ca biu thc. V d:
X = 10 Y = X > 9 ? 100 : 200
Trang 31
Lp trnh cn bn
VII.2.5 Ton t con tr & v * Mt con tr l a ch trong b nh ca mt bin. Mt bin con tr l mt bin c khai bo ring cha mt con tr n mt i tng ca kiu ch ra n. Ta s tm hiu k hn v con tr trong chng v con tr. y, chng ta s cp ngn gn n hai ton t c s dng thao tc vi cc con tr. Ton t th nht l &, l mt ton t quy c tr v a ch b nh ca h s ca n. V d: m = &count t vo bin m a ch b nh ca bin count. Chng hn, bin count v tr b nh 2000, gi s count c gi tr l 100. Sau cu lnh trn m s nhn gi tr 2000. Ton t th hai l *, l mt b sung cho &; y l mt ton t quy c tr v gi tr ca bin c cp pht ti a ch theo sau . V d: q = *m S t gi tr ca count vo q. By gi q s c gi tr l 100 v 100 c lu tr ti a ch 2000. VI.2.6 Ton t du phy , Ton t du , c s dng kt hp cc biu thc li vi nhau. Bn tri ca ton t du , lun c xem l kiu void. iu c ngha l biu thc bn phi tr thnh gi tr ca tng cc biu thc c phn cch bi du phy. V d: x = (y=3,y+1); Trc ht gn 3 cho y ri gn 4 cho x. Cp du ngoc n l cn thit v ton t du , c u tin thp hn ton t gn. VI.2.7 Xem cc du ngoc n v cp du ngoc vung l ton t Trong C, cp du ngoc n l ton t tng u tin ca cc biu thc bn trong n. Cc cp du ngoc vung thc hin thao tc truy xut phn t trong mng. VI.2.8 Tng kt v u tin Cao nht () [] ! ~ ++ -- (Kiu) * & */% +<< >> < <= > >= & ^
Trang 32
Lp trnh cn bn
| && || ?: = += -= *= /= ,
C nhiu php gn khc nhau, i khi ta c th s dng vit tt trong C na. Chng hn: x = x + 10 c vit thnh x +=10 Ton t += bo cho chng trnh dch bit tng gi tr ca x ln 10. Cch vit ny lm vic trn tt c cc ton t nh phn (php ton hai ngi) ca C. Tng qut: (Bin) = (Bin) c th c vit: (Bin) (Ton t)= (Biu thc) (Ton t) (Biu thc)
Trang 33
Lp trnh cn bn
Ch th th hai rt hay c s dng trong cc tp tin th vin (header file) c nh ngha trc v thng c khai thc bi cc lp trnh vin trong vic nh ngha cc k hiu nh l: #define NB_COUPS_MAX 100 #define SIZE 25
nh ngha kiu d liu (phn ny khng bt buc): dng t tn li cho mt kiu d liu no gi nh hay t 1 kiu d liu cho ring mnh da trn cc kiu d liu c. C php: typedef <Tn kiu c> <Tn kiu mi> V d: typedef int SoNguyen; // Kiu SoNguyen l kiu int Khai bo cc prototype (tn hm, cc tham s, kiu kt qu tr v, ca cc hm s ci t trong phn sau, phn ny khng bt buc): phn ny ch l cc khai bo u hm, khng phi l phn nh ngha hm. Khai bo cc bin ngoi (cc bin ton cc) phn ny khng bt buc: phn ny khai bo cc bin ton cc c s dng trong c chng trnh.
Chng trnh chnh phn ny bt buc phi c <Kiu d liu tr v> main() { Cc khai bo cc b trong hm main: Cc khai bo ny ch tn ti trong hm m thi, c th l khai bo bin hay khai bo kiu. Cc cu lnh dng nh ngha hm main return <kt qu tr v>; // Hm phi tr v kt qu } Ci t cc hm <Kiu d liu tr v> function1( cc tham s) { Cc khai bo cc b trong hm. Cc cu lnh dng nh ngha hm Lu : Mt s tp tin header thng dng: return <kt qu tr v>; } Trang 34
Lp trnh cn bn
Mt chng trnh C bt u thc thi t hm main (thng thng l t cu lnh u tin n cu lnh cui cng).
#include <Tn tp tin> // Tn tp tin c t trong du <> hay #include Tn ng dn Menu Option ca Turbo C c mc INCLUDE DIRECTORIES, mc ny dng ch nh cc tp tin th vin c lu tr trong th mc no. Nu ta dng #include<Tn tp tin> th Turbo C s tm tp tin th vin trong th mc c xc nh trong INCLUDE DIRECTORIES. V d: include <stdio.h> Nu ta dng #includeTn ng dn th ta phi ch r tn u, tn th mc v tp tin th vin. V d: #includeC:\\TC\\math.h Trong trng hp tp tin th vin nm trong th mc hin hnh th ta ch cn a tn tp tin th vin. V d: #includemath.h. V d:
Trang 35
Lp trnh cn bn
#include <stdio.h> #include <conio.h> #include math.h
VII.4.2. Ch th #define nh ngha hng s C php: #define <Tn hng> <Gi tr> V d: #define MAXINT 32767 VII.4.3. Khai bo cc prototype ca hm C php: <Kiu kt qu tr v> V d: Tn hm (danh sch i s)
long giaithua( int n); //Hm tnh giai tha ca s nguyn n double x_mu_y(float x, float y); /*Hm tnh x m y*/
VII.4.4. Cu trc ca hm bnh thng C php: <Kiu kt qu tr v> Tn hm (cc i s) { Cc khai bo v cc cu lnh nh ngha hm return kt qu; } V d:
int tong(int x, int y) /*Hm tnh tng 2 s nguyn*/ { return (x+y); } float tong(float x, float y) /*Hm tnh tng 2 s thc*/ { return (x+y); }
VII.4.5. Cu trc ca hm main Hm main chnh l chng trnh chnh, gm cc lnh x l, cc li gi cc hm khc. C php: <Kt qu tr v> main( i s) { Cc khai bo v cc cu lnh nh ngha hm return <kt qu>; } V d 1:
int main() { printf(Day la chuong trinh chinh); getch();
Trang 36
Lp trnh cn bn
return 0; }
V d 2:
int main() { int a=5, b=6,c; float x=3.5, y=4.5,z; printf(Day la chuong trinh chinh); c=tong(a,b); printf(\n Tong cua %d va %d la %d,a,b,c); z=tong(x,y); printf(\n Tong cua %f v %f l %f, x,y,z); getch(); return 0; }
VIII. BI TP
Bi 1: Biu din cc hng s nguyn 2 byte sau y di dng s nh phn, bt phn, thp lc phn a)12 b) 255 c) 31000 d) 32767 e) -32768 Bi 2: Biu din cc hng k t sau y di dng s nh phn, bt phn. a) A b) a c) Z d) z
Trang 37