Bài giảng C - hàm trong C

15 1.4K 3
Bài giảng C - hàm trong C

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng C - hàm trong C

11LẬP TRÌNH C++LẬP TRÌNH C++§7. Hàm (function)§7. Hàm (function) 22I. Khai báo và sử dụng hàmI. Khai báo và sử dụng hàm1. Khái niệm 1. Khái niệm Hàm là một đoạn chương trình độc lập Hàm là một đoạn chương trình độc lập thực hiện thực hiện trọn vẹn một công việc nhất địnhtrọn vẹn một công việc nhất định sau đó trả về sau đó trả về giá trị cho chương trình gọi nó, hay nói cách khác giá trị cho chương trình gọi nó, hay nói cách khác hàm là sự chia nhỏ của chương trình.hàm là sự chia nhỏ của chương trình.HàmHàm được sử dụng nhằm mục đích: được sử dụng nhằm mục đích: Khi có một công việc giống nhau cần thực hiện ở Khi có một công việc giống nhau cần thực hiện ở nhiều vị trí. nhiều vị trí. Khi cần chia một chương trình lớn phức tạp thành Khi cần chia một chương trình lớn phức tạp thành các đơn thể nhỏ (hàm con) để chương trình được các đơn thể nhỏ (hàm con) để chương trình được trong sáng, dễ hiểu trong việc xử lý, quản lý việc trong sáng, dễ hiểu trong việc xử lý, quản lý việc tính toán và giải quyết vấn đề. tính toán và giải quyết vấn đề. 332. Khai báo hàm 2. Khai báo hàm <Kiểu_dữ_liệu_của_hàm> Tên hàm ([các_tham_số]); <Kiểu_dữ_liệu_của_hàm> Tên hàm ([các_tham_số]); Ví dụ :Ví dụ :Khai báo hàm không định kiểu :Khai báo hàm không định kiểu :void Tên_hàm ([danh sách các tham số]) void Tên_hàm ([danh sách các tham số]) { { Khai báo các biến cục bộ;Khai báo các biến cục bộ;Các câu lệnh / khối lệnh hay lời gọi đến hàm khác;Các câu lệnh / khối lệnh hay lời gọi đến hàm khác;} } Khai báo hàm có định kiểu dữ liệu:Khai báo hàm có định kiểu dữ liệu:<Kiểu dữ liệu> Tên_hàm ([danh sách các tham số]) <Kiểu dữ liệu> Tên_hàm ([danh sách các tham số]) { { <Kiểu dữ liệu> kq; <Kiểu dữ liệu> kq; Khai báo các biến cục bộ;Khai báo các biến cục bộ;Các câu lệnh / khối lệnh hay lời gọi đến hàm khác;Các câu lệnh / khối lệnh hay lời gọi đến hàm khác;returnreturn kq; kq; } } 443. Bài tập : 3. Bài tập : 1. Đọc vào số tự nhiên n, tính n!=1*2*3*…*n1. Đọc vào số tự nhiên n, tính n!=1*2*3*…*n2. Đọc vào số thực a và số tự nhiên n, tinh a2. Đọc vào số thực a và số tự nhiên n, tinh ann3. Giải hệ phương trình :3. Giải hệ phương trình :4. Tính : 4. Tính : 5. Đọc vào 3 số thực a, b, c (a có thể bằng 0)5. Đọc vào 3 số thực a, b, c (a có thể bằng 0)Giải phương trình :Giải phương trình :=+=+222111cybxacybxaknknAC &02=++ cbxax 55II. Tính đệ quy của hàmII. Tính đệ quy của hàm1. Khái niệm : 1. Khái niệm : Ngay trong thân của một hàm có thể có lệnh gọi Ngay trong thân của một hàm có thể có lệnh gọi lại ngay chính nó, tính chất này được gọi là tính lại ngay chính nó, tính chất này được gọi là tính đệ qui của hàm.đệ qui của hàm.2. Bài tập :2. Bài tập :Tính n!Tính n!Tính aTính annTìm UCLN cua 2 số tự nhiên a va bTìm UCLN cua 2 số tự nhiên a va bTìm số hạng thứ n của dãy Phibonaxi :Tìm số hạng thứ n của dãy Phibonaxi :aa11=a=a22=1; =1; aann=a=an-1n-1+a+an-2n-2 với n>2 với n>25. Bài toán chuyển tháp (bài toán tháp Hà Nội)5. Bài toán chuyển tháp (bài toán tháp Hà Nội) 66III. Thạm trị và tham biếnIII. Thạm trị và tham biếnGiả sử ta khai báo hàm sau : Giả sử ta khai báo hàm sau : void timUCBC(long a,long b, long &s, long &d)void timUCBC(long a,long b, long &s, long &d)Thì a và b được gọi là tham trị, s và d được gọi là Thì a và b được gọi là tham trị, s và d được gọi là tham biếntham biếnTham trị có thể được gọi bằng số hoặc bằng hằng Tham trị có thể được gọi bằng số hoặc bằng hằng số, còn tham biến thì bắt buộc phải gọi bằng biến số, còn tham biến thì bắt buộc phải gọi bằng biến sốsốKhi ra khỏi hàm, giá trị của tham biến ở hàm thế Khi ra khỏi hàm, giá trị của tham biến ở hàm thế nào thì ở chương trình chính cũng thế, con tham nào thì ở chương trình chính cũng thế, con tham trị khi ra khỏi hàm nó lại trở về giá trị ban đầu mặt trị khi ra khỏi hàm nó lại trở về giá trị ban đầu mặt dù trong hàm nó có thể bị thay đổi. dù trong hàm nó có thể bị thay đổi. 77Ví dụ: Tìm UCLN và BCNN của 2 số nguyên a và bVí dụ: Tìm UCLN và BCNN của 2 số nguyên a và b#include <iostream.h>#include <iostream.h>//Hàm số tìm UCLN và BCNN//Hàm số tìm UCLN và BCNNvoid timUCBC(long a,long b, long &s, long &d)void timUCBC(long a,long b, long &s, long &d){{s=a*b;s=a*b;while (a!=b)while (a!=b)if (a>b) a=a-b;if (a>b) a=a-b;else b=b-a;else b=b-a;d=a;d=a;s=s/a;s=s/a;}} 88// Chương trình chính :// Chương trình chính :void main()void main(){{long a,b,s,d;long a,b,s,d;cout<<"Cho a va b: "; cin>>a>>b;cout<<"Cho a va b: "; cin>>a>>b;timUCBC(a,b,s,d);timUCBC(a,b,s,d);cout<<“a="<<a<<endl;cout<<“a="<<a<<endl;cout<<“b="<<b<<endl;cout<<“b="<<b<<endl;cout<<"UCLN="<<d<<endl;cout<<"UCLN="<<d<<endl;cout<<"BCNN="<<s<<endl;cout<<"BCNN="<<s<<endl;}} 99Cách 2: a,b bị thay đổiCách 2: a,b bị thay đổi#include <iostream.h>#include <iostream.h>//Hàm số tìm UCLN và BCNN//Hàm số tìm UCLN và BCNNvoid timUCBC(long &a,long &b, long &s, long &d)void timUCBC(long &a,long &b, long &s, long &d){{s=a*b;s=a*b;while (a!=b)while (a!=b)if (a>b) a=a-b;if (a>b) a=a-b;else b=b-a;else b=b-a;d=a;d=a;s=s/a;s=s/a;}} 1010// Chương trình chính :// Chương trình chính :void main()void main(){{long a,b,s,d;long a,b,s,d;cout<<"Cho a va b: "; cin>>a>>b;cout<<"Cho a va b: "; cin>>a>>b;timUCBC(a,b,s,d);timUCBC(a,b,s,d);cout<<“a="<<a<<endl;cout<<“a="<<a<<endl;cout<<“b="<<b<<endl;cout<<“b="<<b<<endl;cout<<"UCLN="<<d<<endl;cout<<"UCLN="<<d<<endl;cout<<"BCNN="<<s<<endl;cout<<"BCNN="<<s<<endl;}} [...]... toàn cu c và biến địa phương    Biến toàn c c là biến khai báo ở đầu chương trình ngay sau c c câu lệnh #include< >, biến địa phương là biến khai báo ở hàm con Biến toàn c c có thể sử dụng trong toàn bộ chương trình (c chương trình chính và hàm con) c n biến địa phương khai báo ở hàm nào thì chỉ sử dụng cho hàm đó Tên biến địa phương c thể trùng với tên biến toàn c c và ở hàm con biến đó c thể... cout . kiểu :void Tên _hàm ([danh sách c c tham số]) void Tên _hàm ([danh sách c c tham số]) { { Khai báo c c biến c c bộ;Khai báo c c biến c c bộ ;C c câu lệnh / khối. c a chương trình.HàmHàm đư c sử dụng nhằm m c đích: đư c sử dụng nhằm m c đích: Khi c một c ng vi c giống nhau c n th c hiện ở Khi c một c ng vi c giống

Ngày đăng: 14/11/2012, 15:35

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan