Chương trình C giống như một điệu nhảy nhanh trên sàn nhảy mới được bôi sáp của người mang theo dao cạo râu. Edward V Berard
STDIO Đối với một lập trình viên lâu năm mà nói thì chắn hẳn Hàm không còn là một điều gì xa lạ. Tuy nhiên đối với một người mới làm quen với lập trình thì ngay cả một kiến thức cơ bản nhất cũng là một điều gì đó mới mẻ và Hàm cũng không phải là một ngoại lệ. Trong bài viết này, tôi sẽ trình bày khái niệm về Hàm với mong muốn sau bài viết này, bạn đọc sẽ hiểu được Hàm là gì?
Nội dung bài viết

Giới thiệu

Đối với một lập trình viên lâu năm mà nói thì chắn hẳn hàm (function) không còn là một điều gì xa lạ. Tuy nhiên đối với một người mới làm quen với lập trình thì ngay cả một kiến thức cơ bản nhất cũng là một điều gì đó mới mẻ và hàm cũng không phải là một ngoại lệ. Trong bài viết này, tôi sẽ trình bày khái niệm về hàm với mong muốn sau bài viết này, bạn đọc sẽ hiểu được hàm là gì?

Tiền đề bài viết

Có khá nhiều câu hỏi như return là gì? Truyền tham trị ra sao? Cách thức viết một hàm? Vì vậy tôi muốn thông qua bài viết này để giúp các bạn hiểu rõ hơn khái niệm về hàm.

Đối tượng hướng đến

Bài viết dành cho những lập trình viên đang trong quá trình tìm hiểu lập trình căn bản C++.

Hàm là gì?

Nói một cách dễ hiểu ta có thể tưởng tượng hàm là một chương trình con trong chương trình lớn. Hàm nhận (hoặc không) các đối số và trả lại (hoặc không) một giá trị cho chương trình gọi nó.

Bạn có 2 số nguyên 3 và 4. Khi truyền vào hàm nó sẽ giúp bạn trả về một giá trị là 7. Hàm này là hàm thực hiện công việc tính tổng của 2 số nhận vào và trả về giá trị là tổng của hai số đó.

Một chương trình dạng C++ console là tập hợp các hàm, trong đó có một hàm chính với tên gọi main(). Khi chạy chương trình, hàm main() sẽ được chay đầu đầu tiên và gọi đến hàm khác. Kết thúc hàm main() cũng là kết thúc chương trình.

Hàm giúp cho việc phân đoạn chương trình thành những thành phần riêng lẻ, hoạt động độc lập với chương trình lớn, có nghĩa một hàm có thể được sử dụng trong chương trình này mà cũng có thể được sử dụng trong chương trình khác, dễ cho việc kiểm tra và bảo trì chương trình.

Ví dụ 1: Trường hợp không dùng hàm tính trung bình cộng 2 số

#include <iostream>
using namespace std;

int main()
{
	// Trung bình cộng của 3 và 7
	cout << (3 + 7)/2.0;
	
	// Trung bình cộng của 4 và 6
	cout << (4 + 6)/2.0

	return 0;
}

Ví dụ 2: Trường hợp dùng hàm tính trung bình cộng 2 số

#include <iostream>
using namespace std;

// Định nghĩa hàm tính trung bình cộng 2 số
double avg(int a, int b)
{
	return (a + b)/2.0;
}

int main()
{
	// Trung bình cộng của 3 và 7
	cout << avg(3, 7);
	
	// Trung bình cộng của 4 và 6
	cout << avg(4, 6);

	return 0;
}

Ở ví dụ 2, avg làm Hàm mà tôi đang đề cập. Để hiểu cách định nghĩa và sử dụng hàm, vui lòng đọc bài kế tiếp Khai Báo Và Định Nghĩa Hàm - Từ Khóa return :: http://www.stdio.vn/articles/read/143-khai-bao-va-dinh-nghia-ham-tu-khoa-return.

Từ 2 ví dụ trên, ta còn thấy lợi ích của hàm có thể tạo ra 1 nguyên tắc chung không thay đổi, vì trong tương lai ta có thể "quên công thức" tính trung bình cộng và làm sai nếu cứ làm theo ví dụ 1. Với ví dụ 2, chỉ cần gọi hàm avg và truyền 2 giá trị vào, sẽ được giá trị trung bình.

Đặc trưng của hàm

  • Được gọi từ chương trình chính (hàm main), từ hàm khác hoặc từ chính nó (nếu là đệ quy).
  • Có 2 cách truyền tham số: Truyền theo tham trị và tham chiếu.
  • Hàm không được định nghĩa lồng vào nhau.

Bạn cần hỗ trợ các dự án kết nối không dây?

Quí doanh nghiệp, cá nhân cần hỗ trợ, hợp tác các dự án IoT, kết nối không dây. Vui lòng liên hệ, hoặc gọi trực tiếp 0942.111912.

  • TỪ KHÓA
  • Arduino
  • ESP32
  • ESP8266
  • Wifi
  • Bluetooth
  • Zigbee
  • Raspberry Pi
THẢO LUẬN
ĐÓNG