Khái Niệm Hàm (function) Trong Lập Trình Và Minh Họa Với C++
Có thể bạn quan tâm
Bài này sẽ giới thiệu về khái niệm hàm (function) cũng như cách xây dựng hàm. Các bạn cần nắm vững hàm bởi các bạn sẽ sử dụng hàm rất nhiều và hàm giúp bạn tổ chức chương trình tốt hơn.
1. Tại sao phải sử dụng hàm (function)
Ví dụ, cần viết chương trình tính S = a! + b! + c! với a, b, c là 3 số nguyên dương nhập từ bàn phím.
3 đoạn lệnh nhập a, b, c > 0
do { cout<<"Nhap mot so nguyen duong:"; cin>>a; } while (a <= 0); do { cout<<"Nhap mot so nguyen duong:"; cin>>b; } while (b <= 0); do { cout<<"Nhap mot so nguyen duong:"; cin>>c; } while (c <= 0);3 đoạn lệnh tính s1 = a!, s2 = b!, s3 = c!
//s1 = a! = 1 * 2 * … * a s1 = 1; for (i = 2; i <= a ; i++) s1 = s1 * i; //s2 = b! = 1 * 2 * … * b s2 = 1; for (i = 2; i <= b ; i++) s2 = s2 * i; //s3 = c! = 1 * 2 * … * c s3 = 1; for (i = 2; i <= c ; i++) s3 = s3 * i;Nhận xét:
– Cùng một công việc có tính chất giống nhau được thực hiện nhiều lần
– Code sẽ dài dòng và rối rắm
Giải pháp: Viết 1 lần và sử dụng nhiều lần.
Đoạn lệnh nhập tổng quát, với n = a, b, c
do { cout << "Nhap mot so nguyen duong: "; cin >> n; } while (n <= 0);Đoạn lệnh tính giai thừa tổng quát với n = a, b, c
//s = n! = 1 * 2 * … * n s = 1; for (i = 2; i <= n ; i++) s = s * i;Để sử dụng những đoạn lệnh tổng quát này nhiều lần, ta đưa chúng vào hàm (function).
2. Khái niệm hàm (function)
Hàm (function) là một đoạn chương trình có tên, đầu vào và đầu ra. Hàm có chức năng giải quyết một số vấn đề chuyên biệt cho chương trình chính. Hàm được gọi nhiều lần với các tham số khác nhau.
Hàm là một đơn vị độc lập của chương trình, không cho phép xây dựng một hàm bên trong một hàm khác.
Một chương trình bao gồm một hoặc nhiều hàm. Trong đó, hàm main() là thành phần bắt buộc của chương trình.
3. Cú pháp khai báo hàm và các bước viết hàm
Cú pháp:
<kiểu trả về> <tên hàm>([danh sách tham số])
{
<các câu lệnh>
[return <giá trị>;]
}
Trong đó:
<kiểu trả về>: kiểu dữ liệu bất kỳ trong C++ (char, int, float,…). Nếu không trả về thì là void.
<tên hàm>: theo quy tắc đặt tên định danh.
<danh sách tham số>: tham số hình thức đầu vào giống khai báo biến, cách nhau bằng dấu “,”
<giá trị>: trả về cho hàm qua lệnh return.
Giá trị trả về của hàm
– Được xác định dựa vào mục đích của hàm.
– Trong thân hàm, phải trả về đúng <kiểu trả về> đã định ban đầu.
– Nếu các hàm không trả về giá trị thì phải khai báo kiểu void.
Ví dụ:
int TinhTong(int a, int b) { int S; … return S; }Các bước viết hàm
Cần xác định các thông tin sau:
- Tên hàm.
- Hàm sẽ thực hiện công việc gì.
- Các đầu vào (nếu có).
- Đầu ra (nếu có).

Lời gọi hàm
Để sử dụng hàm thì cần định nghĩa hàm trước và gọi hàm.
Lưu ý: Trong C++, hàm cần được định nghĩa trước rồi mới gọi hàm, định nghĩa sau sẽ bị lỗi. Nếu lời gọi hàm trong main() mà định nghĩa hàm ở phía dưới main() sẽ bị lỗi.
Chương trình sau sẽ báo lỗi chưa khai báo hàm greet();
#include <iostream> using namespace std; int main() { // calling the function greet();// error when calling the function return 0; } // declaring a function void greet() { cout << "Hello there!"; }4. Một số ví dụ sử dụng hàm
Chương trình C++ in ra số nguyên và số thực
#include <iostream> using namespace std; // display a number void displayNum(int n1, float n2) { cout << "The int number is " << n1<<endl; cout << "The double number is " << n2<<endl; } int main() { int num1 = 5; double num2 = 5.5; // calling the function displayNum(num1, num2); system("pause"); }Kết quả
The int number is 5 The double number is 5.5Chương trình C++ tính tổng 2 số nguyên
#include <iostream> using namespace std; // declaring a function int add(int a, int b) { return (a + b); } int main() { int a; int b; cout<<"Input a:"; cin>>a; cout<<"Input b:"; cin>>b; int sum; // calling the function and storing // the returned value in sum sum = add(a, b); cout << "Sum of "<<a<<" and "<<b<<" = " << sum << endl; system("pause"); }Kết quả
Input a:100 Input b:78 Sum of 100 and 78 = 178Khi sử dụng hàm, các bạn nên lưu ý kiểu trả về của hàm phải giống kiểu trả về của kết quả trong thân hàm.
- Cài đặt Python và môi trường lập trình với Visual Studio Code
- Thay thế chuỗi hoặc mảng với hàm str_replace() trong PHP
- Các biến superglobals trong PHP
- Chương trình tìm dãy số Fibonacci trong Java
- Khái niệm lớp cơ sở ảo trong lập trình hướng đối tượng với C++
Từ khóa » Function Là Gì Trong C++
-
7.0 Làm Quen Với Khái Niệm Function - Khóa Học C++
-
Cách Viết Hàm Và Cách Gọi Hàm Trong C++ (function)
-
Function Là Gì? Làm Quen Với Hàm Function Trong Lập Trình C+ - 123Job
-
Hàm Trong C++ - Học Lập Trình C++ Online - VietTuts
-
Lập Trình C: Hàm (Function) | V1Study
-
Con Trỏ Hàm Trong C++ (Function Pointers) | How Kteam
-
Cơ Bản Về Hàm Và Giá Trị Trả Về (Basic Of Functions And Return Values)
-
Nguyên Mẫu Hàm Trong C/C++ Là Gì? Và Cách Sử Dụng
-
Hàm Trong C++
-
[Tự Học C++] Tìm Hiểu Về Tham Số Và đối Số Trong Hàm | TopDev
-
1001 Tips: Con Trỏ Và Hàm (Pointer & Function) Trong C++ - TopDev
-
Hàm Trong C/C++
-
Hàm Thành Viên Trong C++
-
[Lập Trình C++ Cơ Bản] Bài 6: Hàm Trong C++ - Viblo