Bài giảng Ngôn ngữ lập trình C: Hàm - Ninh Thị Thanh Tâm
lượt xem 7
download
Bài giảng này cung cấp cho người học các kiến thức về hàm, giúp người học biết cách xây dựng các chương trình từ các hàm; cách tạo ra các hàm mới; biết được cơ cấu truyền thông tin giữa các hàm; biết cách dùng và viết hàm đệ quy;... Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Ngôn ngữ lập trình C: Hàm - Ninh Thị Thanh Tâm
- NGÔN NGỮ LẬP TRÌNH C HÀM Ninh Thị Thanh Tâm Khoa CNTT – HV Quản lý Giáo dục
- Mục đích Biết cách xây dựng các chương trình từ các hàm Cách tạo ra các hàm mới Cơ cấu truyền thông tin giữa các hàm Cách dùng và viết hàm đệ quy Giới thiệu hàm toán học trong thư viện C chuẩn
- Nội dung Khai báo và định nghĩa hàm Tham số trong lời gọi hàm Địa chỉ và con trỏ Con trỏ hàm Khái niệm Khai báo biến con trỏ hàm Tham số hình thức của hàm là con trỏ hàm Đệ quy
- Ví dụ Nguyên mẫu /*func1.c*/ của hàm #include #include int square(int); void main() { int i; Lời gọi hàm for (i=1; i
- Khái niệm liên quan đến hàm Tên hàm Kiểu giá trị của hàm Khai báo hàm Thân hàm Lời gọi hàm Tham số hình thức (đối) Tham số thực
- Tên_hàm là tên hợp lệ Kiểu giá trị trả về là kiểu dữ liệu của kết quả trả lại cho hàm gọi nó Nếu là void thì hàm không trả lại giá trị Nếu không xác định kiểu giá trị trả về trình biên dịch sẽ ngầm định là int Danh sách tham số: mô tả kiểu dữ liệu cùng thứ tự của các tham số hàm nhận khi được gọi Nếu hàm không nhận tham số, danh sách tham số là void Cần ghi rõ kiểu của tham số, nếu không ghi được ngầm định là int
- Khai báo và định nghĩa hàm Khai báo hàm (nguyên mẫu của hàm): [kiểu giá trị trả về] Tên_hàm([danh sách tham số]); Ví dụ: int square(int); Định nghĩa hàm: [kiểu giá trị trả về] Tên_hàm([danh sách tham số]) { Các khai báo … (Thân hàm) Các câu lệnh }
- Định nghĩa hàm (tiếp) Các khai báo và câu lệnh trong cặp dấu { và } tạo thành thân hàm Khaibáo và cài đặt một hàm không được đặt trong hàm khác Trả lại giá trị cho hàm: [return [biểu thức];] Có thể có nhiều câu lệnh return Giá trị của biểu thức trong câu lệnh return được gán cho hàm Có thể không sử dụng return return; ~ hàm không trả về giá trị (có thể không có)
- Ví dụ Định nghĩa hàm Ý nghĩa int count(float a[20]) {…..} Hàm trả về giá trị là một số nguyên. Tham số là một mảng số thực 20 phần tử float sum(float *a) {…..} Hàm trả về một số thực. Tham số là một biến mảng thực hoặc một con trỏ thực float *nhap(int n) {…..} Hàm trả về giá trị là một con trỏ thực. Tham số là một số nguyên int max(int a, int b) {…..} Hàm trả về giá trị là một số nguyên. Tham số là hai số nguyên
- Hàm nguyên mẫu Thông báo cho trình biên dịch biết kiểu dữ liệu hàm trả lại, số lượng, kiểu và thứ tự của các tham số được truyền cho hàm Dùng để kiểm tra lời gọi hàm Không cần chỉ rõ tên của tham số hình thức
- Tham số trong lời gọi hàm Khái niệm Tham số hình thức: là các tham số được khai báo trong phần danh sách tham số trong định nghĩa hàm Tham số thực: các thông tin được truyền cho hàm trong các lời gọi hàm Mỗi tham số thực tương ứng với một tham số hình thức Kiểu dữ liệu của tham số hình thức quyết định kiểu giá trị của tham số thực
- Các bước xây dựng hàm: Khai báo kiểu hàm Đặt tên hàm Khai báo các đối Viết các câu lệnh
- Chú ý Hàm không cho giá trị thì dùng kiểu void Hàm không đối dùng void để khai báo đối Giá trị của biểu thức được chuyển kiểu phù hợp với kiểu của hàm trước khi được gán cho hàm
- Ví dụ - max #include #include float max(float, float); void main() { float a, b, c, d; printf("Nhap 4 so thuc:\n"); scanf("%f%f%f%f",&a,&b,&c,&d); printf("Max cua 4 so vua nhap la: %f",max(a,max(b,max(c,d)))); getch(); } float max(float x, float y) { return (x>y?x:y); }
- Truyền thông tin cho hàm Truyền theo trị Tạo ra một bản sao giá trị của tham số thực Giá trị của tham số thực không bị thay đổi Tham số thực có thể là biến, hằng, biểu thức Truyền theo tham biến Truyền trực tiếp giá trị tham số cho hàm được gọi (tham số hình thức và thực là một) Tham số thực bắt buộc phải là biến Giá trị của tham số thực có thể bị thay đổi
- Truyền tham số trong C Trong C, tất cả các tham số được truyền theo trị /*swap1.c*/ #include #include void swap(int x, int y); void main() { int x=3, y=4; clrscr(); printf("Gia tri truoc khi goi ham\n"); printf("%5d %5d\n",x,y); swap(x,y); printf("Sau khi goi ham\n"); printf("%5d %5d",x,y); getch(); }
- void swap(int x, int y) { int t; t = x; x = y; y = t; }
- Địa chỉ Các khái niệm liên quan đến biến Tên biến Kiểu biến Giá trị của biến Địa chỉ của biến là số thứ tự của byte đầu tiên trong một dãy các byte liên tiếp máy dành cho biến Phép toán lấy địa chỉ: &
- Con trỏ Khái niệm: con trỏ là một biến/hằng có giá trị là địa chỉ của một đối tượng khác Đốitượng: biến hoặc hàm Cho phép ta tham chiếu đến một biến thông qua địa chỉ
- Khai báo biến con trỏ Cú pháp: type *ptr_name type là kiểu dữ liệu của biến mà con trỏ chứa địa chỉ ptr_name là tên của biến trỏ type* là một kiểu dữ liệu con trỏ Biến trỏ chưa chỉ đến địa chỉ nào có giá trị NULL
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Ngôn ngữ lập trình Java căn bản
115 p | 353 | 104
-
Bài giảng Ngôn ngữ lập trình C++: Chương 1 - Trần Minh Châu
17 p | 252 | 54
-
Bài giảng Ngôn ngữ lập trình C# - Nguyễn Hồng Phương
409 p | 217 | 41
-
Bài giảng Ngôn ngữ lập trình trong SQL Servel - Phan Hiền
30 p | 230 | 28
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 1: Ngôn ngữ lập trình C) - Chương 1: Ôn tập một số nội dung chính của NNLT C
31 p | 171 | 13
-
Bài giảng Ngôn ngữ lập trình bậc cao - Th.S Đoàn Thị Thu Huyền
44 p | 151 | 10
-
Bài giảng Ngôn ngữ lập trình C: Chương 1 - TS. Nguyễn Thị Hiền
12 p | 63 | 9
-
Bài giảng Ngôn ngữ lập trình - Nguyễn Văn Linh
109 p | 123 | 8
-
Bài giảng Ngôn ngữ lập trình C - Chương 1: Giới thiệu ngôn ngữ C
4 p | 107 | 8
-
Bài giảng Ngôn ngữ lập trình C và C++: Bài 1 - TS. Đỗ Đăng Khoa
53 p | 114 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 5: Các lớp nhập/xuất trong C++
19 p | 133 | 7
-
Bài giảng Ngôn ngữ lập trình C: Chương 1 - PhD. Nguyễn Thị Huyền
12 p | 58 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ C++) - Chương 2: Giới thiệu về ngôn ngữ lập trình C++
49 p | 138 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++: Bài 4 - TS. Đỗ Đăng Khoa
40 p | 96 | 5
-
Bài giảng Ngôn ngữ lập trình: Bài 1 - Lý Anh Tuấn
30 p | 83 | 5
-
Bài giảng Ngôn ngữ lập trình C/C++ (Bài giảng tuần 1) – Nguyễn Hải Châu
7 p | 150 | 5
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 3: Lớp và đối tượng
52 p | 113 | 5
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 6: Mẫu (template)
27 p | 89 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn