Bài giảng Lập trình cơ bản: Bài 4 Hàm, cung cấp cho người đọc những kiến thức như: Hàm chuẩn; định nghĩa hàm; khai báo hàm trùng tên; truyền tham số; hàm đệ quy;...Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình cơ bản: Bài 4 - Chu Thị Hường L P TRÌNH CƠ B N HÀM Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT 1 N I DUNG Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT GI I THI U M t chương trình ư c ki n trúc t các m nh nh ho c các thành ph n nh hơn. Các m nh nh ư c g i là các modules Các module như v y g i là các chương trình con. Trong C chương trình con ư c g i là hàm M i m nh ư c qu n lý t t hơn trong chương trình g c (original program) Hàm có hai lo i: Hàm chu n và Hàm t nh nghĩa. Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT HÀM CHU N M t s hàm trong các thư vi n hay dùng: stdio.h : Thư vi n ch a các hàm vào/ ra chu n (standard input/output). G m các hàm printf(), scanf(), getc(), putc(), gets(), puts(), fflush(), fopen(), fclose(), fread(), fwrite(), getchar(), putchar(), getw(), putw()… conio.h : Thư vi n ch a các hàm vào ra trong ch DOS (DOS console). G m các hàm clrscr(), getch(), getche(), getpass(), cgets(), cputs(), putch(), clreol(),… math.h: Thư vi n ch a các hàm tính toán g m các hàm abs(), sqrt(), log(). log10(), sin(), cos(), tan(), acos(), asin(), atan(), pow(), exp(),… Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT HÀM CHU N M t s hàm trong các thư vi n hay dùng: alloc.h: Thư vi n ch a các hàm liên quan n vi c qu n lý b nhơ. G m các hàm calloc(), realloc(), malloc(), free(), farmalloc(), farcalloc(), farfree(), … io.h: Thư vi n ch a các hàm vào ra c p th p. G m các hàm open(), _open(), read(), _read(), close(), _close(), creat(), _creat(), creatnew(), eof(), filelength(), lock(),… graphics.h: Thư vi n ch a các hàm liên quan n h a. G m initgraph(), line(), circle(), putpixel(), getpixel(), setcolor(), .v.v… Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT int max(int a, int b) { return (a>b) ? a:b; } NH NGHĨA HÀM Hàm có giá tr tr v : Tên hàm([ ][, ][,…]) { [Khai báo bi n c c b và các câu l nh th c hi n hàm] return []; } Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT int max(int a, int b) { return (a>b) ? a:b; } NH NGHĨA HÀM Hàm có giá tr tr v : Ví d : Hàm tr v giá tr l n nh t trong hai s int max(int a, int b) { return (a>b) ? a:b; } Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT int max(int a, int b) { return (a>b) ? a:b; } NH NGHĨA HÀM Hàm không có giá tr tr v : void Tên hàm([ ][, ][,…]) { [Khai báo bi n c c b và các câu l nh th c hi n hàm] [return [];] } Chú ý: N u hàm không tr l i giá tr (t c ki u void), khi ó có th có ho c không có câu l nh return Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT int max(int a, int b) { return (a>b) ? a:b; } NH NGHĨA HÀM Hàm không có giá tr tr v : Ví d : Hàm in trình bày void In() { int i; for (i=1; iint max(int a, int b) { return (a>b) ? a:b; } NH NGHĨA HÀM Hàm v i is m c nh: Tên hàm([ ][, [=]][,…]) { [Khai báo] [return [];] } Chú ý: Các tham s có giá tr m c nh ph i ư c khai báo liên t c và xu t hi n cu i cùng trong danh sách tham s . Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT NH NGHĨA HÀM Hàm v i is m c nh: Ví d : #include #include int tong(int x, int y, int z=0, int v=0) { return x+y+z+v; } main() { printf('\n Tong cua 5,6,7,8 la= %d', tong(5,6,7,8)); printf('\n Tong cua 5,6,7 la= %d', tong(5,6,7)); printf('\n Tong cua 5,6 la= %d', tong(5,6)); getch(); } Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT KHAI BÁO HÀM TRÙNG TÊN Ví d 1: int max(int a, int b) { return (a > b) ? a: b ; } N u c = max(3, 5) thì= 5. N u c = max(3.0, 5.0) ta s có c =?. Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT KHAI BÁO HÀM TRÙNG TÊN Hàm trùng tên hay còn g i là hàm ch ng ( è). ây là m t k thu t cho phép s d ng cùng m t tên g i cho các hàm 'gi ng nhau' (cùng m c ích) nhưng x lý trên các ki u d li u khác nhau ho c trên s lư ng d li u khác nhau. Nhi u hàm có th ư c nh nghĩa ch ng (v i cùng tên g i gi ng nhau) n u chúng tho các i u ki n: S lư ng các tham i trong hàm là khác nhau, ho c Ki u c a tham i trong hàm là khác nhau. Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT KHAI BÁO HÀM TRÙNG TÊN Ví d 1: #include #include int max(int a, int b) { return (a > b) ? a: b ; } int max(int a, int b, int c) {return max(a,b)>c ? max(a,b):c;} float max(float a, float b) { return (a > b) ? a: b ; } char max(char a, char b) { return (a > b) ? a: b ; } long max(long a, long b) { return (a > b) ? a: b ; } double max(double a, double b) { return (a > b) ? a: b ; } int main() { printf('Max=%d', max(3,5)); printf('Max=%d', max(3,7,6)); printf('Max=%f', max(3.0,5.0)); printf('Max=%c', max('O','K')); getch(); return 0; } Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT TRUY N THAM S Truy n tham tr : M c nhiên, vi c truy n tham s cho hàm trong C/C++ là truy n theo giá tr ; ...