Ãëàâíàÿ ñòðàíèöà Ñëó÷àéíàÿ ñòðàíèöà ÊÀÒÅÃÎÐÈÈ: ÀâòîìîáèëèÀñòðîíîìèÿÁèîëîãèÿÃåîãðàôèÿÄîì è ñàäÄðóãèå ÿçûêèÄðóãîåÈíôîðìàòèêàÈñòîðèÿÊóëüòóðàËèòåðàòóðàËîãèêàÌàòåìàòèêàÌåäèöèíàÌåòàëëóðãèÿÌåõàíèêàÎáðàçîâàíèåÎõðàíà òðóäàÏåäàãîãèêàÏîëèòèêàÏðàâîÏñèõîëîãèÿÐåëèãèÿÐèòîðèêàÑîöèîëîãèÿÑïîðòÑòðîèòåëüñòâîÒåõíîëîãèÿÒóðèçìÔèçèêàÔèëîñîôèÿÔèíàíñûÕèìèÿ×åð÷åíèåÝêîëîãèÿÝêîíîìèêàÝëåêòðîíèêà |
Chng 4
CÊ u tró c c b¶n cñ a chng tr× nh 4.1. Lê i chó thÝ ch: C¸ c lê i b× nh luË n, c¸ c lê i gi¶i thÝ ch cã thÓ ®a vµo ë bÊ t kú chç nµo cñ a chng tr× nh ®Ó cho chng tr× nh dÔ hiÓ u, dÔ ®ä c hn mµ kh«ng lµm ¶nh hë ng ®Õ n c¸ c phÇ n kh¸ c. Lê i gi¶i thÝ ch ®î c ®Æ t gi÷ a hai dÊ u /* vµ */. Trong mé t chng tr× nh cÇ n (vµ lu«n lu«n cÇ n) viÕ t thª m nh÷ ng lê i gi¶i thÝ ch ®Ó chng tr× nh thª m râ rµng, thª m dÔ hiÓ u.
VÝ dô: #include " stdio.h" #include " string.h" #include " alloc.h" #include " process.h" int main() { char *str; /* CÊ p ph¸ t bé nhí cho x©u ký tù */ if ((str = malloc(10)) == NULL) { printf(" Not enough memory to allocate buffer\n"); exit(1); /* KÕ t thó c chng tr× nh nÕ u thiÕ u bé nhí */ } /* copy " Hello" vµo x©u */ strcpy(str, " Hello"); /* HiÓ n thÞ x©u */ printf(" String is %s\n", str);
/* Gi¶i phã ng bé nhí */ free(str); return 0; } 4.2. LÖ nh vµ khè i lÖ nh: 4.2.1. LÖ nh: Mé t biÓ u thø c kiÓ u nh x=0 hoÆ c ++i hoÆ c scanf(...) trë thµnh c©u lÖ nh khi cã ®i kÌ m theo dÊ u; VÝ dô: x=0; ++i; scanf(...); Trong chng tr× nh C, dÊ u; lµ dÊ u hiÖ u kÕ t thó c c©u lÖ nh. 4.2.2. Khè i lÖ nh: Mé t d·y c¸ c c©u lÖ nh ®î c bao bë i c¸ c dÊ u { } gä i lµ mé t khè i lÖ nh. VÝ dô: { a=2; b=3; printf(" \n%6d%6d", a, b); } TURBO C xem khè i lÖ nh cò ng nh mé t c©u lÖ nh riª ng lÎ. Nã i c¸ ch kh¸ c, chç nµo viÕ t ®î c mé t c©u lÖ nh th× ë ®ã cò ng cã quyÒ n ®Æ t mé t khè i lÖ nh.
Khai b¸ o ë ®Ç u khè i lÖ nh: C¸ c khai b¸ o biÕ n vµ m¶ng ch¼ ng nh÷ ng cã thÓ ®Æ t ë ®Ç u cñ a mé t hµm mµ cß n cã thÓ viÕ t ë ®Ç u khè i lÖ nh: { int a, b, c[50]; float x, y, z, t[20][30]; a==b==3; x=5.5; y=a*x; z=b*x; printf(" \n y= %8.2f\n z=%8.2f", y, z); } Sù lå ng nhau cñ a c¸ c khè i lÖ nh vµ ph¹ m vi ho¹ t ®é ng cñ a c¸ c biÕ n vµ m¶ng: Bª n trong mé t khè i lÖ nh l¹ i cã thÓ viÕ t lå ng khè i lÖ nh kh¸ c. Sù lå ng nhau theo c¸ ch nh vË y lµ kh«ng h¹ n chÕ. Khi m¸ y b¾ t ®Ç u lµm viÖ c ví i mé t khè i lÖ nh th× c¸ c biÕ n vµ m¶ng khai b¸ o bª n trong nã mí i ®î c h× nh thµnh vµ ®î c h× nh thµnh vµ ®î c cÊ p ph¸ t bé nhí. C¸ c biÕ n nµy chØ tå n t¹ i trong thê i gian m¸ y lµm viÖ c bª n trong khè i lÖ nh vµ chó ng lË p tø c biÕ n mÊ t ngay sau khi m¸ y ra khá i khè i lÖ nh. VË y: Gi¸ trÞ cñ a mé t biÕ n hay mé t m¶ng khai b¸ o bª n trong mé t khè i lÖ nh kh«ng thÓ ®a ra sö dô ng ë bÊ t kú chç nµo bª n ngoµi khè i lÖ nh ®ã. ë bÊ t kú chç nµo bª n ngoµi mé t khè i lÖ nh ta kh«ng thÓ can thiÖ p ®Õ n c¸ c biÕ n vµ c¸ c m¶ng ®î c khai b¸ o bª n trong khè i lÖ nh NÕ u bª n trong mé t khè i ta dï ng mé t biÕ n hay mé t m¶ng cã tª n lµ a th× ®iÒ u nµy kh«ng lµm thay ®æ i gi¸ trÞ cñ a mé t biÕ n kh¸ c cò ng cã tª n lµ a (nÕ u cã) ®î c dï ng ë ®©u ®ã bª n ngoµi khè i lÖ nh nµy. NÕ u cã mé t biÕ n ®· ®î c khai b¸ o ë ngoµi mé t khè i lÖ nh vµ kh«ng trï ng tª n ví i c¸ c biÕ n khai b¸ o bª n trong khè i lÖ nh nµy th× biÕ n ®ã cò ng cã thÓ sö dô ng c¶ bª n trong cò ng nh bª n ngoµi khè i lÖ nh. VÝ dô: XÐ t ®o¹ n chng tr× nh sau: { int a=5, b=2; { int a=4; b=a+b; printf(" \n a trong =%3d b=%3d", a, b); } printf(" \n a ngoai =%3d b=%3d", a, b); } Khi ®ã ®o¹ n chng tr× nh sÏ in kÕ t qu¶ nh sau: a trong =4 b=6 a ngoµi =5 b=6 Do tÝ nh chÊ t biÕ n a trong vµ ngoµi khè i lÖ nh. 4.3. CÊ u tró c c b¶n cñ a chng tr× nh: CÊ u tró c chng tr× nh vµ hµm lµ mé t trong c¸ c vÊ n ®Ò quan trä ng cñ a C. VÒ hµm ta sÏ cã mé t chng nã i tØ mû vÒ nã. ë ®©y ta chØ ®a ra mé t sè qui t¾ c chung: Hµm lµ mé t ®n vÞ ®é c lË p cñ a chng tr× nh. TÝ nh ®é c lË p cñ a hµm thÓ hiÖ n ë hai ®iÓ m: Kh«ng cho phÐ p x©y dù ng mé t hµm bª n trong c¸ c hµm kh¸ c. Mç i hµm cã c¸ c biÕ n, m¶ng.. riª ng cñ a nã vµ chó ng chØ ®î c sö dô ng né i bé bª n trong hµm. Nã i c¸ ch kh¸ c hµm lµ ®n vÞ cã tÝ nh chÊ t khÐ p kÝ n. Mé t chng tr× nh bao gå m mé t hoÆ c nhiÒ u hµm. Hµm main() lµ thµnh phÇ n b¾ t bué c cñ a chng tr× nh. Chng tr× nh b¾ t ®Ç u thù c hiÖ n c¸ c c©u lÖ nh ®Ç u tiª n cñ a hµm main() vµ kÕ t thó c khi gÆ p dÊ u } cuè i cï ng cñ a hµm nµy. Khi chng tr× nh lµm viÖ c, m¸ y cã thÓ ch¹ y tõ hµm nµy sang hµm kh¸ c. C¸ c chng tr× nh C ®î c tæ chø c theo mÉ u: ..... hµm 1 ..... hµm 2 .....
..... hµm n
Bª n ngoµi c¸ c hµm ë c¸ c vÞ trÝ (.....) lµ chç ®Æ t: c¸ c to¸ n tö #include... (dï ng ®Ó khai b¸ o sö dô ng c¸ c hµm chuÈ n), to¸ n tö #define... (dï ng ®Ó ®Þ nh nghÜ a c¸ c h»ng), ®Þ nh nghÜ a kiÓ u d÷ liÖ u b»ng typedef, khai b¸ o c¸ c biÕ n ngoµi, m¶ng ngoµi.... ViÖ c truyÒ n d÷ liÖ u vµ kÕ t qu¶ tõ hµm nµy sang hµm kh¸ c ®î c thù c hiÖ n theo mé t trong hai c¸ ch: Sö dô ng ®è i cñ a hµm. Sö dô ng biÕ n ngoµi, m¶ng ngoµi... VË y nã i tã m l¹ i cÊ u truc c b¶n cñ a chng tr× nh nh sau: · C¸ c #include · C¸ c #define · Khai b¸ o c¸ c ®è i tî ng d÷ liÖ u ngoµi (biÕ n, m¶ng, cÊ u tró c vv..). · Khai b¸ o nguyª n mÉ u c¸ c hµm. · Hµm main(). · §Þ nh nghÜ a c¸ c hµm (hµm main cã thÓ ®Æ t sau hoÆ c xen vµo gi÷ a c¸ c hµm kh¸ c).
VÝ dô: Chng tr× nh tÝ nh x lò y thõ a y rç i in ra m¸ y in kÕ t qu¶: #include " stdio.h" #include " math.h" main() { double x, y, z; printf(" \n Nhap x va y"); scanf(" %lf%lf", & x, & y); z=pow(x, y); /* hµm lÊ y luü thõ a y luü thõ a x */ fprintf(stdprn, " \n x= %8.2lf \n y=%8.2lf \n z=%8.2lf", x, y, z); } 4.4. Mé t sè qui t¾ c cÇ n nhí khi viÕ t chng tr× nh: Qui t¾ c ®Ç u tiª n cÇ n nhí lµ: Mç i c©u lÖ nh cã thÓ viÕ t trª n mé t hay nhiÒ u dß ng nhng ph¶i kÕ t thó c b»ng dÊ u; Qui t¾ c thø hai lµ: C ¸ c lê i gi¶i thÝ ch cÇ n ®î c ®Æ t gi÷ a c¸ c dÊ u /* vµ */ vµ cã thÓ ®î c viÕ t Trª n mé t dß ng Trª n nhiÒ u dß ng Trª n phÇ n cß n l¹ i cñ a dß ng Qui t¾ c thø ba lµ: Trong chng tr× nh, khi ta sö dô ng c¸ c hµm chuÈ n, vÝ dô nh printf(), getch(),... mµ c¸ c hµm nµy l¹ i chø a trong file stdio.h trong th mô c cñ a C, v× vË y ë ®Ç u chng tr× nh ta ph¶i khai b¸ o sö dô ng; #include " stdio.h " Qui t¾ c thø t lµ: Mé t chng tr× nh cã thÓ chØ cã mé t hµm chÝ nh (hµm main()) hoÆ c cã thÓ cã thª m vµi hµm kh¸ c.
|