You are on page 1of 25

CƠ SỞ LẬP TRÌNH VỚI C

Giảng viên : ThS.LÊ THÙY DUNG

Ngày 8 tháng 10 năm 2023

samilogo

1
Email: DungLT@eaut.edu.vn
Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 1 / 24
1 Mục tiêu: Sau khi hoàn thành học phần này, sinh viên có khả năng:
Hiểu được những khái niệm cơ bản về lập trình nhằm hình thành nâng
cao tư duy lập trình, các kiến thức cơ bản về cách biểu diễn dữ liệu
trên máy tính, các phép toán số học và logic cơ bản.
Cung cấp sự hiểu biết những kiến thức cơ bản về ngôn ngữ lập trình
C/C++ với môi trường soạn thảo Dev-C/ MS Visual Studio.
Kỹ năng phân tích , giải quyết bài toán theo hướng tiếp cận có tính hệ
thống bằng cách vận dụng lưu đồ khối vào tư duy giải thuật.
Nhận thức về cách phát hiện vấn đề và xử lý bài toán bằng máy tính .
Khả năng xây dựng các phần mềm quản lý đơn giản.
2 Nội dung: Mô tả những kiến thức cơ bản về kỹ thuật lập trình:
những khái niệm cơ bản về thuật toán, các cấu trúc điều khiển, các
kiểu dữ liệu và những kỹ thuật cơ bản của quy trình thiết kế thuật
toán theo phương pháp từ trên xuống (Top Down Design)
3 Thiết kế, xây dựng chương trình máy tính với C/C++ trong môi
trường Dev-C/ MS Visual Studio
samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 2 / 24
Tài liệu

1 Quách Tuấn Ngọc (1998), Ngôn ngữ lập trình C, NXB Giáo dục;
2 Phan Thanh Đức, Lập trình căn bản trên ngôn ngữ lập trình C, NXB
Khoa học và kỹ thuật, 2021;
3 Nguyễn Đình Tê và Hoàng Đức Hải (1999), Giáo trình lý thuyết và
bài tập C, NXB giáo dục.

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 3 / 24
NỘI DUNG

C1 Các khái niệm cơ bản về lập trình;


C2 Các phần tử cơ bản của ngôn ngữ C;
C3 Cấu trúc điều khiển;
C4 Chương trình con;
C5 Kiểu dữ liệu và mảng;
C6 Kiểu dữ liệu con trỏ;
C7 Xâu ký tự;
C8 Kiểu dữ liệu có cấu trúc.

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 4 / 24
Chương 2: Các phần tử cơ bản của ngôn ngữ C

Các thành phần cơ bản ;


Cấu trúc chương trình C;
Các kiểu dữ liệu cơ sở;
Câu lệnh – Biểu thức;
Thứ tự ưu tiên các phép toán;
Sử dụng môi trường làm việc C;
Vào – ra dữ liệu trong C.

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 5 / 24
Tên trong C

Tên hay còn gọi là danh biểu (identifier): dùng để đặt cho chương
trình, hằng, kiểu, biến, chương trình con...
Tên có hai loại :
1 Tên chuẩn: là tên do C đặt sẵn như tên kiểu: int, char, float,. . . ; tên
hàm: sin, cos...
2 Tên do người lập trình tự đặt: dùng trong chương trình của mình.
Sử dụng bộ chữ cái, chữ số và dấu gạch dưới (_) để đặt tên, nhưng
phải tuân thủ quy tắc:
Bắt đầu bằng một chữ cái hoặc dấu gạch dưới.
Không có khoảng trống ở giữa tên.
Không được trùng với từ khóa.
Độ dài tối đa của tên là không giới hạn, tuy nhiên chỉ có 31 ký tự đầu
tiên là có ý nghĩa.
Không cấm việc đặt tên trùng với tên chuẩn nhưng khi đó ý nghĩa của
tên chuẩn không còn giá trị nữa.
Ví dụ: tên do người lập trình đặt: Chieu_dai, Chieu_Rong, Chu_Vi,
samilogo
Dien_Tich...

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 6 / 24
Hằng (Constant)

Hằng (Constant): Là đại lượng không đổi trong suốt quá trình thực
thi của chương trình.
Hằng có thể là một chuỗi ký tự, một ký tự, một con số xác định.
Chúng có thể được biểu diễn hay định dạng (Format) với nhiều dạng
thức khác nhau;
Ví du:
1 Hằng chuỗi ký tự: Hằng chuỗi ký tự là một chuỗi hay một xâu ký tự
được đặt trong cặp dấu nháy kép (“): “Ngon ngu lap trinh C”, “Khoa
CNTT-DHCT”, “NVLinh-DVHieu”
2 Hằng ký tự: là một ký tự riêng biệt được viết trong cặp dấu nháy đơn
(‘). Mỗi một ký tự tương ứng với một giá trị trong bảng mã ASCII.
Hằng ký tự cũng được xem như trị số nguyên: ‘a’, ‘A’, ‘0’, ‘9’
3 Hằng số nguyên: 123 , -242 .
samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 7 / 24
Biến (variables)

Biến: là một đại lượng được người lập trình định nghĩa và được đặt
tên thông qua việc khai báo biến.
Biến dùng để chứa dữ liệu trong quá trình thực hiện chương trình và
giá trị của biến có thể bị thay đổi.
Mỗi biến thuộc về một kiểu dữ liệu xác định và có giá trị thuộc kiểu
đó;
Cú pháp khai báo biến: <Kiểu dữ liệu> Danh sách các tên biến
cách nhau bởi dấu phẩy;
int a, b, c; /*Ba biến a, b,c có kiểu int*/
long chu_vi; /*Biến chu_vi có kiểu long*/
float nua_chu_vi; /*Biến nua_chu_vi có kiểu float*/

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 8 / 24
Vị trí khai báo biến trong C
1 Khai báo biến ngoài: Các biến này được đặt bên ngoài tất cả các
hàm và nó có tác dụng hay ảnh hưởng đến toàn bộ chương trình (còn
gọi là biến toàn cục).
int i; /*Bien ben ngoai */
int main()
{ ... }
2 Khai báo biến trong: Các biến được đặt ở bên trong hàm, chương
trình chính hay một khối lệnh. Các biến này chỉ có tác dụng hay ảnh
hưởng đến hàm, chương trình hay khối lệnh chứa nó. Khi khai báo
biến, phải đặt các biến này ở đầu của khối lệnh, trước các lệnh gán, . . .

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 9 / 24
Biểu thức
Biểu thức là một sự kết hợp giữa các toán tử (operator) và các toán
hạng (operand) theo đúng một trật tự nhất định.
Toán tử là một biểu tượng mà nói với trình biên dịch thực hiện một
phép toán học nhất định hoặc thao tác hợp lý.
Toán hạng có thể là một hằng, một biến hoặc một biểu thức khác.
Trong trường hợp, biểu thức có nhiều toán tử, ta dùng cặp dấu ngoặc
đơn () để chỉ định toán tử nào được thực hiện trước. √
(Delta)
Ví dụ: Một nghiệm của phương trình bậc hai: (−b + 2∗a ) Trong
đó 2 là hằng; a, b, Delta là biến.

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 10 / 24
Các toán tử số học
Trong ngôn ngữ C, các toán tử +, -, *, / làm việc tương tự như khi
chúng làm việc trong các ngôn ngữ khác.
Áp dụng cho đa số kiểu dữ liệu có sẵn được cho phép bởi C. Khi ta
áp dụng phép / cho một số nguyên hay một ký tự, bất kỳ phần dư
nào cũng bị cắt bỏ.

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 11 / 24
samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 12 / 24
Toán tử quan hệ

Ngôn ngữ C cung cấp 6 toán tử quan hệ để so sánh các số. Các toán
tử quan hệ có giá trị 1 (khi kết quả đúng) hoặc 0 (khi kết quả sai).

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 13 / 24
Toán tử luận lý

C cung cấp 3 toán tử luận lý cho việc kết nối các biểu thức luận lý.
Giống như các toán tử quan hệ, các toán tử luận lý có giá trị là 1
hoặc 0.

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 14 / 24
Toán tử tăng giảm
Các toán tử tăng một (++) và giảm một (−−) cung cấp các tiện lợi
tương ứng cho việc cộng thêm 1 vào một biến số hay trừ đi 1 từ một
biến số.

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 15 / 24
Toán tử gán
Toán tử gán được sử dụng để lưu trữ giá trị cho 1 biến nào đó.

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 16 / 24
Toán tử phẩy
Nhiều biểu thức có thể được kết nối vào cùng một biểu thức sử dụng
toán tử phẩy. Toán tử phẩy yêu cầu 2 toán hạng. Đầu tiên nó ước
lượng toán hạng trái sau đó là toán hạng phải, và trả về giá trị của
toán hạng phải như là kết quả sau cùng.

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 17 / 24
Toán tử lấy kích thước

C cung cấp toán tử hữu dụng sizeof, để tính toán kích thước của bất
kỳ hạng mục dữ liệu hay kiểu dữ liệu nào. Nó yêu cầu một toán hạng
duy nhất có thể là tên kiểu (ví dụ, int) hay một biểu thức (ví dụ, 100)
và trả về kích thước của những thực thể đã chỉ định theo byte.

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 18 / 24
Nhập và Xuất trong C

1 Hàm scanf()
Lệnh nhập giá trị từ bàn phím cho biến (hàm scanf) Là hàm cho phép
đọc dữ liệu từ bàn phím và gán cho các biến trong chương trình khi
chương trình thực thi. Trong ngôn ngữ C, đó là hàm scanf nằm trong
thư viện stdio.h.
Cú pháp: scanf(“Chuỗi định dạng”, địa chỉ của các biến);
2 Hàm printf()
Trong ngôn ngữ lập trình C, hàm printf() được sử dụng để in ra các ký
tự; chuỗi; các giá trị số nguyên, số thực hay số thập phân, bát phân,. . .
và hiển thị lên màn hình console.
Cú pháp: printf(“Chuỗi định dạng ”, Các biểu thức);
Để xuống dòng mới trong khi in với hàm printf(), ta sử dụng ký tự đặc
biệt là “n”.
samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 19 / 24
samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 20 / 24
samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 21 / 24
Ký tự điều khiển
Là các ký tự dùng để điều khiển các thao tác xuất, nhập dữ liệu.

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 22 / 24
Ký tự điều khiển

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 23 / 24
samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 24 / 24
Bài tập

1 Tính tổng S = a1 + a2 + · · · + an
2 Viết chương trình cho phép nhập vào 2 giá trị a, b mang ý nghĩa là
các hệ số a, b của phương trình bậc nhất. Dựa vào các giá trị a, b đó
cho biết nghiệm của phương trình bậc nhất ax + b = 0
3 Viết chương trình cho phép nhập vào 1 số n, sau đó lần lượt nhập
vào n giá trị a1 , a2 , · · · , an . Hãy tìm và in ra giá trị lớn nhất trong n
số a1 , a2 , · · · , an

samilogo

Lê Thùy Dung (EAUT) CƠ SỞ LẬP TRÌNH VỚI C Ngày 8 tháng 10 năm 2023 25 / 24

You might also like