Ngôn ngữ lập trình C

Cấu trúc cơ bản của một chương trình C

Một chương trình C tiêu biểu có cấu trúc rõ ràng và chặt chẽ, bao gồm nhiều thành phần riêng biệt, mỗi thành phần đảm nhiệm một chức năng xác định. Hình dưới đây minh họa cấu trúc của một chương trình đơn giản.

C Program Structure
  1. Mô tả tài liệu - Documentation

    Phần mô tả tài liệu không phải là thành phần bắt buộc trong cấu trúc chương trình C, nhưng được khuyến khích sử dụng nhằm trình bày mục đích, chức năng và các thông tin liên quan. Thông thường, mỗi tập tin nên có phần mô tả ở đầu để giúp lập trình viên hiểu rõ vai trò và ý nghĩa của tập tin đó.

    Nội dung mô tả có thể được viết trên một dòng hoặc nhiều dòng dưới dạng chú thích.

  2. Các chỉ thị tiền xử lý - Preprocessor directives

    Các chỉ thị tiền xử lý là các lệnh đặc biệt bắt đầu bằng ký tự #, được xử lý bởi bộ tiền xử lý (preprocessor) trước giai đoạn biên dịch chương trình.

  3. Các khai báo toàn cục - Global Declarations

    Các thành phần được khai báo bên ngoài tất cả các hàm được gọi là các thành phần toàn cục. Chúng có thể là biến, hằng số, nguyên mẫu hàm, macro tiền xử lý và các khai báo extern, thường được đặt sau các chỉ thị tiền xử lý.

  4. Hàm main()

    Một chương trình C hợp lệ phải có duy nhất một hàm main().

    Thân hàm main() là khối mã được đặt trong cặp dấu ngoặc nhọn {}. Bên trong thân hàm có thể bao gồm:

    • Các khai báo cục bộ: Khai báo biến, hằng số, kiểu dữ liệu và các thành phần chỉ sử dụng trong hàm main().
    • Các câu lệnh: Thực hiện các xử lý và điều khiển luồng thực thi của chương trình.
    • Câu lệnh return: Kết thúc hàm main() và trả về mã trạng thái thực thi của chương trình cho hệ điều hành.
  5. Hàm do người dùng định nghĩa - User-Defined Functions

    Trong ngôn ngữ C, ngoài hàm main() và các hàm do thư viện chuẩn cung cấp, lập trình viên có thể tự xây dựng thêm các hàm để đảm nhiệm những chức năng cụ thể trong chương trình. Những hàm này được gọi là hàm do người dùng định nghĩa.

    Các hàm do người dùng định nghĩa không phải là thành phần bắt buộc, nhưng giúp mã nguồn rõ ràng, có cấu trúc hơn, qua đó giúp chương trình dễ phát triển, mở rộng và bảo trì.