Bài giảng Tin học căn bản (Phần 3) - Chương 7: Cấu trúc (struct) cung cấp cho người học các kiến thức: Khái niệm cấu trúc, khai báo và sử dụng cấu trúc, xử lí dữ liệu cấu trúc, mảng cấu trúc. Mời các bạn cùng tham khảo nội dung chi tiết.
Chương Cấu trúc (struct) Ngo Van Linh Bộ môn Hệ thống thông tin Viện Công nghệ thông tin Truyền thông Đại học Bách Khoa Hà Nội Nội dung 7.1 7.2 7.3 7.4 7.5 Khái niệm cấu trúc Khai báo sử dụng cấu trúc Xử lí liệu cấu trúc Mảng cấu trúc Bài tập 7.1 Khái niệm cấu trúc Kiểu liệu cấu trúc (struct) kiểu liệu phức hợp bao gồm nhiều thành phần, thành phần thuộc kiểu liệu khác Các thành phần liệu cấu trúc gọi trường liệu (field) 7.1 Khái niệm cấu trúc (tiếp) Ví dụ: Cấu trúc mơ tả sinh viên: 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… Mỗi thơng tin thành phần lại có kiểu liệu khác họ tên có kiểu liệu xâu kí tự, tuổi có kiểu liệu số nguyên, kết học tập có kiểu liệu số thực Nội dung 7.1 7.2 7.3 7.4 7.5 Khái niệm cấu trúc Khai báo sử dụng cấu trúc Xử lí liệu cấu trúc Mảng cấu trúc Bài tập 7.2 Khai báo kiểu liệu cấu trúc Cú pháp: struct ten_cau_truc { ; }; Ví dụ: struct sinh_vien { char ma_so_sinh_vien[10]; char ho_va_ten[30]; float diem_TinDC; }; 7.2.2 Khai báo biến cấu trúc Cú pháp: struct ten_cau_truc ten_bien_cau_truc; Ví dụ: struct sinh_vien a, b, c; 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 trúc vừa khai báo biến cấu trúc: struct [ten_cau_truc] { //khai_bao_cac_truong; } ten_bien_cau_truc; Ví dụ: struct thi_sinh { char SBD[10]; // so bao danh char ho_va_ten[30]; struct diem_thi ket_qua; } thi_sinh_1, thi_sinh_2; 7.2.4 Định nghĩa kiểu liệu cấu trúc với typedef Đặt tên cho kiểu liệu cấu trúc cú pháp: typedef struct tên_cũ ten_moi; Hoặc ta đặt lại tên cho cấu trúc khai báo cú pháp typedef struct [tên_cũ] { //khai_bao_cac_truong; }danh_sach_cac_tên_mới; 7.2.4 Định nghĩa kiểu liệu cấu trúc với typedef (tiếp) Lưu ý: Được phép đặt tên_mới trùng với tên_cũ Ví dụ: struct point_3D { float x, y, z; } P; struct point_3D M; typedef struct point_3D p_3D; p_3D N; 10 7.3.2 Phép gán biến cấu trúc Giả sử ta có biến cấu trúc a b có kiểu liệu cấu trúc Phép gán cấu trúc có cú pháp tương tự phép gán thông thường: bien_cau_truc_1 = bien_cau_truc_2; 14 7.3.3 Con trỏ cấu trúc Cú pháp: struct ten_cau_truc *ten_bien_con_tro_ctruc; Có cách truy nhập vào trường liệu cấu trúc từ biến trỏ cấu trúc (*ten_bien_con_tro_ctruc).ten_truong_du_lieu Hoặc: ten_bien_con_tro_ctruc->ten_truong_du_lieu 15 Nội dung 7.1 7.2 7.3 7.4 7.5 Khái niệm cấu trúc Khai báo sử dụng cấu trúc Xử lí liệu cấu trúc Mảng cấu trúc Bài tập 16 7.4 Mảng cấu trúc Cú pháp: struct ten_cau_truc ten_mang_ctruc[so_ptu]; Ví dụ: struct sinh_vien { char ho_ten[20]; float diem_thi; }; struct sinh_vien lop_Tin5[80]; 17 Ví dụ #include #include #include void main() { struct sinh_vien { char ma_sv[10]; char ho_ten[20]; float diem_thi; }; struct sinh_vien sv[3]; int i; clrscr(); 18 Ví dụ (tiếp) for(i=0;i