You are on page 1of 4

HNG DN PHONG CCH LP TRNH NGN NG C TS.

Nguyn Vn Vinh
Ti liu ny trnh by v phong cch lp trnh cn phi tun th khi lm bi tp trong kha hc Tin hc c s 4 Cu trc ca 1 chng trnh C Cch t tn Layout if, while Cch khai bo Cc hm Structs Cch ch thch Cc la chn khi bin dch Li cm n 1. Cu trc ca 1 chng trnh a) Th t trnh by trong 1 chng trnh C nh sau: Ch thch u tp Cc tp cn include (#included files) #defines Local struct typedefs Khai bo nguyn mu hm cc b (Local prototypes) Cc bin ton cc (ch dng khi thc s cn thit) Hm main Cc hm cc b b) Trong mt tp header (.h), th t trnh by nh sau: Ch thch u tp Cc file cn include #defines struct typedefs Cc nguyn mu hm Cc bin ton cc (ch dng khi thc s cn thit)

c) Ch thch u tp nn gm c: / / Tn, M sinh vin / / Ngy thng / / Mc ch ca file ny ( tm tt trong 1 dng) / / Mt s gii thch khc nu cn thit, bn quyn,. 2. Cch t tn Tt c cc tn cn phi c ngha Tn cc hm v cc bin c t theo mu varName hoc var_name Hng s phi vit ch in hoa, v d LINE_LENGTH Cc ch ci n nh i, j, k c s dng trong vng lp v ch s ca mng. 3. Layout Tht u dng bng du cch trng ch khng dng tab Tht u dng 2, 3, hoc 4 du cch trng ( phi thng nht dng hoc 2, hoc 3, hoc 4 trong tt c cc file) Phi dng tht u dng phn bit gia cc khi lnh v mc lnh, khng ch nn da vo { } C th thm 1 du cch trng vo trc hoc sau du ( trong danh sch tham s ca hm. t du {} nh di y: int eatFood( int age ){ Printf( Yummy ); } 1 dng khng qu 72 k t Khng c c cch trng trc du phy trong danh sch tham s, t nht l 1 cch trng sau du phy trong danh sch tham s. Ch c vit 1 cu lnh trn 1 dng (tr nhng trng hp ngoi l) 4. If, while Lun lun dng {}, k c vi khi lnh ch gm 1 lnh t du { sau iu kin (khng t dng tip theo), v d: while ( hits == 0 ){ ...; } Chui else if v else c trnh by nh minh ha di y:

if( hits ... ... } else if( ... } else if( ... } else { ... ... }

== 0 ) { ; ; hits < 10 ) { ; hits < 50 ) { ;

; ;

Khng dng du = nh l iu kin so snh bng (phi l == ) 5. Khai bo Cc bin c khai bo trn cng ca thn hm Khai bo 1 bin trn 1 dng nu nh c gn gi tr khi to khi khai bo; ch s dng khai bo nhiu bin trn cng 1 dng (cc bin cch nhau bng du phy) nu nh chng c quan h vi nhau ( v d int row, col;) Trong 1 khi cc nh ngha c lin quan n nhau, align sao cho cc tn, kiu d liu v khi to thng hng nhau. Cc bin nn c khi to gn ch m chng c s dng ln u tin. Tt c struct v enum c nh ngha vi typedef. Tt c cc nguyn mu hm (prototype) v typedef cho hm v kiu d liu m hm v kiu d liu ny ch c dng cc b trong file nn c t u ca file. Tt c cc nguyn mu hm (prototype) v typedef cho hm v kiu d liu c s dng nhiu file nn c t 1 file .h, file .h ny s c include trong file m cc hm ca n c nh ngha v trong nhng file m cc hm hoc kiu d liu ca n c dng. 6. Hm Kiu tr v ca hm c t cng dng vi tn hm Hm nn c vit ngn gn, nn chia thnh cc chc nng nh. Mi hm nn thc hin mt mc ch c th no , tn hm phi c t sao cho phn nh c mc ch ca hm.

Hm main l hm u tin trong file Tt c cc nguyn mu hm (prototype) trong file c khai bo pha trn hm main. Hm phi c cc i s; nu hm khng c i s th phi vit ( void ) trong nguyn mu hm. 7. Struct typedef nn c s dng khi dng struct, t kha struct khng nn xut hin trong thn chng trnh. typedef nn c tn ging vi tn trong struct nhng k t u vit hoa. V d typedef struct node Node; struct node { int val; Node *next; }; 8. Ch thch Sinh vin c t do trong cch vit ch thch, s r rng trong ch thch l iu quan trng nht. Nn s dng kiu ch thch // thay v /* */ Vi chng trnh c nhiu hm, ch thch c th dng cc h thng sinh ti liu t ng nh doxygen nn c s dng. Nn s dng kiu ch thch trn nhiu dng u hm hoc khi lnh, khng nn s dng nhiu ch thch kiu // mt lc. Ch thch c bit quan trng gii thch cc on code kh hiu. Trnh ch thch nhng th qu r rng, v d: x = y + z; // gn x bng tng ca y v z 9. Cc la chn khi bin dch Tr khi c ch ra mt cch r rng, cn li tt c cc chng trnh nn c bin dch vi gcc -Wall Nu sau khi dch, chng trnh chy b chm, bin dch li chng trnh, s dng la chn ti u m: gcc -Wall O (hoc o2 hoc o3 nu mun ti u hn ) 10. Li cm n Ti liu ny c vit da trn hng dn phong cch lp trnh cho cc kha hc nm th nht ti CSE@UNSW (i hc New SothWale ca c).

You might also like