Bài học theo mô-đun (1/2)
Chức năng cơ bản
Các hàm cho phép tổ chức mã thành các khối logic có thể tái sử dụng, giảm sự trùng lặp và cải thiện khả năng đọc.
Trong C++, mọi hàm đều phải khai báo kiểu giá trị mà nó trả về, tên của nó và kiểu tham số mà nó chấp nhận.
Xác định một hàm
Đây là một ví dụ về một hàm đơn giản tính tổng hai số nguyên:
#include <iostream>
// Function definition
int add(int a, int b) {
return a + b; // Returns the sum
}
int main() {
int result = add(3, 4); // Function call
std::cout << "Result: " << result << std::endl;
return 0;
}Cấu trúc và chữ ký
- Loại trả về: loại giá trị được trả về bằng câu lệnh
return(ví dụ:int,double,bool). Nếu hàm không trả về bất kỳ giá trị nào thì loại đặc biệtvoidsẽ được sử dụng. - Tên: mã định danh để gọi hàm (sử dụng kiểu
camelCasetheo R2). - Tham số: danh sách các biến đầu vào được đặt trong dấu ngoặc đơn
(), mỗi biến có loại đứng trước.
Tuyên bố vs Định nghĩa
Để đặt các hàm bên dưới hàm main, trước tiên bạn phải khai báo prototype (chữ ký không có nội dung):
#include <iostream>
// Prototype (Declaration)
int multiply(int a, int b);
int main() {
std::cout << multiply(3, 5); // Valid
return 0;
}
// Definition
int multiply(int a, int b) {
return a * b;
}Hãy tự mình thử
Xác định một hàm có tên là bình phương nhận vào một số nguyên n và trả về bình phương của nó (n * n). Gọi nó bên trong main để tính bình phương của 5 và in nó bằng std::cout.
Hiển thị gợi ý
Chữ ký của hàm là `int Square(int n)`. Hãy nhớ đặt định nghĩa hàm trước `main`.
Giải pháp khả dụng sau 3 lần thử
Xác định hàm boolean có tên isEven nhận số nguyên n và trả về true nếu số đó là số chẵn (sử dụng % 2 == 0), nếu không thì trả về false. Gọi nó trong main bằng 4 và in nó.
Hiển thị gợi ý
Hàm phải trả về loại `bool`. Sử dụng`n % 2 == 0`.
Giải pháp khả dụng sau 3 lần thử