Chuyển đến nội dung
AIOTAIOT
  • Trang chủ
  • Giới thiệu
  • Tin tức
  • Sản phẩm
  • Giải pháp
    • Chấm công bằng Face ID
    • Thiết bị đọc căn cước
    • IoT trong giáo dục
    • IoT trong quản lý năng lượng
    • IoT trong y tế
  • Đào tạo
    • Khóa đào tạo cơ bản
      • Hệ thống nhúng
      • LabVIEW FPGA
      • Phần cứng máy tính & Truyền thông công nghiệp
      • FPGA cơ bản
    • Khóa đào tạo nâng cao
      • LabVIEW FPGA High Performance
    • Tài liệu
  • PCCC
  • Liên hệ
  • icon
    097 186 8316    |    0839 799 889
Đào tạo, Hệ thống nhúng, Khóa đào tạo cơ bản

[Embedded Series – Bài 2] Lập trình C cơ bản: Ngôn ngữ C, Kiểu dữ liệu và Biến

Đã đăng trên 02/04/202601/04/2026 bởi ThaoNguyen
02
Th4

Trong lộ trình trở thành một kỹ sư nhúng chuyên nghiệp, ngôn ngữ C chính là “ngôn ngữ mẹ” mà bất kỳ ai cũng cần phải làm chủ. Bài học hôm nay sẽ giúp các bạn hiểu rõ tại sao C lại quan trọng đến vậy, quy trình từ mã nguồn đến khi chạy trên phần cứng diễn ra như thế nào, và những viên gạch đầu tiên về kiểu dữ liệu.

🎯 Mục tiêu học tập

  • Nắm được lịch sử, ưu điểm và ứng dụng thực tế của ngôn ngữ C trong hệ thống nhúng.
  • Hiểu rõ quy trình biên dịch (Compilation Process) 5 giai đoạn.
  • Phân biệt được IDE, Text Editor và Compiler.
  • Làm chủ các kiểu dữ liệu cơ bản và vùng giá trị của chúng.

💡 Tài nguyên học tập bổ sung:

  • Web luyện code miễn phí: HackerRank, LeetCode.
  • Khóa học miễn phí: Coursera, edX, hoặc FreeCodeCamp.

1. Tổng quan về ngôn ngữ lập trình C

C là một ngôn ngữ lập trình cấp trung, đơn giản và cực kỳ linh hoạt. Nó được coi là nền tảng cho nhiều ngôn ngữ hiện đại như C++, Java, Python (Interpreter). Đối với lập trình nhúng, C là sự lựa chọn tối ưu nhờ khả năng tương tác trực tiếp với phần cứng.

Lịch sử phát triển

Được phát triển bởi Dennis M. Ritchie tại Bell Labs vào năm 1972 để xây dựng hệ điều hành UNIX. Năm 1978, tiêu chuẩn K&R ra đời, đánh dấu bước ngoặt đưa C trở thành ngôn ngữ phổ biến nhất thế giới.

Ưu và Nhược điểm

  • Ưu điểm: Tính linh động cao (portable), hiệu suất nhanh, có cấu trúc mô-đun dễ gỡ lỗi và bảo trì.
  • Nhược điểm: Không có tính năng hướng đối tượng (OOP), không kiểm tra lỗi nghiêm ngặt trong thời gian chạy (runtime), dễ gây lỗi bộ nhớ nếu không quản lý tốt.

2. Quy trình biên dịch (Compilation Process)

Máy tính chỉ hiểu ngôn ngữ máy (0 và 1). Quy trình chuyển đổi từ mã nguồn C sang tệp thực thi bao gồm 5 giai đoạn chính:

  1. Tiền xử lý (Pre-processor): Xử lý các chỉ thị bắt đầu bằng dấu # (như #include, #define), loại bỏ chú thích (comment).
  2. Dịch sang Assembly (Compiler): Chuyển mã C sang ngôn ngữ bậc thấp Assembly.
  3. Dịch sang mã máy (Assembler): Chuyển Assembly sang mã máy 0 và 1, tạo ra các tệp Object (.o hoặc .obj).
  4. Liên kết (Linker): Kết nối các tệp Object và thư viện lại thành một chương trình thực thi duy nhất.
  5. Thực thi (Loader): Nạp chương trình từ bộ nhớ ngoài vào RAM để CPU xử lý.

3. Thiết lập môi trường phát triển

Những khái niệm cơ bản:

  • IDE (Integrated Development Environment) là môi trường tích hợp dùng để viết code để phát triển ứng dụng.
  • Text Editor là một trình soạn thảo, không tích hợp sẵn trình biên dịch hoặc trình thông dịch bên trong nó, nghĩa là muốn chạy được ứng dụng, bạn phải dùng riêng compiler bên ngoài.
  • Compiler hay còn gọi là Trình biên dịch, là một chương trình có nhiệm vụ dịch các các code của một ngôn ngữ lập trình tương ứng thành một chương trình tương đương của ngôn ngữ cấp thấp hơn (thường là ngôn ngữ máy).

Để bắt đầu lập trình, bạn cần cài đặt các công cụ hỗ trợ (IDE/Text Editor):

  • Dev-C++: Nhẹ, phù hợp cho người mới bắt đầu.
  • Visual Studio Code: Mạnh mẽ, nhiều extension hỗ trợ, phổ biến trong môi trường chuyên nghiệp.
  • Code::Blocks: Một IDE mã nguồn mở ổn định cho C/C++.

4. Kiểu dữ liệu trong C

Kiểu dữ liệu xác định kích thước bộ nhớ và loại giá trị mà một biến có thể lưu trữ. Dưới đây là bảng các kiểu dữ liệu cơ bản (kiến trúc 32-bit):

Kiểu Kích thước Vùng giá trị
int 4 byte -2,147,483,648 đến 2,147,483,647
char 1 byte -128 đến 127
float 4 byte 1.2E-38 đến 3.4E+38 (6 chữ số thập phân)
double 8 byte 2.3E-308 đến 1.7E+308 (15 chữ số thập phân)

Ngoài ra, C còn có các kiểu dữ liệu khác như:

  • Kiểu dữ liệu có nguồn gốc (Derived): Con trỏ (Pointer), Mảng (Array), Struct, Union.
  • Kiểu dữ liệu liệt kê (Enum): Định nghĩa các hằng số nguyên rời rạc.
  • Kiểu trống (Void): Chỉ ra rằng không có giá trị nào.
📝 Tóm tắt: Ngôn ngữ C là nền tảng của hệ thống nhúng nhờ hiệu năng cao và khả năng can thiệp phần cứng. Việc hiểu quy trình biên dịch giúp bạn gỡ lỗi tốt hơn, trong khi nắm vững kiểu dữ liệu giúp tối ưu hóa bộ nhớ cho các vi điều khiển có tài nguyên hạn chế.

Gợi ý bài tiếp theo: Buổi 1 (Tiếp theo) – Biến, Hằng, Toán tử và Cấu trúc điều khiển.


Người thực hiện: Nguyễn Đình Tuấn

Email: tuannguyen.aiot@gmail.com | Website: aiots.vn

Mục nhập này đã được đăng trong Đào tạo, Hệ thống nhúng, Khóa đào tạo cơ bản và được gắn thẻ Embedded Systems.
ThaoNguyen

[Embedded Series – Bài 1] Tổng Quan Chương Trình Đào Tạo Lập Trình Nhúng Tại AIoT Systems
[Embedded Series – Bài 3] Làm Chủ Biến, Toán Tử Và Cấu Trúc Điều Khiển Trong Lập Trình C

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Bài viết mới
  • [Embedded Series – Bài 3] Làm Chủ Biến, Toán Tử Và Cấu Trúc Điều Khiển Trong Lập Trình C
  • [Embedded Series – Bài 2] Lập trình C cơ bản: Ngôn ngữ C, Kiểu dữ liệu và Biến
  • [Embedded Series – Bài 1] Tổng Quan Chương Trình Đào Tạo Lập Trình Nhúng Tại AIoT Systems
  • TỔNG KẾT WORKSHOP: AIOT, INTEL VÀ ASROCK ĐỒNG HÀNH PHÁT TRIỂN HỆ SINH THÁI KIOSK TẠI VIỆT NAM
  • DỰ ÁN THỰC HÀNH – BỘ ĐIỀU KHIỂN LED ĐA NĂNG (SMART LED CONTROLLER)
Danh mục
  • Đào tạo
  • FPGA cơ bản
  • Giải pháp
  • Hệ thống nhúng
  • IoT trong giáo dục
  • IoT trong y tế
  • Khóa đào tạo cơ bản
  • Khóa đào tạo nâng cao
  • LabVIEW FPGA
  • LabVIEW FPGA High Performance
  • Phần cứng máy tính & Truyền thông công nghiệp
  • Sản xuất công nghiệp
  • Thiết bị dịch vụ thông minh
  • Thiết bị đọc căn cước
  • Tin tức

CÔNG TY CỔ PHẦN HỆ THỐNG AIOT

VPGD: Số A21-TT9 Đường Foresa 1 KĐT Xuân Phương, Phường Xuân Phương, Hà Nội.

Địa chỉ kinh doanh: Đường Phú Diễn, Tổ dân phố 18, phường Phú Diễn, Thành phố Hà Nội, Việt Nam

Hotline/Zalo: 097 186 8316 | 0839 799 889

Email: aiot@aiots.vn

VỀ CHÚNG TÔI

Giới thiệu

Sản phẩm

Giải pháp

Đào tạo

Tin tức

QUY ĐỊNH & CHÍNH SÁCH

Chính sách thanh toán

Chính sách vận chuyển

Chính sách bảo hành

Chính sách đổi trả

Chính sách bảo mật

ĐỊA CHỈ VĂN PHÒNG GIAO DỊCH

Copyright 2024 © Bản quyền thuộc về AIOT. Thiết kế bởi Jamina JSC
  • Trang chủ
  • Giới thiệu
  • Tin tức
  • Sản phẩm
  • Giải pháp
    • Chấm công bằng Face ID
    • Thiết bị đọc căn cước
    • IoT trong giáo dục
    • IoT trong quản lý năng lượng
    • IoT trong y tế
  • Đào tạo
    • Khóa đào tạo cơ bản
      • Hệ thống nhúng
      • LabVIEW FPGA
      • Phần cứng máy tính & Truyền thông công nghiệp
      • FPGA cơ bản
    • Khóa đào tạo nâng cao
      • LabVIEW FPGA High Performance
    • Tài liệu
  • PCCC
  • Liên hệ
Zalo
Phone

Đăng nhập

Quên mật khẩu?