Đăng ký Đăng nhập
Trang chủ Công nghệ thông tin Hệ điều hành Giáo trình c c++chuong 6 [compatibility mode]...

Tài liệu Giáo trình c c++chuong 6 [compatibility mode]

.PDF
34
105
105

Mô tả:

CHÆÅNG VI HAÌM VAÌ CÁÚU TRUÏC CHÆÅNG TRÇNH I. 1. Haìm Quy tàõc xáy dæûng mäüt haìm: Haìm coï thãø xem laì mäüt âån vë âäüc láûp cuía chæång trçnh. Caïc haìm coï vai troì ngang nhau, vç váûy khäng cho pheïp xáy dæûng mäüt haìm bãn trong mäüt haìm khaïc. Doìng âáöu tiãn (cuía mäüt haìm) chæïa caïc thäng tin vãö haìm: - Kiãøu giaï trë cuía haìm (nãúu haìm coï giaï trë) Tãn haìm Danh saïch caïc âäúi säú (nãúu coï) Caïc doìng tiãúp theo duìng âãø khai baïo kiãøu giaï trë cuía âäúi säú.Vaì bàõt buäüc phaíi khai baïo kiãøu giaï trë cho táút caí caïc âäúi säú. Tieïp theo laì thán haìm. Thán haìm laì näüi dung chênh cuía haìm noï bàõt âáöu bàòng dáúu { vaì kãút thuïc } Trong thán haìm coï thãø duìng 1 hoàûc nhiãöu lãûnh return hoàûc coï thãø khäng duìng. Vaì coï thãø âàût chuïng åí báút kyì chäù naìo nãúu tháúy thêch håüp. Cuï phaïp chung cuía lãûnh return return ([Biãøu thæïc]); Giaï trë cuía biãøu thæïc trong ngoàûc seî âæåüc gaïn cho haìm. 2. Quy tàõc hoaût âäüng cuía haìm Caïch goüi haìm: tãn_haìm([Danh saïch tham säú thæûc]); Chuï yï: - Säú tham säú thæûc phaíi bàòng våïi säú tham säú hçnh thæïc (âäúi) vaì mäùi tham säú thæûc phaíi coï cuìng kiãøu våïi giaï trë nhæ kiãøu giaï trë cuía âäúi tæång æïng cuía noï. - Vãö nguyãn tàõc moüi haìm cáön âæåüc khaïi baïo træåïc khi sæí duûng noï. Noï hoaìn toaìn giäúng våïi viãûc khai Vê duû: Viãút chæång trçnh tçm säú låïn nháút vaì nhoí nháút cuía tæìng cäüt trong ma tráûn, coï sæí duûng haìm tçm max, tçm min. #include "stdio.h" int max(a,b) int a,b; { int m; m=a>b?a:b; return (m); } int min(a,b) int a,b; { int m; m=a [return ([Biãøu thæïc]);] } Chuï yï: - Khi xáy dæûng haìm cáön nàõm væîng nhæîng qui âënh vãö mäúi quan hãû giæîa: tham säú thæûc vaì tham säú hçnh thæïc (âäúi) cuîng nhæ caïc âäúi trong thán cuía haìm - Âäúi våïi haìm khäng cho giaï trë thç chuïng ta khäng cáön khai baïo kiãøu giaï trë cuía noï. - Âäúi våïi caïc haìm coï giaï trë maì ta quãn khäng khai baïo kiãøu giaï trë cuía noï, thç maïy seî coi haìm âoï coï giaï trë nguyãn. Nhæ váûy âäúi våïi haìm coï gaïi trë kiãøu nguyãn thç khäng cáön khai baïo kiãøu giaï trë cho chuïng. - Khi gàûp lãûnh return coï chæïa biãøu thæïc, thç giaï trë cuía biãøu thæïc bao giåì cuîng âæåüc chuyãøn vãö theo  Nguyãn tàõc hoaût âäüng cuía tham säú thæûc, caïc âäúi vaì caïc biãún cuûc bäü - Do âäúi vaì biãún cuûc bäü âãöu coï phaûm vi hoaût âäüng trong cuìng mäüt haìm nãn âäúi vaì biãún cuûc bäü cáön coï tãn khaïc nhau. - Âäúi vaì biãún cuûc bäü âãöu laì biãún tæû âäüng. Chuïng âæåüc cung cáúp bäü nhåï khi haìm âæåüc khåíi âäüng vaì chuïng seî láûp tæïc biãún máút khi maïy ra khoíi haìm. Nhæ váûy, khäng thãø mang giaï trë cuía âäúi ra khoíi haìm. Âiãöu naìy coï nghéa laì khäng thãø sæí duûng âäúi âãø laìm thay âäøi giaï trë cuía báút kyì mäüt âaûi læåüng naìo åí ngoaìi haìm. - Khi mäüt haìm âæåüc goüi tåïi, viãûc âáöu tiãn laì gaïi trë cuía caïc tham säú thæûc âæåüc gaïn cho caïc âäúi. Nhæ váûy, caïc âäúi chênh laì baín sao cuía caïc tham säú thæûc. Haìm chè laìm vcãûc trãn caïc âäúi, tæïc laì chè laìm viãûc trãn caïc baín II. 1. Con troí vaì âëa chè Âia chè Liãn quan âãún mäüt biãún ta âaî coï caïc khaïi niãûm: - Tãn biãún - Kiãøu giaï trë cuía biãún - Giaï trë cuía biãún Khi khai baïo mäüt biãún thç maïy seî cáúp phaït cho biãún mäüt vuìng nhåï coï säú byte bàòng våïi âäü låïn cuía kiãøu âoï. Vê duû: Kiãøu int laì 2 byte Kiãøu float laì 4 byte Chuïng ta cuîng coï thãø hiãøu: Âëa chè cuía biãún laì säú thæï tæû cuía byte âáöu tiãn trong mäüt daîy caïc byte liãn tiãúp nhau maì maïy daình cho biãún. Cáön chuï yï ràòng: Âëa chè cuía biãún laì mäü säú nguyãn nhæng khäng âæåüc âaïnh âäöng noï våïi caïc säú nguyãn thäng thæåìng trong caïc pheïp tênh Pheïp toaïn &x cho ta âëa chè cuía biãún x 2. Con troí Con troí laì mäüt biãún duìng âãø chæïa âëa chè. Vç coï nhiãöu loaûi âëa chè nãn cuîng coï báúy nhiãu kiãøu con troí tæång æïng. Vê duû: Con troí kiãøu int duìng âãø chæïa âëa chè caïc biãún kiãøu int. Cuîng nhæ biãún thç con troí cuîng cáön phaíi âæûoc khai baïo træåïc khi sæí duûng. Cuï phaïp khai baïo: type *tãn_con_troí Vê duû: int x,y,*px,*py Toaïn tæí: & vaì * laì caïc toaïn tæí mäüt ngäi, noï chè taïc âäüng lãn biãún, pháön tæí cuía maíng hoàûc chuäùi. &: Toaïn tæí láúy âaûi chè cuía biãún *: Toaïn tæí láúy giaï trë taûi âëa chè naìo âoï. Caïc toaïn tæí naìy coï âäü æu tiãn hån caïc toaïn tæí säú hoüc vaì coï âäü æu tiãn tæång âæång våïi toaïn tæí mäüt ngäi. 3. Caïc biãøu thæïc con troí: a. Pheïp gaïn con troí: Con troí cuîng laì mäüt biãún nãn ta cuîng coï thãø aïp duûng pheïp gaïn lãn noï. Vê duû: int *p1, *p2,x; Luïc âoï caïc pheïp toaïn sau laì håüp lãû: b. Pheïp toaïn säú hoüc trãn con troí: Caïc pheïp toaïn säú hoüc âæåüc aïp duûng trãn biãún con troí cuîng nhæ giaï trë cuía noï laì 2 pheïp toaïn cäüng vaì træì. Vê duû: int *p; Thç ta coï thãø duìng: p++: âãø troí âãún pháön tæí kãú tiãúp; p--: troí âãún pháön tæí træåïc âoï p= p+3: Nhaíy âãún âëa chè caïch p laì 3*Sizeof(p) Trong biãøu thæïc ta coï thãø duìng caïc daûng sau cuía mäüt biãún con troí p: (*p)++,++(*p):Tàng giaï trë taûi p lãn 1 c. So saïnh con troí Caïc pheïp toaïn so saïnh âëa chè cuía caïc biãún con troí laì: >,<, = = 4. Kiãøu giaï trë trong khai baïo: Moüi thaình pháön cuía cuìng mäüt khai baïo (biãún, pháön tæí maíng, haìm, con troí) khi xuáút hiãûn trong biãøu thæïc âãöu coï cuìng mäüt kiãøu giaï trë. Vê duû: int a, b[5], f(), *p; Thç a, b[i], f(x) hoàû *p xuáút hiãûn trong mäüt biãøu thæïc thç chuïng luän luän cho mäüt gia trë kiãøu float. 5. Haìm coï âäúi con troí: Nãúu âäúi laì con troí thç tham säú thæûc tæång æïng phaíi laì âëa chè cuía biãún hoàûc âëa chè cuía pháön tæí maíng coï kiãøu tæång æïng. Khi âoï âëa chè cuía biãún âæåüc truyãön cho âäúi con troí tæång æïng. Vê duû: #include "stdio.h" int swap(x,y) int x,y; { int tem; tem=x; x=y; y=tem; return (x,y); } main() { int x,y,swap(); printf("Nhap x = \n y = "); scanf("%d %d",&x,&y); printf("x = %d y = %d",x,y); swap(x,y); printf("x = %d y = %d",x,y); getch(); return 0; }
- Xem thêm -

Tài liệu liên quan