Tài liệu học lập trình c cho người khiếm thị
  • 1. LỜI NÓI ĐẦU
    • Lời nói đầu
  • 2. BÀI HỌC LÝ THUYẾT
    • Bài 1. Giới thiệu về ngôn ngữ lập trình C
    • Bài 2. Cài đặt môi trường và viết chương trình đầu tiên
    • Bài 3. Biến và kiểu dữ liệu
    • Bài 4. Toán tử và biểu thức
    • Bài 5. Nhập và xuất trong C
    • Bài 6. Câu lệnh điều kiện rẽ nhánh
    • Bài 7. Vòng lặp
    • Bài 8. Mảng
    • Bài 9. Con trỏ
    • Bài 10. Hàm
    • Bài 11. Chuỗi
    • Bài 12. Các kiểu dữ liệu nâng cao và thuật toán sắp xếp
    • Bài 13. Quản lý tập tin
  • Bài tập nhỏ
    • Bài tập 1: Biến và kiểu dữ liệu
    • Bài tập 2: Toán tử và biểu thức
    • Bài tập 3: Nhập và xuất trong C
    • Bài tập 4: Câu lệnh điều kiện
    • Bài tập 5: Vòng lặp
    • Bài tập 6: Mảng
    • Bài tập 7: Con trỏ
    • Bài tập 8: Hàm
    • Bài tập 9: Chuỗi
    • Bài tập 10: Dữ liệu nâng cao và sắp xếp
    • Bài tập 11: Quản lý tập tin
  • Bài tập lớn
    • Bài tập 1: Quản lý sinh viên
    • Bài tập 2: Phần mềm quản lý thư viện
    • Bài tập 3: Chương trình quản lý danh bạ
  • 4. VÍ DỤ MINH HỌA
    • Ví dụ 1: Chương trình Hello World
    • Ví dụ 2: Máy tính đơn giản
    • Ví dụ 3: Kiểm tra số nguyên tố
    • Ví dụ 4: Đọc và ghi file trong C
    • Ví dụ 5: Sử dụng con trỏ trong C
    • Ví dụ 6: Quản lý sinh viên sử dụng struct
    • Ví dụ 7: Sắp xếp mảng bằng thuật toán Bubble Sort
    • Ví dụ 8: Đọc ghi file CSV
    • Ví dụ 9: Duyệt mảng bằng con trỏ
    • Ví dụ 10: Quản lý bộ nhớ động
    • Ví dụ 11: Sử dụng vòng lặp để xử lý dữ liệu
    • Ví dụ 12: Xử lý chuỗi bằng thư viện string.h
    • Ví dụ 13: Cấu trúc dữ liệu nâng cao
  • 5. PHỤ LỤC
    • phần I. Các hàm chuẩn trong thư viện C
    • phần II. Cấu trúc dữ liệu trong C
    • Phần III: Thuật toán cơ bản
    • Phần IV: Thuật ngữ lập trình
  • 6. THÔNG TIN TÀI LIỆU
    • thông tin tài liệu
Powered by GitBook
On this page
  • I: Mục tiêu bài học:
  • II: Nội dung bài học:
  • 1. Giới thiệu về hàm trong C
  • 2. Cấu trúc của một hàm
  • 3. Hàm có tham số và không có tham số
  • 4. Truyền tham số theo giá trị và tham chiếu
  • 5. Phạm vi biến trong hàm
  • III. Lưu ý dành cho người khiếm thị
  • IV. Tóm tắt bài học
  • V. Kết nối tới bài học tiếp theo
  1. 2. BÀI HỌC LÝ THUYẾT

Bài 10. Hàm

I: Mục tiêu bài học:

Sau khi học xong bài này, người học có thể:

  • Hiểu khái niệm về hàm trong lập trình C.

  • Biết cách khai báo, định nghĩa và gọi hàm.

  • Nắm được phạm vi biến và cách truyền tham số vào hàm.

  • Áp dụng hàm để tổ chức chương trình một cách khoa học và dễ bảo trì.

II: Nội dung bài học:

1. Giới thiệu về hàm trong C

Hàm là một khối lệnh có nhiệm vụ thực hiện một công việc cụ thể. Sử dụng hàm giúp chương trình được tổ chức gọn gàng, dễ bảo trì và tái sử dụng.

Ví dụ về một hàm đơn giản trong C:

#include <stdio.h>

// Hàm in ra thông điệp chào
void sayHello() {
    printf("Xin chào! Chào mừng bạn đến với lập trình C.\n");
}

int main() {
    sayHello(); // Gọi hàm
    return 0;
}

2. Cấu trúc của một hàm

Một hàm trong C có cấu trúc cơ bản như sau:

dữ_liệu_trả_về tên_hàm(danh_sách_tham_số) {
    // Khối lệnh của hàm
    return giá_trị; // (nếu có)
}

Trong đó:

  • dữ_liệu_trả_về: Kiểu dữ liệu mà hàm trả về (nếu không có thì dùng void).

  • tên_hàm: Tên của hàm, tuân theo quy tắc đặt tên trong C.

  • danh_sách_tham_số: Danh sách các tham số (nếu có) mà hàm nhận vào.

  • return giá_trị: Câu lệnh trả về kết quả (chỉ sử dụng nếu hàm có kiểu trả về khác void).

Ví dụ về hàm tính tổng hai số nguyên:

#include <stdio.h>

int sum(int a, int b) {
    return a + b;
}

int main() {
    int result = sum(5, 7);
    printf("Tổng: %d\n", result);
    return 0;
}

3. Hàm có tham số và không có tham số

Hàm có thể có hoặc không có tham số:

  • Hàm không có tham số:

    void printMessage() {
        printf("Đây là hàm không có tham số!\n");
    }
  • Hàm có tham số:

    void greet(char name[]) {
        printf("Xin chào, %s!\n", name);
    }

4. Truyền tham số theo giá trị và tham chiếu

4.1 Truyền tham số theo giá trị

Khi truyền tham số theo giá trị, hàm chỉ nhận bản sao của biến.

void changeValue(int x) {
    x = 10; // Thay đổi giá trị của x nhưng không ảnh hưởng đến biến gốc
}

4.2 Truyền tham số theo tham chiếu

Khi truyền tham số theo tham chiếu, hàm có thể thay đổi giá trị của biến gốc.

void changeValue(int *x) {
    *x = 10; // Thay đổi giá trị của biến gốc
}

5. Phạm vi biến trong hàm

Biến trong C có phạm vi khác nhau:

  • Biến cục bộ: Khai báo bên trong hàm, chỉ sử dụng được trong hàm đó.

  • Biến toàn cục: Khai báo bên ngoài tất cả các hàm, có thể được truy cập từ nhiều hàm khác nhau.

Ví dụ:

#include <stdio.h>

int globalVar = 10; // Biến toàn cục

void display() {
    int localVar = 5; // Biến cục bộ
    printf("Biến toàn cục: %d, Biến cục bộ: %d\n", globalVar, localVar);
}

int main() {
    display();
    return 0;
}

III. Lưu ý dành cho người khiếm thị

  • Khi làm việc với hàm, cần đọc kỹ cú pháp khai báo và cách gọi hàm để tránh lỗi.

  • Nếu sử dụng trình đọc màn hình, hãy để ý sự khác biệt giữa truyền tham số theo giá trị và tham chiếu.

  • Nên thực hành viết và chạy từng ví dụ để hiểu rõ cách hoạt động của hàm.

IV. Tóm tắt bài học

  • Hàm là một khối lệnh thực hiện nhiệm vụ cụ thể và giúp chương trình dễ tổ chức hơn.

  • Hàm có thể có hoặc không có tham số.

  • Có hai cách truyền tham số: theo giá trị và theo tham chiếu.

  • Biến trong hàm có thể là biến cục bộ hoặc biến toàn cục.

V. Kết nối tới bài học tiếp theo

Ở bài tiếp theo, chúng ta sẽ tìm hiểu về Chuỗi trong C. Chuỗi là một dạng dữ liệu quan trọng giúp xử lý văn bản, ký tự trong lập trình. Hãy cùng khám phá nhé!

PreviousBài 9. Con trỏNextBài 11. Chuỗi

Last updated 2 months ago