







Preview text:
10/12/2025 Nội dung chương
Trường Đại học Thủ Dầu Một 1.
Khái quát về ngôn ngữ C Viện ĐT CNTT - CĐS 2.
Cấu trúc cơ bản của một chương trình C 3.
Các kiểu dữ liệu cơ sở CƠ SỞ LẬP TRÌNH 4. Hằng & Biến CHƯƠNG II
GIỚI THIỆU NGÔN NGỮ C 2 3
1. Khát quát về ngôn ngữ C
1.1 Giới thiệu ngôn ngữ C
1.1 Giới thiệu ngôn ngữ C
Được phát triển bởi Dennis Ritchie tại Bell Ưu điểm của C Telephone năm 1972.
– Rất mạnh và linh động, có khả năng thể hiện bất cứ ý tưởng
Tiền thân của ngôn ngữ B, KenThompson, cũng tại nào. Bell Telephone.
– Được sử dụng rộng rãi bởi các nhà lập trình chuyên nghiệp.
Là ngôn ngữ lập trình có cấu trúc và phân biệt chữ
– Có tính khả chuyển, ít thay đổi trên các hệ thống máy tính khác nhau.
Hoa - thường (case sensitive). – Rõ ràng, cô đọng. Chuẩn ANSI C
– Lập trình đơn thể (Module), tái sử dụng thông qua hàm. 4 5 1 10/12/2025
1.2 Môi trường lập trình
1.2 Môi trường lập trình
Môi trường lập trình
Môi trường phát triển tích hợp IDE (Integrated
– Visual Studio Code (tích hợp trình biên dịch cho C++) Development Environment)
Biên tập chương trình nguồn (Trình EDIT).
Biên dịch chương trình (Trình COMPILE).
Chạy chương trình nguồn (Trình RUNTIME).
Sửa lỗi chương trình nguồn (Trình DEBUG). .C/.CPP .OBJ .EXE 6 7
2. Cấu trúc chương trình C
2.1 Cấu trúc chương trình
2.1 Cấu trúc chương trình Có dạng
2.2 Tập các ký tự dùng trong C
#include “…”; // Khai báo thư viện
2.3 Từ khóa (Keyword)
int x; // Khai báo các biến toàn cục
void Nhap(); // Khai báo các hàm
2.4 Tên/Định danh (Identifier)
2.5 Khai báo thư viện
void main() // Phần định nghĩa hàm main
2.6 Lệnh và khối lệnh { // Các câu lệnh 2.7 Lời chú thích }
2.8 Quy tắc viết chương trình 8 9 2 10/12/2025
2.1 Cấu trúc chương trình
Bài tập cấu trúc chương trình
Ví dụ: chương trình tính tổng 2 số
• Phác họa cấu trúc chương trình giải các bài toán #include sau #include
– Tìm ước chung lớn nhất của dãy N số void main()
– Tìm bội chung nhỏ nhất của 2 số {
– Tìm bội chung nhỏ nhất của dãy N số
int x, y, tong;
– Kiểm tra một số nguyên dương có là số nguyên tố hay không?
printf(“Nhap hai so nguyen: ”);
– Liệt kê các số âm trong dãy N số nguyên dương
scanf(“%d%d”,&x,&y); tong = x + y;
– Tìm số chính phương đầu tiên trong dãy N số nguyên dương
printf(“Tong hai so la %d”,tong); getch();
– Tính tích các số nguyên tố trong dãy N số nguyên dương }
– Giải hệ 2 phương trình bậc nhất 2 ẩn số 10 11
2.2 Các ký tự dùng trong C
2.3 Từ khóa (Keyword)
Bộ chữ cái 26 ký tự latinh: A .. Z, a .. z
Các từ dành riêng trong ngôn ngữ.
Bộ chữ số thập phân: 0..9
Phân biệt chữ hoa chữ thường.
Ký hiệu toán học : + - * / = ( )
Không thể sử dụng từ khóa để đặt tên cho biến, hàm,
Ký tự gạch nối _ và khoảng trắng ‘ ’ tên chương trình con. Gồm các loại:
Các ký hiệu đặc biệt khác như : . , ; : [ ] { } ? ! \ & |
−Các từ khóa dùng để khai báo % # $,…
• const, enum, signed, struct, typedef, unsigned… 12 13 3 10/12/2025
2.3 Từ khóa (Keyword)
2.4 Tên/Định danh (Identifier) Gồm các loại:
Tên do người lập trình đặt như ( tên biến, tên hằng, tên
− Các từ khóa về kiểu dữ liệu
kiểu dữ liệu, tên hàm hay thủ tục).
• char, double, float, int, long, short, void
− Các từ khóa điều khiển
Qui ước đặt tên:
• case, default, else, if, switch, break, continue, goto,
Không được trùng với các từ khóa và các tên khác. return
− Các từ khóa vòng lặp
Bao gồm chữ cái, chữ số và dấu gạch dưới _ . Bắt đầu • do, for, while
bằng chữ cái hoặc dấu gạch dưới.
Tên phân biệt chữ hoa chữ thường.
Số ký tự tối đa 255 14 15
2.4 Tên/Định danh (Identifier)
2.5 Khai báo thư viện
Tên/Định danh (Identifier)
Khai báo sau chỉ thị #include có 2 cách: Ví dụ: #include
#include “tên thư viện”
• X1, X2, hay zValue, _Delta là các tên hợp lệ. Ví dụ:
• 1A, Giai Phuong Trinh là các tên không hợp lệ. #include
• Phân biệt chữ hoa chữ thường, do đó các tên sau đây khác
#include //Chứa các hàm toán học nhau: – A, a
– BaiTap, baitap, BAITAP, bAItaP, … 16 17 4 10/12/2025
2.6 Lệnh và khối lệnh 2.7 Lời chú thích
Dấu chấm phẩy ; dùng để phân cách các câu lệnh. Có 2 cách
// Nội dung dòng chú thích
Ví dụ: printf(“Hello World!”);
/* Nội dung các dòng chú thích */
printf(“\n”); Ví dụ:
Khối lệnh gồm nhiều câu lệnh được đặt trong cặp dấu ngoặc nhọn {} //MSSV: 0712078 • Ví dụ:
int a, b, Min, Max; /*Ho & Ten: NVA
if (a>b) Ngày sinh: { Lớp: */
Max = a; Min = b; } 18 19
2.8 Quy tắc viết chương trình
2.8 Quy tắc viết chương trình
Quy tắc 1: Chương trình nên được tách thành nhiều
Quy tắc 5: Các dấu { } bao các khối lệnh phải được đơn thể(mô-đun). canh thẳng.
Quy tắc 2: Trình bày chương trình nhất quán, rõ ràng.
− Nên viết cặp dấu { } trước rồi viết các lệnh vào giữa để
tránh thiếu các dấu ngoặc.
Quy tắc 3: Mỗi câu lệnh nên được đặt riêng trên một
− Các câu lệnh nằm giữa cặp dấu { } được viết thụt vào một
dòng để chương trình dễ đọc và (debug). khoảng tab.
Quy tắc 4: Câu lệnh phải thể hiện đúng cấu trúc
Quy tắc 6: Các toán tử và toán hạng trong một biểu
chương trình bằng cách sử dụng thụt đầu dòng hợp lý
thức nên được tách rời nhau 1 khoảng trắng. (tab).
Quy tắc 7: Mỗi dòng lệnh kết thúc bằng dấu chấm phẩy; 20 21 5 10/12/2025
3. Các kiểu dữ liệu cơ bản
3.1 Các kiểu số nguyên (có dấu)
Turbo C có 4 kiểu cơ sở sau:
Kiểu n bit có dấu có miền giá trị: –2n – 1 … +2n – 1 – 1
Kiểu số nguyên: giá trị của nó là các số nguyên như 2912, - 1706, … Kiểu Độ lớn Miền giá trị
Kiểu số thực: giá trị của nó là các số thực như 3.1415, 29.12, - (Type) (Byte) (Range) 17.06, … char 1 –128 … +127
Kiểu luận lý: giá trị đúng hoặc sai. int 2 –32.768 … +32.767 short 2 –32.768 … +32.767
Kiểu ký tự: 256 ký tự trong bảng mã ASCII. long 4
–2.147.483.648 … +2.147.483.647 22 23
3.2 Các kiểu số nguyên (không dấu)
3.3 Các kiểu số thực (floating-point)
Kiểu n bit có dấu có miền giá trị: 0… +2n – 1 Ví dụ • 172.06 = 1.7206*102 Kiểu Độ lớn Miền giá trị Kiểu Độ lớn Miền giá trị (Type) (Byte) (Range) (Type) (Byte) (Range) float (*) 3.4*10–38 … 3.4*1038 4 unsigned char 1 0 … 255 double (**) 1.7*10–308 … 1.7*10308 8 unsigned int 2 0 … 65.535 unsigned short 2 0 … 65.535
• (*) Độ chính xác đơn (Single-precision) chính xác đến 7 số unsigned long 4 0 … 4.294.967.295 lẻ.
• (**) Độ chính xác kép (Double-precision) chính xác đến 19 số lẻ. 24 25 6 10/12/2025
3.4 Kiểu luận lý (logic) 3.5 Kiểu ký tự
C ngầm định một cách không tường minh:
Ký tự 8 bit: gồm 256 ký tự trong bảng mã ASCII • false (sai): giá trị 0.
• true (đúng): giá trị khác 0, thường là 1.
Mỗi ký tự có một mã ASCII từ 0 đến 255. C++: khai báo kiểu bool
Ví dụ: ‘0’ là 48, ‘A’ là 65, ‘a’ là 97 Ví dụ
• 0 (false), 1 (true), 2 (true), 2.5 (true) Kiểu Độ lớn Miền giá trị Số ký tự
• 1 > 2 (0, false), 1 < 2 (1, true) (Type) (Byte) (Range) char 1 -128 … 127 256 Unsigned char 1 0 ... 255 256 26 27 4. Hằng và Biến 4.1 Hằng 4.1 Hằng
Định nghĩa hằng trong C 4.2 Biến • Cú pháp: #define • Ví dụ: - #define Max 100 - #define Pi 3.14
Định nghĩa hằng trong C++ • Cú pháp: - const = ; - const = ;
• Ví dụ: const int Max = 100; const Pi 3.14 28 29 7 10/12/2025 4.1 Hằng Hằng ký tự
• Được viết trong dấu nháy đơn ‘’ • Ví dụ: ‘A’ , ‘a’ Hằng chuỗi
• Được viết trong dấu nháy kép “” • Ví dụ:
“Nguyen Van A” , “Ky thuat Lap Trinh” Hằng số học: • Số nguyên: 10 • Số thực: 5.0, 3.14
• Số thực dấu chấm động: 2E5 2*105 30 8