intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình cơ bản: Bài 4 - Chu Thị Hường

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:46

12
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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!

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình cơ bản: Bài 4 - Chu Thị Hường

  1. L P TRÌNH CƠ B N HÀM Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT 1
  2. N I DUNG Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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; i
  10. int 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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 ; Nghĩa là các giá tr th c (tham s th c) không b thay i giá tr khi truy n cho các tham s hình th c Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT
  16. TRUY N THAM S Truy n tham tr : #include #include int Tong(int a, int b) { a=a+1; b=b+1; printf("\n Trong than ham a=%d ,b=%d",a,b); return a+b;} int main() { int a, b; printf("\n Nhap vao 2 so nguyen a, b:"); scanf("%d%d",&a,&b); printf("\n Truoc khi goi ham a=%d ,b=%d",a,b); printf("\n Tong=%d",Tong(a,b)); printf("\n Sau khi goi ham a=%d ,b=%d",a,b); getch();return 0;} Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT
  17. TRUY N THAM S Truy n tham tr : Trư c và sau khi g i hàm giá tr a, b không i Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT
  18. TRUY N THAM S Truy n tham tr : #include #include int hoanvi(int a, int b) { int t; t=a; /* o n này hoán v giá tr c a 2 bi n a, b*/ a=b; b=t; printf("\n Ben trong ham a=%d , b=%d",a,b); return 0;} int main() { int a, b; printf("\n Nhap vao 2 so nguyen a, b:"); scanf("%d%d",&a,&b); printf("\n Truoc khi goi ham hoan vi a=%d ,b=%d",a,b); hoanvi(a,b); printf("\n Sau khi goi ham hoan vi a=%d ,b=%d",a,b); getch(); return 0;} Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT
  19. TRUY N THAM S Truy n tham tr : Trư c và sau khi g i hàm giá tr a, b không i ? Mu n thay i giá tr a và b sau khi g i hàm ta c n theo m t k thu t khác, nh vào vai trò c a bi n con tr và tham chi u. Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT
  20. TRUY N THAM S Truy n theo con tr Vi c u tiên khi chương trình th c hi n m t hàm là t o ra các bi n m i (các ô nh m i, c l p v i các ô nh a, b ã có s n) tương ng v i các tham s hình th c, trong trư ng h p này cũng có tên là a, b và gán n i dung c a a, b (ngoài hàm) cho a, b (m i). Và vi c cu i cùng c a chương trình sau khi th c hi n xong hàm là xoá các bi n m i này. Do v y n i dung c a các bi n m i th c s là có thay i, nhưng không nh hư ng gì n các bi n a, b cũ. Biên so n: Chu Th Hư ng – B môn HTTT – Khoa CNTT
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2