Trong bài này chúng ta sẽ đến với một kiến thức rất quan trọng trong lập trình đó là Hàm và cách sử dụng hàm trong lập trình C.
Bài 11 Trong serie Học lập trình C từ A tới Z
Hàm là gì?
Hàm (function) hay chương trình con là một thuật ngữ chỉ một cụm câu lệnh được đặt tên để chương trình có thể gọi bất cứ lúc nào.
Ví dụ: Chương trình của bạn là đi bộ.
Vậy thì đi bộ sẽ chia ra các động tác là, bước chân trái lên, thăng bằng, bước chân phải lên, thăng bằng.
Trong các động tác đó, sẽ có các câu lệnh ra lệnh cho cơ thể rút cơ nào, nhả cơ nào, cường độ ra sao để hoàn thành 1 bước chân.
Vậy những động tác đó trong lập trình người ta gọi là Hàm. Một hàm có thể chứa câu lệnh và các hàm khác, có thể cần tham số truyền vào như (số bước chân, góc bước, tốc độ bước) và có thể có giá trị trả về (return) như gặp vật cản, leo dốc, ….
Cú pháp khai báo hàm
Trong đó:
- Return type: là kiểu dữ liệu trả về
- Function name: là tên Hàm
- parameter: là tham số truyền vào, nếu không có tham số sẽ để là void
- Body: phần chương trình của hàm
Hàm hoạt động ra sao
Nói đơn giản, khi chương trình gọi tới hàm, nó sẽ nhảy tới câu lệnh đầu tiên trong hàm đó, rồi xử lý đến hết hàm rồi thoát ra. Dấu móc nhọn đầu tiên là bắt đầu, móc nhọn đóng là kết thúc hàm.
- Chương trình của bạn sẽ nhảy tới nơi định nghĩa hàm đó và thực thi các lệnh từ trên xuống dưới ở trong hàm đó.
- Khi hàm thực hiện xong, chương trình tiếp tục quay về thực hiện các lệnh phía sau lời gọi hàm.
Các kiểu sử dụng hàm
Hàm có trả về giá trị trả về và có tham số truyền vào
VD: Tạo hàm cộng 2 số
#include <stdio.h> int addition(int num1, int num2) { int sum; sum = num1+num2; return sum; //tra ve gia tri } int main() { int var1, var2; printf("Enter number 1: "); scanf("%d",&var1); printf("Enter number 2: "); scanf("%d",&var2); int res = addition(var1, var2); //goi ham printf ("Output: %d", res); return 0; }
Kết quả
Hàm không giá trị trả về và không tham số truyền vào
Tạo hàm giới thiệu bản thân
#include <stdio.h> void introduction() { printf("Hi\n"); printf("Toi la khuenguyencreator\n"); printf("chuc cac ban hoc tap that tot"); } int main() { introduction(); return 0; }
Kết quả
Hàm không giá trị trả về và có tham số truyền vào
Hàm kiểm tra số chẵn lẻ
#include <stdio.h> void checkEvenNumber(int n);//ham check so chan int main() { int n; printf("Nhap so: "); scanf("%d",&n); checkEvenNumber(n); return 0; } void checkEvenNumber(int n) { //nếu số chia hết cho 2 if((n % 2) == 0) printf("%d la so chan",n); else printf("%d la so le", n); }
Kết quả
Hàm có giá trị trả về và không có tham số truyền vào
Hàm nhập kí tự từ bàn phím
#include <stdio.h> int getInput(void);//nhap so int main() { int n; n = getInput(); //nếu số chia hết cho 2 if((n % 2) == 0) { printf("%d la so chan",n); } else { printf("%d la so le", n); } return 0; } int getInput(void) { int number; printf("Nhap so: "); scanf("%d",&number); return number; }
Kết quả
Kết
Hàm là một khái niệm cực kì quan trọng trong lập trình, các bạn bắt buộc phải sử dụng hàm trong các bài lập trình. Có thể hàm sẽ được cung cấp sẵn bởi thư viện hoặc tự tạo như bài.
Nếu thấy có ích hãy chia sẻ bài viết và tham gia nhóm Nghiện Lập Trình để giao lưu và học hỏi nhé