Kiểu dữ liệu cấu trúc ( struct struct ) là kiểu dữ liệu ) là kiểu dữ liệu phức hợp bao gồm nhiều thành phần, mỗi phức hợp bao gồm nhiều thành phần, mỗi. thành phần có thể thuộc những [r]
(1)1
1 TIN HỌC ĐẠI CƯƠNG
TIN HỌC ĐẠI CƯƠNG
PHẦN 2: LẬP TRÌNH BẰNG NGƠN NGỮ C
PHẦN 2: LẬP TRÌNH BẰNG NGÔN NGỮ C BÀI 7:
BÀI 7: CẤU TRÚC (struct)CU TRC (struct)
KHOA
KHOA
CÔNGNGHệ
CÔNGNGHệ
THÔNGTIN
THÔNGTIN FACULTYOFFACULTYOF
(2)2
2
Bài 7: Cấu trúc (struct)
7.1 Khái niệm cấu trúc
7.1 Khái niệm cấu trúc
7.2 Khai báo sử dụng cấu trúc
7.2 Khai báo sử dụng cấu trúc
7.3 Xử lí liệu cấu trúc
7.3 Xử lí liệu cấu trúc
7.4 Mảng cấu trúc
7.4 Mảng cấu trúc
7.5 Bài tập
(3)3
3
Bài 7: Cấu trúc (struct)
7.1 Khái niệm cấu trúc
7.1 Khái niệm cấu trúc
7.2 Khai báo sử dụng cấu trúc
7.2 Khai báo sử dụng cấu trúc
7.3 Xử lí liệu cấu trúc
7.3 Xử lí liệu cấu trúc
7.4 Mảng cấu trúc
7.4 Mảng cấu trúc
7.5 Bài tập
(4)4
4
7.1 Khái niệm cấu trúc 7.1 Khái niệm cấu trúc
Trong C, structure (gọi tắt struct) ~ kiểu Trong C, structure (gọi tắt struct) ~ kiểu
liệu ghi (record) Pascal liệu ghi (record) Pascal
Kiểu liệu cấu trúc (
Kiểu liệu cấu trúc (structstruct) kiểu liệu ) kiểu liệu phức hợp bao gồm nhiều thành phần, phức hợp bao gồm nhiều thành phần,
thành phần thuộc kiểu liệu thành phần thuộc kiểu liệu
khác khác
Các thành phần liệu cấu trúc Các thành phần liệu cấu trúc
gọi trường liệu (
(5)5
5
7.1 Khái niệm cấu trúc (tiếp) 7.1 Khái niệm cấu trúc (tiếp)
“
“Mô tả” đối tượng có nhiều phần thơng tin, ví Mơ tả” đối tượng có nhiều phần thơng tin, ví dụ quản lý hồ sơ cán bộ, sinh viên…
dụ quản lý hồ sơ cán bộ, sinh viên… Ví dụ: Cấu trúc mơ tả sinh viên:
Ví dụ: Cấu trúc mô tả sinh viên:
Cần lưu giữ thông tin liên quan đến sinh Cần lưu giữ thông tin liên quan đến sinh
viên họ tên, tuổi, kết học tập…
viên họ tên, tuổi, kết học tập…
Mỗi thơng tin thành phần lại có kiểu liệu Mỗi thơng tin thành phần lại có kiểu liệu
khác
khác
Họ tên có kiểu liệu xâu kí tự Họ tên có kiểu liệu xâu kí tự Tuổi có kiểu liệu số nguyên Tuổi có kiểu liệu số nguyên
(6)6
6
Bài 7: Cấu trúc (struct)
7.1 Khái niệm cấu trúc
7.1 Khái niệm cấu trúc
7.2 Khai báo sử dụng cấu trúc
7.2 Khai báo sử dụng cấu trúc
7.3 Xử lí liệu cấu trúc
7.3 Xử lí liệu cấu trúc
7.4 Mảng cấu trúc
7.4 Mảng cấu trúc
7.5 Bài tập
(7)7
7 7.2.1 Khai báo kiểu liệu cấu trúc
7.2.1 Khai báo kiểu liệu cấu trúc
Cú pháp:
Cú pháp:
struct ten_cau_truc
struct ten_cau_truc
{
{
<khai_bao_cac_truong_du_lieu>;
<khai_bao_cac_truong_du_lieu>;
};
};
Ví dụ:
Ví dụ:
struct Sinh_Vien
struct Sinh_Vien
{
{
char ma_so_sinh_vien[10];
char ma_so_sinh_vien[10];
char ho_va_ten[30];
char ho_va_ten[30];
float diem_TinDC;
float diem_TinDC;
};
(8)8
8
7.2.2 Khai báo biến cấu trúc 7.2.2 Khai báo biến cấu trúc
Cú pháp:
Cú pháp:
ten_cau_truc ten_bien_cau_truc;ten_cau_truc ten_bien_cau_truc;
Hoặc:
Hoặc:
struct ten_cau_truc ten_bien_cau_truc; struct ten_cau_truc ten_bien_cau_truc;
Ví dụ:
Ví dụ:
Sinh_Vien a, b, c; Sinh_Vien a, b, c;
Hoặc:
Hoặc:
(9)9
9
7.2.3 Khai báo kết hợp 7.2.3 Khai báo kết hợp
Có thể kết hợp vừa khai báo kiểu liệu cấu
Có thể kết hợp vừa khai báo kiểu liệu cấu
trúc vừa khai báo biến cấu trúc:
trúc vừa khai báo biến cấu trúc:
struct [ten_cau_truc] struct [ten_cau_truc]
{ {
//khai_bao_cac_truong; //khai_bao_cac_truong; } ten_bien_cau_truc;
} ten_bien_cau_truc;
Ví d :ụ
Ví d :ụ
struct Thi_Sinhstruct Thi_Sinh {
{
char SBD[10]; // so bao danh char SBD[10]; // so bao danh char ho_va_ten[30];
char ho_va_ten[30]; float ket_qua;
float ket_qua; } ts1, ts2;
(10)10
10
Struct lồng nhau Struct lồng nhau
Struct lồng Ví dụ: Struct lồng Ví dụ:
struct Dia_Chi{//địa chỉ struct Dia_Chi{//địa chỉ
int so_nha; int so_nha;
char ten_pho[20]; char ten_pho[20]; char thanh_pho[20]; char thanh_pho[20]; };
};
struct Nhan_Su{ //nhân sự struct Nhan_Su{ //nhân sự
char ho_ten[20]; char ho_ten[20];
Dia_Chi address; //trường address có kiểu địa chỉ Dia_Chi address; //trường address có kiểu địa chỉ float he_so_luong;
float he_so_luong; };