
BỘ LAO ĐỘNG THƯƠNG BINH VÀ XÃ HỘI
TRƯỜNG CAO ĐẲNG LÝ THÁI TỔ
GIÁO TRÌNH MÔ ĐUN
NGÔN NGỮ LẬP TRÌNH C
Ngành/nghề: Điện tử công nghiệp;
CNKT Điều khiển và Tự động hoá;
Ứng dụng phần mềm
Trình độ: Cao đẳng
NĂM 2023

1
LỜI GIỚI THIỆU
Ngôn ngữ lập trình C đã tồn tại hơn năm thập kỷ và vẫn đang được sử dụng rộng
rãi trong việc phát triển ứng dụng phần mềm, hệ thống nhúng và nhiều lĩnh vực khác
nhau. Điều này cho thấy tầm quan trọng của việc tiếp cận ngôn ngữ lập trình C đối với
những người học và làm việc trong các lĩnh vực liên quan đến phát triển ứng dụng, lập
trình điều khiển, tự động hóa,...
Giáo trình “Ngôn ngữ lập trình C” được các giảng viên khoa Điện – Điện tử,
Trường Cao đẳng Lý Thái Tổ biên soạn dựa trên cơ sở chuẩn đầu ra của các ngành/ nghề
đã ban hành.
Nội dung giáo trình sẽ giới thiệu khái niệm cơ bản của ngôn ngữ C, như là biến,
kiểu dữ liệu, và cú pháp, sau đó chuyển sang các khía cạnh nâng cao hơn về các câu
lệnh lập trình như cấu trúc điều kiện, vòng lặp, các hàm,... Ngoài ra, giáo trình này cũng
sẽ giới thiệu các chủ đề quan trọng khác như con trỏ, mảng và nhập/xuất dữ liệu. Thông
qua các ví dụ minh họa và bài tập thực hành, sinh viên sẽ tiếp thu được cách sử dụng
ngôn ngữ C để giải quyết các bài toán cơ bản và phát triển các ứng dụng đơn giản trong
thực tế.
Giáo trình được biên soạn với thời lượng 45 giờ được chia thành 6 bài:
Bài 1. Giới thiệu về ngôn ngữ lập trình C
Bài 2. Các thành phần cơ bản trong ngôn ngữ C
Bài 3. Cấu trúc rẽ nhánh có điều kiện
Bài 4. Cấu trúc vòng lặp
Bài 5. Hàm
Bài 6. Mảng và chuỗi
Trong quá trình biên soạn, nhóm tác giả đã cố gắng cập nhật những kiến thức, kỹ
năng mới phù hợp mục tiêu của chương trình đào tạo, gắn liền với thực tế sản xuất.
Mặc dù rất cố gắng nhưng nội dung giáo trình vẫn còn những thiếu sót, hạn chế.
Rất mong nhận được các ý kiến đóng góp quý báu của các thầy, cô giáo và bạn đọc để
giáo trình hoàn thiện hơn.
Trân trọng cảm ơn./.
Nhóm tác giả

2
MỤC LỤC
TÀI LIỆU THAM KHẢO 6
BÀI 1. GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH C 7
I. MỤC TIÊU........................................................................................................ 7
II. KIẾN THỨC LIÊN QUAN ............................................................................. 7
2.1. Ngôn ngữ lập trình C ............................................................................. 7
2.2. Lịch sử của ngôn ngữ C......................................................................... 7
2.3. Ứng dụng chính của ngôn ngữ lập trình C ............................................ 8
2.4. Ưu điểm nổi bật của ngôn ngữ lập trình C ............................................ 9
2.5. Quá trình biên dịch một chương trình C ............................................... 9
2.6. Một số khái niệm cơ bản khác ............................................................. 10
2.7. Phần mềm lập trình Code::Blocks ....................................................... 11
2.8. Thực hành chương trình đầu tiên “Hello World” ................................ 12
III. CÂU HỎI/BÀI TẬP ..................................................................................... 13
BÀI 2. CÁC THÀNH PHẦN CƠ BẢN TRONG NGÔN NGỮ C 14
I. MỤC TIÊU...................................................................................................... 14
II. KIẾN THỨC LIÊN QUAN ........................................................................... 14
2.1. Từ khóa ................................................................................................ 14
2.1.1. Bộ chữ viết trong C ...................................................................... 14
2.1.2. Từ khóa ......................................................................................... 14
2.2. Tên ....................................................................................................... 15
2.3. Kiểu dữ liệu ......................................................................................... 15
2.3.1. Kiểu số nguyên ............................................................................. 15
2.3.2. Kiểu số thực .................................................................................. 16
2.4. Các phép toán ...................................................................................... 16
2.4.1. Các phép toán số học .................................................................... 16
2.4.2. Các phép toán quan hệ và logic .................................................... 17
2.4.3. Phép toán tăng giảm ..................................................................... 18
2.4.4. Thứ tự ưu tiên các phép toán ........................................................ 18
2.5. Ghi chú ................................................................................................ 19
2.5.1. Ghi chú ......................................................................................... 19
2.5.2. Cấu trúc chương trình C ............................................................... 20

3
2.6. Khai báo biến ....................................................................................... 21
2.6.1. Biến............................................................................................... 21
2.6.2. Vị trí khai báo biến trong C .......................................................... 21
2.6.3. Biểu thức ...................................................................................... 21
2.7. Nhập/xuất dữ liệu ................................................................................ 22
2.7.1. Lệnh gán. ...................................................................................... 22
2.7.2. Lệnh nhập ..................................................................................... 22
2.7.3. Lệnh xuất ...................................................................................... 23
III. CÂU HỎI/ BÀI TẬP .................................................................................... 24
BÀI 3. CẤU TRÚC RẼ NHÁNH CÓ ĐIỀU KIỆN 25
I. MỤC TIÊU...................................................................................................... 25
II. KIẾN THỨC LIÊN QUAN ........................................................................... 25
2.1. Lệnh và khối lệnh ................................................................................ 25
2.1.1. Lệnh .............................................................................................. 25
2.1.2. Khối lệnh ...................................................................................... 25
2.2. Lệnh if ................................................................................................. 25
2.2.1. Dạng 1 (if thiếu) ........................................................................... 25
2.2.2. Bài tập thực hành .......................................................................... 26
2.2.3. Dạng 2 (if đủ) ............................................................................... 26
2.2.4. Bài tập thực hành .......................................................................... 27
2.2.5. Cấu trúc else if .............................................................................. 27
2.2.6. Bài tập thực hành .......................................................................... 28
2.2.7. Cấu trúc if lồng nhau .................................................................... 29
2.2.8. Bài tập thực hành .......................................................................... 30
2.3. Lệnh switch() ....................................................................................... 30
2.3.1. Cấu trúc switch…case (switch thiếu) ........................................... 30
2.3.2. Bài tập thực hành .......................................................................... 33
2.3.3. Cấu trúc switch…case…default (switch đủ) ................................ 33
2.3.4. Bài tập thực hành .......................................................................... 35
2.3.5. Cấu trúc switch lồng ..................................................................... 35
2.3.6. Bài tập thực hành .......................................................................... 37
III. CÂU HÓI/ BÀI TẬP .................................................................................... 37

4
BÀI 4. CẤU TRÚC VÒNG LẶP 38
I. MỤC TIÊU...................................................................................................... 38
II. KIẾN THỨC LIÊN QUAN ........................................................................... 38
2.1. Lệnh for ............................................................................................... 38
2.2. Lệnh break ........................................................................................... 39
2.3. Lệnh continue ...................................................................................... 40
2.4. Lệnh while ........................................................................................... 40
2.5. Lệnh do...while .................................................................................... 42
2.6. Vòng lặp lồng nhau ............................................................................. 43
2.7. So sánh sự khác nhau của các vòng lặp............................................... 43
III. CÂU HÓI/ BÀI TẬP .................................................................................... 44
BÀI 5. HÀM 45
I. MỤC TIÊU...................................................................................................... 45
II. KIẾN THỨC LIÊN QUAN ........................................................................... 45
2.1. Các ví dụ về hàm ................................................................................. 45
2.1.1. Khái niệm về hàm ......................................................................... 45
2.1.2. Các ví dụ về hàm .......................................................................... 47
2.2. Tham số dạng tham biến và tham trị ................................................... 48
2.2.1. Tham số dạng tham trị .................................................................. 48
2.2.2. Bài tập thực hành về tham trị ....................................................... 49
2.2.3. Tham số dạng tham biến .............................................................. 50
2.2.4. Bài tập thực hành .......................................................................... 51
2.3. Sử dụng biến toàn cục ......................................................................... 51
2.4. Dùng tiền xử lý #define ....................................................................... 53
III. CÂU HỎI/ BÀI TẬP .................................................................................... 53
BÀI 6. MẢNG VÀ CHUỖI 56
I. MỤC TIÊU...................................................................................................... 56
II. KIẾN THỨC LIÊN QUAN ........................................................................... 56
2.1. Giới thiệu kiểu dữ liệu “kiểu mảng” trong C ...................................... 56
2.2. Mảng một chiều ................................................................................... 56
2.2.1. Khai báo ....................................................................................... 56
2.2.2. Truy xuất từng phần tử của mảng ................................................ 57

