Danh mục tài liệu

Bài giảng Nhập môn lập trình - Bài 13: Dữ liệu kiểu cấu trúc

Số trang: 33      Loại file: ppt      Dung lượng: 1.74 MB      Lượt xem: 15      Lượt tải: 0    
Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng cung cấp cho người học các kiến thức: Dữ liệu kiểu cấu trúc. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn dùng làm tài liệu học tập và nghiên cứu.
Nội dung trích xuất từ tài liệu:
Bài giảng Nhập môn lập trình - Bài 13: Dữ liệu kiểu cấu trúc Trường Đại học Khoa học Tự nhiên Khoa Công nghệ thông tin Bộ môn Tin học cơ sở  NHẬP MÔN LẬP TRÌNH Đặng Bình Phương dbphuong@fit.hcmus.edu.vn DỮ LIỆU KIỂU CẤU TRÚC 1 && VC VC BB BB Nội dung 1 Khái niệm kiểu cấu trúc (struct) 2 Khai báo & truy xuất kiểu cấu trúc 3 Kiểu dữ liệu hợp nhất (union) 4 Bài tập Dữ liệu kiểu cấu trúc 2 && VC VC BB BB Đặt vấn đề  Thông tin 1 SV  MSSV : kiểu chuỗi  Tên SV : kiểu chuỗi  NTNS : kiểu chuỗi  Phái : kiểu ký tự  Điểm Toán, Lý, Hóa : kiểu số thực  Yêu cầu  Lưu thông tin n SV?  Truyền thông tin n SV vào hàm?  Dữ liệu kiểu cấu trúc 3 && VC VC BB BB Đặt vấn đề  Khai báo các biến để lưu trữ 1 SV  char mssv[7]; // “0012078”  char hoten[30]; // “Nguyen Van A”  char ntns[8]; // “29/12/82”  char phai; // ‘n’  float toan, ly, hoa; // 8.5 9.0 10.0  Truyền thông tin 1 SV cho hàm  void xuat(char *mssv, char *hoten, char *ntns, char phai, float toan, float ly, float  hoa); Dữ liệu kiểu cấu trúc 4 && VC VC BB BB Đặt vấn đề  Nhận xét  Đặt tên biến khó khăn và khó quản lý  Truyền tham số cho hàm quá nhiều  Tìm kiếm, sắp xếp, sao chép,… khó khăn  Tốn nhiều bộ nhớ …  Ý tưởng  Gom những thông tin của cùng 1 SV thành  một kiểu dữ liệu mới => Kiểu struct Dữ liệu kiểu cấu trúc 5 && VC VC BB BB Khai báo kiểu cấu trúc  Cú pháp struct { ; … ; };  Ví dụ struct DIEM { int x; int y; }; Dữ liệu kiểu cấu trúc 6 && VC VC BB BB Khai báo biến cấu trúc  Cú pháp tường minh struct { ; … ; } , ;  Ví dụ struct DIEM { int x; int y; } diem1, diem2; Dữ liệu kiểu cấu trúc 7 && VC VC BB BB Khai báo biến cấu trúc  Cú pháp không tường minh struct { ; … ; }; struct ;  Ví dụ struct DIEM { int x; int y; }; struct DIEM diem1, diem2;// C++ có thể bỏ struct Dữ liệu kiểu cấu trúc 8 && VC VC BB BB Sử dụng typedef  Cú pháp typedef struct { ; … ; } ; ;  Ví dụ Dữ liệu kiểu cấu trúc 9 && VC VC BB BB Khởi tạo cho biến cấu trúc  Cú pháp tường minh struct { ; … ; } = {,…,};  Ví dụ struct DIEM { int x; int y; } diem1 = {2912, 1706}, diem2; Dữ liệu kiểu cấu trúc 10 && VC VC BB BB Truy xuất dữ liệu kiểu cấu trúc  Đặc điểm  Không thể truy xuất trực tiếp  Thông qua toán tử thành phần cấu trúc . hay  còn gọi là toán tử chấm (dot operation) .  Ví dụ struct DIEM { int x; int y; } diem1; printf(“x = %d, y = %d”, diem1.x, diem1.y); Dữ liệu kiểu cấu trúc 11 && VC VC BB BB Gán dữ liệu kiểu cấu trúc  Có 2 cách = ; . = ;  Ví dụ struct DIEM { int x, y; } diem1 = {2912, 1706}, diem2; … diem2 = diem1; diem2.x = diem1.x; diem2.y = diem1.y * 2; Dữ liệu kiểu cấu trúc 12 && VC VC BB BB Cấu trúc phức tạp  Thành phần của cấu trúc là cấu trúc khác struct DIEM { int x; int y; }; struct HINHCHUNHAT { struct DIEM traitren; struct DIEM phaiduoi; } hcn1; … hcn1.traitren.x = 2912; hcn1.traitren.y = 1706; Dữ liệu kiểu cấu trúc 13 && VC VC BB BB Cấu trúc phức tạp  Thành phần của cấu trúc là mảng struct SINHVIEN { char hoten[30]; float toan, ly, hoa; } sv1; … strcpy(sv1.hoten, “Nguyen Van A”); sv1.toan = 10; sv1.ly = 6.5; sv1.hoa = 9; Dữ liệu kiểu cấu trúc 14 && VC VC BB BB Cấu trúc phức tạp  Cấu trúc đệ quy (tự trỏ) struct PERSON { char hoten[30]; struct PERSON *father, *mother; }; struct NODE { int value; struct NODE *pNext; }; ...