Danh mục

Bài giảng Lập trình cơ bản: Bài 5 - TS. Ngô Quốc Việt

Số trang: 39      Loại file: pdf      Dung lượng: 1.91 MB      Lượt xem: 17      Lượt tải: 0    
Thư viện của tui

Phí tải xuống: 1,000 VND Tải xuống file đầy đủ (39 trang) 0
Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng Lập trình cơ bản - Bài 5 cung cấp những kiên thức về thủ tục và hàm. Các nội dung chính trong bài này gồm: Khái niệm thủ tục và hàm, cách khai báo và sử dụng hàm, khái niệm prototype, cách truyền tham số - tham biến, biến cục bộ - toàn cục. 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 5 - TS. Ngô Quốc Việt THỦ TỤC VÀ HÀM NGÔ QUỐC VIỆT TP.HCM-2011 NỘI DUNG 1. Khái niệm thủ tục và hàm. 2. Cách khai báo và sử dụng hàm 3. Khái niệm prototype 4. Cách truyền tham số, tham biến. 5. Biến cục bộ, toàn cục Ngô Quốc Việt-Lập trình cơ bản 2 SỰ CẦN THIẾT CỦA TÁCH NHỎ  Thực tế: luôn tách vấn đề lớn thành các vấn để nhỏ hơn. Vấn đề “nhỏ hơn” lại có thể tách thành các “nhỏ hơn nữa”.  Mỗi “nhỏ không chia nữa” đảm nhiệm một nhiệm vụ/chức năng  thuật ngữ task/function  Các task/function ghép lại để có được bộ phận lớn hơn. Nnlt gọi là hàm-function.  Khái niệm hàm trong nnlt đóng vai trò tương tự.  Mỗi “hàm” đảm nhiệm một vai trò.  Kết nối các hàm để thành một chương trình. Ngô Quốc Việt-Lập trình cơ bản 3 SỰ CẦN THIẾT CỦA TÁCH NHỎ  Nhắc lại hàm main trong ngôn ngữ C.  Chứa điểm bắt đầu và lệnh kết thúc của chương trình (lệnh return cuối hàm main).  Mọi ngôn ngữ đều có quy ước tương tự như hàm main() nhưng tên có thể khác.  Tất cả lệnh đặt trong “main” ?  Ưu điểm: ???  Nhựợc điểm: quá dài; không dễ đọc; khó bảo trì ?  Không thể hiệu quả nếu tất cả đặt trong main.  Cần tách “main” thành những phần nhỏ  hàm.  Đơn giản nhất: mỗi hàm thực hiện một phần code của main(). Ngô Quốc Việt-Lập trình cơ bản 4 THỦ TỤC VÀ HÀM  Thủ tục – procedure. Hàm – function.  Phần lớn nnlt sử dụng thuật ngữ ‘hàm’.  Hàm là một “đoạn mã” được “đóng gói” thực hiện một khối công việc nhất định của chương trình.  “Đóng gói” : mỗi hàm có tên và viết theo quy cách nhất định tuỳ theo nnlt.  Ví dụ: hàm main() trong C/C++ là một hàm. Là hàm chính trong kiểu chương trình Console. Ngô Quốc Việt-Lập trình cơ bản 5 CÁCH KHAI BÁO MỘT HÀM (arg1, arg2, ...)  Tên hàm: đặt theo quy cách đặt tên của nnlt. Theo cách đặt tên biến/hằng.  Kiểu trả về: các kiểu dữ liệu cơ bản của nnlt hoặc các kiểu dữ liệu có cấu trúc (thảo luận sau). Mỗi hàm chỉ trả về một giá trị mỗi lần thực hiện. Một hàm chỉ có một OUTPUT.  (arg1, arg2, ...): danh sách các tham số dùng làm INPUT cho hàm. Không có ba dấu chấm.  Không có dấu chấm phẩy sau tên hàm, phải có cặp dấu ngoặc ( ) sau tên hàm nếu hàm không có tham số truyền vào. Ngô Quốc Việt-Lập trình cơ bản 6 CÁCH KHAI BÁO MỘT HÀM  Chú thích đầu hàm  Name: tên hàm  Description: hàm làm gì – what  Tham số: xác định từng tham số của hàm  Giá trị trả về: mô tả output của hàm  Tên hàm cùng các tham số  Thân hàm: phần nằm giữa cặp dấu { }. Lệnh cuối cùng của hàm là return. Ngô Quốc Việt-Lập trình cơ bản 7 CÁCH KHAI BÁO MỘT HÀM Ngô Quốc Việt-Lập trình cơ bản 8 Hàm không có tham số ()  Ví dụ khai báo hàm không tham số int get_value() ; hoặc int get_value(void); //chỉ dùng trong nnlt C  Hàm không có OUTPUT được gọi là thủ tục. Ví dụ void print_answer(int answer) ; Usage print_answer(45); //gọi hàm print_answer Ngô Quốc Việt-Lập trình cơ bản 9 KHAI BÁO VÀ SỬ DỤNG HÀM  Hàm có thể không cần trả về kết quả. Mục tiêu cần thực hiện một tác vụ nhưng hàm gọi không cần lấy kết quả.  Sử dụng kiểu trả về void. void myGioPhut(int phut) Không có lệnh { return trước int gio; dấu } ??? gio = phut/60; phut = phut % 60; printf(“Bay gio la %d:%d”, gio, phut); }  Cuối hàm kiểu trả về void có thể có hay không lệnh return. Ngô Quốc Việt-Lập trình cơ bản 10 KHAI BÁO VÀ SỬ DỤNG HÀM int myFunction(int arg1) //Hàm myFunction đặt trên main. Có cách //nào để đặt ở bất kỳ chỗ nào? { arg1++ ; return arg1; Hàm main gọi hàm myFunction. Lúc này, } hàm main được gọi là hàm gọi. int main(int argc, char* argv[ ]) { int x, y ; y = 0; x = myFunction(y); //Giá trị y trả về là y++ (=1). return 0; Hàm myFunction chạy } xong, chạy tiếp lệnh kế trong main. Lúc này, myFunction là hàm bị gọi Ngô Quốc Việt-Lập trình cơ bản 11 KHAI BÁO VÀ SỬ DỤNG HÀM #include #include int power(int ix, int in) { int i, ip = 1; for(i = 1; i KHAI BÁO VÀ SỬ DỤNG HÀM void main(void) Truyền tham số { printf(2 mu 2 = %d.\n, power(2, 2)); int power(int ix, int in) Gọi hàm power printf(2 mu 3 = %d.\n, power(2, 3)); { int i, ip = 1; getch(); Kết thúc lần chạy. } for(i = 1; i PROTOTYPE HÀM  Prototype: phần khai báo hàm không chứa phần mã nguồn bên trong  Thường được đặt trên đầu tập tin mã nguồn. Có dấu ; int myFunction(int arg1); int main(int argc, char* argv[ ]) Hàm main gọi hàm { myFunction nên int y = myFunction(x); ...

Tài liệu được xem nhiều: