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

Tin học đại cương - Bài 10

Chia sẻ: July Man | Ngày: | Loại File: PDF | Số trang:23

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

Là một chương trình nằm trong một chƣơng trình lớn hơn nhằm thực hiện một nhiệm vụ cụ thể , Vai trò – Chia nhỏ chƣơng trình ra thành từng phần để quản lý Phương pháp lập trình có cấu trúc – Có thể sử dụng lại nhiều lần: printf, scanf… – Chƣơng trình dễ dàng đọc và bảo trì hơn.

Chủ đề:
Lưu

Nội dung Text: Tin học đại cương - Bài 10

  1. Tin h c đ i cương Bài 10: Hàm NGUY N Th Oanh oanhnt@soict.hut.edu.vn B môn H th ng thông tin - Vi n CNTT và Truy n Thông Đ i h c Bách Khoa Hà n i 2010 - 2011
  2. Khái ni m hàm Khai báo và s d ng hàm Ph m vi c a bi n N i dung Khái ni m hàm 1 Khai báo và s d ng hàm 2 Ph m vi c a bi n 3 2 / 23
  3. Khái ni m hàm Khái ni m chương trình con Khai báo và s d ng hàm Phân lo i chương trình con Ph m vi c a bi n Khái ni m hàm 1 Khái ni m chương trình con Phân lo i chương trình con Khai báo và s d ng hàm 2 Ph m vi c a bi n 3 3 / 23
  4. Khái ni m hàm Khái ni m chương trình con Khai báo và s d ng hàm Phân lo i chương trình con Ph m vi c a bi n Khái ni m chương trình con ! Khái ni m – Là m t chương trình n m trong m t chương trình l n hơn nh m th c hi n m t nhi m v c th ! Vai trò: – Chia nh chương trình ra thành t ng ph n đ d qu n lý => Phương pháp l p trình có c u trúc – Có th s d ng l i nhi u l n: printf, scanf. . . – Chương trình d dàng đ c và b o trì hơn 4 / 23
  5. Khái ni m hàm Khái ni m chương trình con Khai báo và s d ng hàm Phân lo i chương trình con Ph m vi c a bi n Khái ni m hàm 1 Khái ni m chương trình con Phân lo i chương trình con Khai báo và s d ng hàm 2 Ph m vi c a bi n 3 5 / 23
  6. Khái ni m hàm Khái ni m chương trình con Khai báo và s d ng hàm Phân lo i chương trình con Ph m vi c a bi n Phân lo i chương trình con ! Hàm: tr v giá tr ! Th t c: không tr v giá tr ! Trong C: – Ch cho phép khai báo chương trình con là hàm. – Khi chương trình con không có giá tr tr v : s d ng ki u “ void ” v i ý nghĩa “không là ki u d li u nào c ” 6 / 23
  7. Khái ni m hàm Khai báo hàm Khai báo và s d ng hàm S d ng hàm Ph m vi c a bi n Khái ni m hàm 1 Khai báo và s d ng hàm 2 Khai báo hàm S d ng hàm Ph m vi c a bi n 3 7 / 23
  8. Khái ni m hàm Khai báo hàm Khai báo và s d ng hàm S d ng hàm Ph m vi c a bi n Khai báo hàm ! Cú pháp: [ k i e u _ g i a _ t r i _ t r a _ v e ] ten_ham ( [ danh_sach_tham_so ] ) { [ Cac_khai_bao ] [ Cac_cau_lenh ] } – Dòng đ u hàm: là thông tin đ trao đ i gi a các hàm. Phân bi t gi a các hàm v i nhau dùng đ phân bi t các hàm => không có 2 hàm có dòng đ u hàm gi ng nhau – Thân hàm: ch a các khai báo và các câu l nh t n t i ít nh t 1 l nh return 8 / 23
  9. Khái ni m hàm Khai báo hàm Khai báo và s d ng hàm S d ng hàm Ph m vi c a bi n Khai báo hàm ! Dòng đ u hàm: [kieu_gia_tri_tra_ve] ten_ham ([danh_sach_tham_so]) – ten_ham: tên hàm là đ nh danh h p l , trong C tên hàm là duy nh t (không trùng nhau) – kieu_gia_tri_tra_ve : ki u giá tr tr v ki u d li u b t kì, không đư c là ki u d li u m ng n u không có ki u giá tr tr v , trình biên d ch C ng m hi u ki u DL tr v là int – danh_sach_tham_so : các tham s (cách nhau b i d u ph y) ch a DL vào cung c p cho hàm tham s hình th c: tham s trong l i khai báo hàm: ph i có ki u DL và tên tham s tham s th c: các tham s cung c p cho hàm khi th c hi n 9 / 23
  10. Khái ni m hàm Khai báo hàm Khai báo và s d ng hàm S d ng hàm Ph m vi c a bi n Khai báo hàm #i n c l u d e #i n c l u d e #i n c l u d e #i n c l u d e // K h a i bao ham nguyen mau // K h a i bao va d i n h n g h i a ham i n t binhphuong ( i n t ) ; binhphuong i n t binhphuong ( i n t x ) // Ham main { v o i d main ( ) int y ; { y = x ∗ x; // Noi dung ham main o day return y ; ... } } // Ham main // Dinh n g h i a ham b i n h p h u o n g v o i d main ( ) i n t binhphuong ( i n t x ) { { // Noi dung ham main o day int y ; y = x ∗ x; ... } return y ; } 10 / 23
  11. Khái ni m hàm Khai báo hàm Khai báo và s d ng hàm S d ng hàm Ph m vi c a bi n Khai báo hàm ! Ý nghĩa c a nguyên m u hàm: – Cho phép đ nh nghĩa sau khi s d ng, nhưng ph i khai báo trư c – Cho phép đưa ra l i g i đ n m t hàm mà không c n bi t đ nh nghĩa – Ví d : khi g i printf, scanf chúng ta ch c n quan tâm các tham s truy n cho hàm t p stdio.h ch a nguyên m u hàm c a printf và scanf 11 / 23
  12. Khái ni m hàm Khai báo hàm Khai báo và s d ng hàm S d ng hàm Ph m vi c a bi n Khái ni m hàm 1 Khai báo và s d ng hàm 2 Khai báo hàm S d ng hàm Ph m vi c a bi n 3 12 / 23
  13. Khái ni m hàm Khai báo hàm Khai báo và s d ng hàm S d ng hàm Ph m vi c a bi n S d ng hàm ! L i g i hàm: ten_ham([tham_so1, tham_so2, ...]); ! Th c hi n: – N u hàm có tham s => các tham s đư c gán giá tr th c tương ng – Th c hi n các l nh trong thân hàm – Hàm s k t thúc và tr v chương trình g i nó n u: th c hi n h t các l nh trong hàm HO C g p l nh return : return [bieu_thuc]; ! Lưu ý chung: – dù không có tham s , sau tên hàm luôn có c p d u ( ) – m t s ngôn ng cho phép khai báo các chương trình con l ng nhau (Pascal) nhưng C thì không 13 / 23
  14. Khái ni m hàm Khai báo hàm Khai báo và s d ng hàm S d ng hàm Ph m vi c a bi n S d ng hàm #i n c l u d e #i n c l u d e // K h a i bao ham nguyen mau i n t binhphuong ( i n t ) ; // Ham main v o i d main ( ) { int i ; f o r ( i =0; i
  15. Khái ni m hàm Khai báo hàm Khai báo và s d ng hàm S d ng hàm Ph m vi c a bi n QA ! Trong chương trình l n có nhi u chương trình con, đi m b t đ u th c hi n chương trình s thu c chương trình con nào? ! main là m t chương trình con? ! Khai báo các chương trình con đ c l p nhau/l ng l n nhau? ! Mu n "l p ráp" các công vi c khác nhau đ cùng th c hi n, c n ph i đưa ra “l i g i” hàm. “L i g i” c n cung c p nh ng gì? 15 / 23
  16. Khái ni m hàm Ph m vi c a các bi n Khai báo và s d ng hàm Phân lo i bi n Ph m vi c a bi n M t s l nh đ c trưng trong C: static, register Khái ni m hàm 1 Khai báo và s d ng hàm 2 Ph m vi c a bi n 3 Ph m vi c a các bi n Phân lo i bi n M t s l nh đ c trưng trong C: static, register 16 / 23
  17. Khái ni m hàm Ph m vi c a các bi n Khai báo và s d ng hàm Phân lo i bi n Ph m vi c a bi n M t s l nh đ c trưng trong C: static, register Ph m vi c a các bi n ! Ph m vi: – kh i l nh, chương trình con, chương trình chính ! Bi n khai báo trong ph m vi nào thì s d ng trong ph m vi đó ! Trong cùng m t ph m vi các bi n có tên khác nhau ! Tình hu ng: Trong hai ph m vi khác nhau có hai bi n cùng tên, ph m vi này n m trong ph m vi kia? =⇒ chương trình đang th c thi trong ph m vi nào thì khai báo trong ph m vi đó có tác d ng 17 / 23
  18. Khái ni m hàm Ph m vi c a các bi n Khai báo và s d ng hàm Phân lo i bi n Ph m vi c a bi n M t s l nh đ c trưng trong C: static, register Khái ni m hàm 1 Khai báo và s d ng hàm 2 Ph m vi c a bi n 3 Ph m vi c a các bi n Phân lo i bi n M t s l nh đ c trưng trong C: static, register 18 / 23
  19. Khái ni m hàm Ph m vi c a các bi n Khai báo và s d ng hàm Phân lo i bi n Ph m vi c a bi n M t s l nh đ c trưng trong C: static, register Phân lo i bi n ! Bi n c c b : – bi n đư c khai báo trong l nh kh i ho c chương trình con, đư c đ t trư c các câu l nh ! Bi n toàn c c: – bi n đư c khai báo ngoài m i hàm, đư c s d ng các hàm đ ng sau nó – V trí khai báo: sau ph n khai báo t p tiêu đ và khai báo hàm nguyên m u ! Ghi nh : – Hàm main() cũng là m t chương trình con nhưng là nơi chương trình đư c b t đ u cũng như k t thúc – Bi n khai báo trong hàm main() cũng là bi n c c b , ch có ph m vi trong hàm main(). 19 / 23
  20. Khái ni m hàm Ph m vi c a các bi n Khai báo và s d ng hàm Phân lo i bi n Ph m vi c a bi n M t s l nh đ c trưng trong C: static, register Khái ni m hàm 1 Khai báo và s d ng hàm 2 Ph m vi c a bi n 3 Ph m vi c a các bi n Phân lo i bi n M t s l nh đ c trưng trong C: static, register 20 / 23
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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