Hàm là gì trong c
This entry is part 25 of 69 in the series Học C Không Khó 84 / 100 Show Trong bài học này, Lập trình không khó sẽ hướng dẫn các bạn các kiến thức căn bản nhất về hàm trong C (tên gọi khác là chương trình con). Mình sẽ đưa ra lý do tại sao nên dùng hàm, cách gọi hàm ở trong ngôn ngữ C và cách hoạt động của một chương trình có sử dụng các hàm con… Và tất nhiên trong khóa học c bá đạo này, các bài tập và ví dụ là không thể thiếu trong mỗi bài học. Video hướng dẫn hàm trong CDưới đây là video hướng dẫn căn bản về hàm do người dùng định nghĩa ở trong ngôn ngữ C. Nói là hàm người dùng định nghĩa là để phân biệt với các hàm có sẵn trong các thư viện như bài học trước chúng ta vừa tìm hiểu. Các bạn nên tiếp tục đọc bài viết để có cái nhìn sâu sắc hơn về hàm trong C. Hàm trong C là gì?Đặt vấn đề: Giả sử bạn muốn xây dựng một công ty (một chương trình máy tính bỏ túi). Công ty của bạn được thành lập với 4 mục tiêu chính như sau: tính tổng, hiệu, tích, thương của 2 số nguyên nhập từ bàn phím. Nếu công ty của bạn chỉ có một thành viên và thành viên đó phải tự làm và quản lý hết tất cả 4 công việc trên (code tất cả trong hàm main()) – Điều này là hoàn toàn khả thi. Nhưng bạn thử nghĩ xem, một mình bạn ôm cả 4 công việc đó thì liệu bạn có thể quản lý nó được tốt không? bạn có thể dành thời gian để tối ưu và phát triển mỗi công việc đó không? Bạn nghĩ sao nếu những lúc căng thẳng khiến bạn quên hoặc thực hiện nhầm công việc đáng ra mình cần làm? Giải pháp: Thuê 4 ông nhân viên về và trả lương cho họ, mỗi ông (hàm con) chỉ làm một việc duy nhất. Khi đó, công việc của sếp (là hàm main() ý) là quản lý các ông nhân viên này, khi nào cần thì gọi ông ý làm cho mình và nếu có vấn đề gì ở 1 công việc nào đó thì cứ lôi cổ ông nhân viên đó ra mà xử lý. Vậy thì hàm trong C là gì? Hàm chính là các ông nhân viên trong vấn đề phía trên. Trong lập trình, hàm là các khối code nhỏ chỉ thực hiện một chức năng nhất định của bài toán lớn. Bạn có thể hình dung cái khung của công ty phía trên sau khi áp dụng giải pháp ta được như sau:
Ưu điểm khi dùng chương trình conSau đây là một số ưu điểm nổi bật của sử dụng chương trình con (hàm) mà mình có thể liệt kê, nhưng có 1 điều chắc chắn rằng: Hãy cố gắng thực hành viết code của bạn sử dụng hàm nếu có thể nhé.
Cách hoạt động của hàm trong CHình ảnh dưới đây cho bạn thấy cách hoạt động của hàm (chương trình con) ở trong ngôn ngữ C. Khi một lời gọi hàm được thực thi thì:
Chương trình máy tính bỏ túi đơn giảnSau đây mình sẽ lấy một ví dụ sử dụng hàm trong C (chương trình con) để xây dựng ứng dụng máy tính bỏ túi đơn giản thực hiện 4 chức năng cơ bản là cộng, trừ, nhân, chia. Các bạn xem giải thích ở trong code cùng với xem video để hiểu hơn nhé.
Kết quả chạy chương trình:
Các bài viết sau sẽ nói rõ hơn về các loại hàm và rất nhiều bài tập thực hành, bạn hãy tiếp tục theo dõi để trang bị cho mình kiến thức đầy đủ về hàm trong C nhé! Các loại hàm trong CSau đây, mình sẽ lấy 1 ví dụ tham khảo từ tài liệu số [2] để thể hiện cho các bạn thấy có 4 loại hàm trong C. Chúng ta sẽ dùng 4 cách viết hàm khác nhau để giải quyết cùng 1 bài toán: “Kiểm tra 1 số người dùng nhập từ bàn phím có phải là số nguyên tố không”. Sau cùng, chúng ta sẽ đi đến những kết luận! 1. Hàm không có tham số, không có giá trị trả về
Như bạn thấy, hàm checkPrimeNumber() không có tham số đầu vào, bản thân nó tự thực hiện nhận giá trị từ bàn phím, kiểm tra và sau đó cũng in ra kết quả luôn. Vì là nó không trả về giá trị nên chúng ta dùng kiểu void, bạn sẽ học nó ở bài tiếp theo.
2. Hàm không có tham số, có trả về giá trị
Trong đoạn code trên, hàm getInteger() nhập 1 số từ bàn phím và trả ra cho chúng ta giá trị đó. Còn việc kiểm tra là số nguyên tố hay không thì chúng ta viết nó trong hàm main(). Tại vì chúng ta muốn viết hàm kiểm tra số nguyên tố thì hàm này cần tham số là “số cần kiểm tra”.
3. Hàm có tham số, không trả về giá trị
Nhận thấy, hàm checkPrimeAndDisplay() nhận vào là một số cần kiểm tra, sau đó thực hiện kiểm tra và in ra kết quả.
4. Hàm có tham số, có trả về giá trị
Ở trường hợp lần này, hàm checkPrimeNumber() chỉ nhận nhiệm vụ nhận vào 1 số và kiểm tra xem số đó có phải số nguyên tố hay không.
Mình chót lỡ nhận xét sau mỗi ví dụ rồi thì thôi các bạn tự điền câu chốt hạ giúp mình nhé. Việc sử dụng hàm cần khéo léo để code của chúng ta được “sạch sẽ”. Các bạn nhớ đọc thêm cả tài liệu tham khảo nữa nhé! Tài liệu tham khảo |