Please enable JavaScript.
Coggle requires JavaScript to display documents.
CHƯƠNG 2: GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C - Coggle Diagram
CHƯƠNG 2: GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C
2.1. Lịch sử và đặc điểm của C
Lịch sử
Dennis Ritchie (Bell Labs), 1972
Kế thừa từ ngôn ngữ B và BCPL
Viết lại UNIX bằng C (1973)
Chuẩn hóa: ANSI C (C89), ISO C (C90)
Sách “The C Programming Language” (1978)
Là nền tảng cho C++, Java, C#
Đặc điểm
Ngôn ngữ có cấu trúc (hàm, khối lệnh)
Tính khả chuyển cao
Mạnh về xử lý số, văn bản, cơ sở dữ liệu
Là ngôn ngữ hệ thống (driver, OS, nhúng)
2.2. Môi trường lập trình C
Quy trình xây dựng chương trình
Soạn thảo → Biên dịch → Liên kết → Thực thi
Ghi chú
Có thể dùng Notepad++ + trình biên dịch riêng
Trên Linux: dùng mcedit và g++
IDE phổ biến
Visual C++ (Microsoft)
Turbo C++, Borland C++
GCC (Linux, MinGW)
2.3. Các thành phần cơ bản của C
Các kiểu dữ liệu cơ sở
Số thực: float, double – biểu diễn thập phân hoặc khoa học (E/e).
Logic: C quy ước 0 = sai, khác 0 = đúng.
Số nguyên: int, short, long, unsigned...
Ký tự: char (có thể dùng như số nguyên). Hằng ký tự: 'A', xâu: "Hello".
Câu lệnh
Lệnh phức (khối): { ... }
Biến khai báo trong khối chỉ có hiệu lực trong khối đó.
Lệnh đơn: a = 5;
Hằng
Cách 1: #define MAX 100
Cách 2: const int MAX = 100;
Không thay đổi giá trị trong chương trình.
Toán tử
Logic: && || !
Đặc biệt:
Gán: =, kết hợp += -= *= /= %=
Dấu phẩy: tính lần lượt, lấy giá trị cuối
Điều kiện: đk ? true : false
Lấy địa chỉ: &
Ép kiểu: (kiểu) biểu_thức
Quan hệ: < <= > >= == !=
Thứ tự ưu tiên – nên dùng () để rõ ràng.
Thao tác bit: & | ^ ~ << >>
Số học: + - * / %, ++ -- (tiền tố/hậu tố)
Tên (định danh)
Quy tắc: bắt đầu bằng chữ hoặc _, không chứa khoảng trắng, không trùng từ khóa.
C phân biệt chữ hoa/thường.
Biểu thức
Các loại: số học, logic, quan hệ.
Kết hợp toán tử và toán hạng.
Dùng trong gán, điều kiện, vòng lặp, gọi hàm.
Từ khóa
Lưu ý: viết thường, không dùng làm tên biến.
int, float, char, if, else, for, while, return, struct, typedef...
Hàm
Bắt buộc phải có hàm main() – điểm bắt đầu chương trình.
Không được định nghĩa hàm lồng nhau.
Là đơn vị độc lập, có thể nhận tham số và trả về giá trị.
Tập ký tự
Chữ cái (hoa/thường), chữ số, ký hiệu toán học, dấu cách, ký hiệu đặc biệt.
Biến
Khai báo: kiểu_dữ_liệu tên_biến;
Phạm vi: toàn cục, cục bộ (trong hàm/khối lệnh).
Có thể khởi tạo: int a = 5, b = 6;
2.4. Cấu trúc chương trình C
Thứ tự các phần:
Khai báo tệp tiêu đề – #include <stdio.h>, #include "conio.h"
Khai báo macro – #define PI 3.14
Định nghĩa kiểu dữ liệu mới – typedef int SoLuong;
Khai báo nguyên mẫu hàm – int tong(int a, int b);
Khai báo biến toàn cục – int x, y;
Hàm main() – bắt buộc, kiểu trả về là int.
Định nghĩa các hàm – viết sau main hoặc trước (nếu có nguyên mẫu).
Quy tắc xây dựng:
Khối lệnh đặt trong { }
Chú thích: // hoặc /
...
/
Mỗi lệnh kết thúc bằng ;
Căn lề sạch sẽ để dễ đọc.