Ãëàâíàÿ ñòðàíèöà Ñëó÷àéíàÿ ñòðàíèöà ÊÀÒÅÃÎÐÈÈ: ÀâòîìîáèëèÀñòðîíîìèÿÁèîëîãèÿÃåîãðàôèÿÄîì è ñàäÄðóãèå ÿçûêèÄðóãîåÈíôîðìàòèêàÈñòîðèÿÊóëüòóðàËèòåðàòóðàËîãèêàÌàòåìàòèêàÌåäèöèíàÌåòàëëóðãèÿÌåõàíèêàÎáðàçîâàíèåÎõðàíà òðóäàÏåäàãîãèêàÏîëèòèêàÏðàâîÏñèõîëîãèÿÐåëèãèÿÐèòîðèêàÑîöèîëîãèÿÑïîðòÑòðîèòåëüñòâîÒåõíîëîãèÿÒóðèçìÔèçèêàÔèëîñîôèÿÔèíàíñûÕèìèÿ×åð÷åíèåÝêîëîãèÿÝêîíîìèêàÝëåêòðîíèêà |
Chng 3
BiÓ u thø c
To¸ n h¹ ng cã thÓ xem lµ mé t ®¹ i lî ng cã mé t gi¸ trÞ nµo ®ã. To¸ n h¹ ng bao gå m h»ng, biÕ n, phÇ n tö m¶ng vµ hµm. BiÓ u thø c lË p nª n tõ c¸ c to¸ n h¹ ng vµ c¸ c phÐ p tÝ nh ®Ó t¹ o nª n nh÷ ng gi¸ trÞ mí i. BiÓ u thø c dï ng ®Ó diÔ n ®¹ t mé t c«ng thø c, mé t qui tr× nh tÝ nh to¸ n, v× vË y nã lµ mé t thµnh phÇ n kh«ng thÓ thiÕ u trong chng tr× nh. 3.1. BiÓ u thø c: BiÓ u thø c lµ mé t sù kÕ t hî p gi÷ a c¸ c phÐ p to¸ n vµ c¸ c to¸ n h¹ ng ®Ó diÔ n ®¹ t mé t c«ng thø c to¸ n hä c nµo ®ã. Mç i biÓ u thø c cã sÏ cã mé t gi¸ trÞ. Nh vË y h»ng, biÕ n, phÇ n tö m¶ng vµ hµm cò ng ®î c xem lµ biÓ u thø c. Trong C, ta cã hai kh¸ i niÖ m vÒ biÓ u thø c: BiÓ u thø c g¸ n. BiÓ u thø c ®iÒ u kiÖ n. BiÓ u thø c ®î c ph©n lo¹ i theo kiÓ u gi¸ trÞ: nguyª n vµ thù c. Trong c¸ c mÖ nh ®Ò logic, biÓ u thø c ®î c ph©n thµnh ®ó ng (gi¸ trÞ kh¸ c 0) vµ sai (gi¸ trÞ b»ng 0). BiÓ u thø c thê ng ®î c dï ng trong: VÕ ph¶i cñ a c©u lÖ nh g¸ n. Lµm tham sè thù c sù cñ a hµm. Lµm chØ sè. Trong c¸ c to¸ n tö cñ a c¸ c cÊ u tró c ®iÒ u khiÓ n. Tí i ®©y, ta ®· cã hai kh¸ i niÖ m chÝ nh t¹ o nª n biÓ u thø c ®ã lµ to¸ n h¹ ng vµ phÐ p to¸ n. To¸ n h¹ ng gå m: h»ng, biÕ n, phÇ n tö m¶ng vµ hµm trí c ®©y ta ®· xÐ t. Dí i ®©y ta sÏ nã i ®Õ n c¸ c phÐ p to¸ n. Hµm sÏ ®î c ®Ò cË p trong chng 6. 3.2. LÖ nh g¸ n vµ biÓ u thø c: BiÓ u thø c g¸ n lµ biÓ u thø c cã d¹ ng: v=e Trong ®ã v lµ mé t biÕ n (hay phÇ n tö m¶ng), e lµ mé t biÓ u thø c. Gi¸ trÞ cñ a biÓ u thø c g¸ n lµ gi¸ trÞ cñ a e, kiÓ u cñ a nã lµ kiÓ u cñ a v. NÕ u ®Æ t dÊ u; vµo sau biÓ u thø c g¸ n ta sÏ thu ®î c phÐ p to¸ n g¸ n cã d¹ ng: v=e; BiÓ u thø c g¸ n cã thÓ sö dô ng trong c¸ c phÐ p to¸ n vµ c¸ c c©u lÖ nh nh c¸ c biÓ u thø c kh¸ c. VÝ dô nh khi ta viÕ t a=b=5; th× ®iÒ u ®ã cã nghÜ a lµ g¸ n gi¸ trÞ cñ a biÓ u thø c b=5 cho biÕ n a. KÕ t qñ a lµ b=5 vµ a=5. Hoµn toµn tng tù nh: a=b=c=d=6; g¸ n 6 cho c¶ a, b, c vµ d VÝ dô: z=(y=2)*(x=6); { ë ®©y * lµ phÐ p to¸ n nh©n } g¸ n 2 cho y, 6 cho x vµ nh©n hai biÓ u thø c l¹ i cho ta z=12. 3.3. C¸ c phÐ p to¸ n sè hä c: C¸ c phÐ p to¸ n hai ng«i sè hä c lµ
Cã phÐ p to¸ n mé t ng«i - vÝ du -(a+b) sÏ ®¶o gi¸ trÞ cñ a phÐ p cé ng (a+b). VÝ dô: 11/3=3 11%3=2 -(2+6)=-8 C¸ c phÐ p to¸ n + vµ - cã cï ng thø tù u tiª n, cã thø tù u tiª n nhá hn c¸ c phÐ p *, /, % vµ c¶ ba phÐ p nµy l¹ i cã thø tù u tiª n nhá hn phÐ p trõ mé t ng«i. C¸ c phÐ p to¸ n sè hä c ®î c thù c hiÖ n tõ tr¸ i sang ph¶i. Sè u tiª n vµ kh¶ n¨ ng kÕ t hî p cñ a phÐ p to¸ n ®î c chØ ra trong mé t mô c sau nµy 3.4. C¸ c phÐ p to¸ n quan hÖ vµ logic: PhÐ p to¸ n quan hÖ vµ logic cho ta gi¸ trÞ ®ó ng (1) hoÆ c gi¸ trÞ sai (0). Nã i c¸ ch kh¸ c, khi c¸ c ®iÒ u kiÖ n nª u ra lµ ®ó ng th× ta nhË n ®î c gi¸ trÞ 1, tr¸ i l¹ i ta nhË n gi¸ trÞ 0.
C¸ c phÐ p to¸ n quan hÖ lµ:
Bè n phÐ p to¸ n ®Ç u cã cï ng sè u tiª n, hai phÐ p sau cã cï ng sè thø tù u tiª n nhng thÊ p hn sè thø tù cñ a bè n phÐ p ®Ç u. C¸ c phÐ p to¸ n quan hÖ cã sè thø tù u tiª n thÊ p hn so ví i c¸ c phÐ p to¸ n sè hä c, cho nª n biÓ u thø c: i< n-1 ®î c hiÓ u lµ i< (n-1).
C¸ c phÐ p to¸ n logic: Trong C sö dô ng ba phÐ p to¸ n logic: PhÐ p phñ ®Þ nh mé t ng«i!
PhÐ p vµ (AND) & & PhÐ p hoÆ c (OR) ||
C¸ c phÐ p quan hÖ cã sè u tiª n nhá hn so ví i! nhng lí n hn so ví i & & vµ ||, v× vË y biÓ u thø c nh: (a< b)& & (c> d) cã thÓ viÕ t l¹ i thµnh: a< b& & c> d Chó ý: C¶ a vµ b cã thÓ lµ nguyª n hoÆ c thù c.
3.5. PhÐ p to¸ n t¨ ng gi¶m: C ®a ra hai phÐ p to¸ n mé t ng«i ®Ó t¨ ng vµ gi¶m c¸ c biÕ n (nguyª n vµ thù c). To¸ n tö t¨ ng lµ ++ sÏ cé ng 1 vµo to¸ n h¹ ng cñ a nã, to¸ n tö gi¶m -- th× sÏ trõ to¸ n h¹ ng ®i 1. VÝ dô: n=5 ++n Cho ta n=6 --n Cho ta n=4 Ta cã thÓ viÕ t phÐ p to¸ n ++ vµ -- trí c hoÆ c sau to¸ n h¹ ng nh sau: ++n, n++, --n, n--. Sù kh¸ c nhau cñ a ++n vµ n++ ë chç: trong phÐ p n++ th× t¨ ng sau khi gi¸ trÞ cñ a nã ®· ®î c sö dô ng, cß n trong phÐ p ++n th× n ®î c t¨ ng trí c khi sö dô ng. Sù kh¸ c nhau gi÷ a n-- vµ --n cò ng nh vË y. VÝ dô: n=5 x=++n Cho ta x=6 vµ n=6 x=n++ Cho ta x=5 vµ n=6
3.6. Thø tù u tiª n c¸ c phÐ p to¸ n: C¸ c phÐ p to¸ n cã ®é u tiª n kh¸ c nhau, ®iÒ u nµy cã ý nghÜ a trong cï ng mé t biÓ u thø c sÏ cã mé t sè phÐ p to¸ n nµy ®î c thù c hiÖ n trí c mé t sè phÐ p to¸ n kh¸ c. Thø tù u tiª n cñ a c¸ c phÐ p to¸ n ®î c tr× nh bµy trong b¶ng sau:
Chó thÝ ch: C¸ c phÐ p to¸ n tª n mé t dß ng cã cï ng thø tù u tiª n, c¸ c phÐ p to¸ n ë hµng trª n cã sè u tiª n cao hn c¸ c sè ë hµng dí i. §è i ví i c¸ c phÐ p to¸ n cï ng mø c u tiª n th× tr× nh tù tÝ nh to¸ n cã thÓ tõ tr¸ i qua ph¶i hay ngî c l¹ i ®î c chØ ra trong cé t tr× nh tù kÕ t hî p. VÝ dô: *--px=*(--px) (Ph¶i qua tr¸ i) 8/4*6=(8/4)*6 (Tr¸ i qua ph¶i) Nª n dï ng c¸ c dÊ u ngoÆ c trß n ®Ó viÕ t biÓ u thø c mé t c¸ ch chÝ nh x¸ c. C¸ c phÐ p to¸ n l¹: Dß ng 1 [ ] Dï ng ®Ó biÓ u diÔ n phÇ n tö m¶ng, vÝ dô: a[i][j] . Dï ng ®Ó biÓ u diÔ n thµnh phÇ n cÊ u tró c, vÝ dô: ht.ten -> Dï ng ®Ó biÓ u diÔ n thµnh phÇ n cÊ u tró c th«ng qua con trá Dß ng 2 * Dï ng ®Ó khai b¸ o con trá, vÝ dô: int *a & PhÐ p to¸ n lÊ y ®Þ a chØ, vÝ dô: & x (type) lµ phÐ p chuyÓ n ®æ i kiÓ u, vÝ dô: (float)(x+y) Dß ng 15 To¸ n tö, thê ng dï ng ®Ó viÕ t mé t d·y biÓ u thø c trong to¸ n tö for.
3.7. ChuyÓ n ®æ i kiÓ u gi¸ trÞ: ViÖ c chuyÓ n ®æ i kiÓ u gi¸ trÞ thê ng diÔ n ra mé t c¸ ch tù ®é ng trong hai trê ng hî p sau: Khi g¸ n biÓ u thø c gå m c¸ c to¸ n h¹ ng kh¸ c kiÓ u. Khi g¸ n mé t gi¸ trÞ kiÓ u nµy cho mé t biÕ n (hoÆ c phÇ n tö m¶ng) kiÓ u kh¸ c. §iÒ u nµy x¶y ra trong to¸ n tö g¸ n, trong viÖ c truyÒ n gi¸ trÞ c¸ c tham sè thù c sù cho c¸ c ®è i. Ngoµi ra, ta cã thÓ chuyÓ n tõ mé t kiÓ u gi¸ trÞ sang mé t kiÓ u bÊ t kú mµ ta muè n b»ng phÐ p chuyÓ n sau: (type) biÓ u thø c VÝ dô: (float) (a+b)
ChuyÓ n ®æ i kiÓ u trong biÓ u thø c: Khi hai to¸ n h¹ ng trong mé t phÐ p to¸ n cã kiÓ u kh¸ c nhau th× kiÓ u thÊ p hn sÏ ®î c n©ng thµnh kiÓ u cao hn trí c khi thù c hiÖ n phÐ p to¸ n. KÕ t qu¶ thu ®î c lµ mé t gi¸ trÞ kiÓ u cao hn. Ch¼ ng h¹ n: Gi÷ a int vµ long th× int chuyÓ n thµnh long. Gi÷ a int vµ float th× int chuyÓ n thµnh float. Gi÷ a float vµ double th× float chuyÓ n thµnh double. VÝ dô: 1.5*(11/3)=4.5 1.5*11/3=5.5 (11/3)*1.5=4.5 ChuyÓ n ®æ i kiÓ u th«ng qua phÐ p g¸ n: Gi¸ trÞ cñ a vÕ ph¶i ®î c chuyÓ n sang kiÓ u vÕ tr¸ i ®ã lµ kiÓ u cñ a kÕ t qu¶. KiÓ u int cã thÓ ®î c ®î c chuyÓ n thµnh float. KiÓ u float cã thÓ chuyÓ n thµnh int do chÆ t ®i phÇ n thË p ph©n. KiÓ u double chuyÓ n thµnh float b»ng c¸ ch lµm trß n. KiÓ u long ®î c chuyÓ n thµnh int b»ng c¸ ch c¾ t bá mé t vµi ch÷ sè. VÝ dô: int n; n=15.6 gi¸ trÞ cñ a n lµ 15
§æ i kiÓ u d¹ ng (type)biÓ u thø c: Theo c¸ ch nµy, kiÓ u cñ a biÓ u thø c ®î c ®æ i thµnh kiÓ u type theo nguyª n t¾ c trª n. VÝ dô: PhÐ p to¸ n: (int)a cho mé t gi¸ trÞ kiÓ u int. NÕ u a lµ float th× ë ®©y cã sù chuyÓ n ®æ i tõ float sang int. Chó ý r»ng b¶n th©n kiÓ u cñ a a vÉ n kh«ng bÞ thay ®æ i. Nã i c¸ ch kh¸ c, a vÉ n cã kiÓ u float nhng (int)a cã kiÓ u int. §è i ví i hµm to¸ n hä c cñ a th viÖ n chuÈ n, th× gi¸ trÞ cñ a ®è i vµ gi¸ trÞ cñ a hµm ®Ò u cã kiÓ u double, v× vË y ®Ó tÝ nh c¨ n bË c hai cñ a mé t biÕ n nguyª n n ta ph¶i dï ng phÐ p Ð p kiÓ u ®Ó chuyÓ n kiÓ u int sang double nh sau: sqrt((double)n) PhÐ p Ð p kiÓ u cã cï ng sè u tiª n nh c¸ c to¸ n tö mé t ng«i.
Chó ý: Muè n cã gi¸ trÞ chÝ nh x¸ c trong phÐ p chia hai sè nguyª n cÇ n dï ng phÐ p Ð p kiÓ u: ((float)a)/b §Ó ®æ i gi¸ trÞ thù c r sang nguyª n, ta dï ng: (int)(r+0.5) Chó ý thø tù u tiª n: (int)1.4*10=1*10=10 (int)(1.4*10)=(int)14.0=14
|