intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Chương 10:Kiểu Cấu trúc

Chia sẻ: Nguyen Ha | Ngày: | Loại File: PDF | Số trang:24

87
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Trong việc xây dựng chương trình, nhiều khi chỉ với các kiểu dữ liệu đơn giản ta chưa thể quản lý hết các dữ liệu Vậy cần có kiểu dữ liệu phức tạp hơn để quản lý dữ liệu; một trong các kiểu dữ liệu này gọi là dữ liệu kiểu cấu trúc

Chủ đề:
Lưu

Nội dung Text: Chương 10:Kiểu Cấu trúc

  1. C10: Kiểu Cấu trúc 1. Khái niệm 2. Khai báo 3. Khởi tạo và gán giá trị 4. Truy xuất 5. Cấu trúc của cấu trúc 6. Cấu trúc – mảng 7. Tham số kiểu cấu trúc 8. union
  2. 1. Khái niệm  Trong việc xây dựng chương trình, nhiều khi chỉ với các kiểu dữ liệu đơn giản ta chưa thể quản lý hết các dữ liệu  Vậy cần có kiểu dữ liệu phức tạp hơn để quản lý dữ liệu; một trong các kiểu dữ liệu này gọi là dữ liệu kiểu cấu trúc
  3. 1. Khái niệm  Cấu trúc là tập hợp của nhiều kiểu dữ liệu khác nhau  Mỗi kiểu dữ liệu tạo nên cấu trúc gọi là một trường (field)  Tổng hợp các field gọi là bản ghi
  4. Ví dụ 1: Giả sử việc quản lý Sinh viên cần: Dữ liệu Kiểu dữ liệu  tên sinh viên chuỗi  điểm số thực  nam Đ/S – T-F
  5. Ví dụ 2:  Quản lý hồ sơ Công chức cần:  tên công chức  hệ số lương  ngày vào cơ quan  khen thưởng  …..  Kiểu dữ liệu?
  6. 2. Khai báo struct { [ ,]; . . . } [] ;
  7. Ví dụ 1: struct sinhvien { char ten[30], nam[1]; floaft diem; } sinhvien1, sinhvien2;
  8. Ví dụ 2: struct congchuc { char ten[30], khen[50], ngay[8]; floaft hsl; } cc1, cc2, cc3;
  9. Ví dụ 3: struct ngay { int d; int m; int y; } ngay1, ngay2;
  10. 3. Khởi tạo giá trị  Việc khởi tạo giá trị cho biến cấu trúc được thực hiện khi khai báo biến cấu trúc  Các trường của cấu trúc được khởi tạo phải đặt giữa 2 dấu { }, chúng phân cách bởi dấu phảy (,) Ví dụ: struct NgayThang { Khởi tạo biến cấu trúc NgS: unsigned char Ngay; NgayThang NgS ={29, 8, 1986}; unsigned char Thang; unsigned int Nam; };
  11. 4. Truy xuất  Cú pháp: .  Ví dụ: struct sinhvien sinhvien1.ten { sinhvien1.diem char ten[30], nam[1]; sinhvien1.nam floaft diem; } sinhvien1, sinhvien2;
  12. Ví dụ: void main() { SinhVien SV, s; #include coutSV.MSSV; #include #include coutSV.HoTen; struct SinhVien coutSV.NamSinh; { coutSV.DiaChi; char MSSV[10]; getch(); char HoTen[40]; } unsigned int NamSinh ; char DiaChi[40]; };
  13. 5. Cấu trúc của cấu trúc  Xét việc quản lý sinh viên, cần:  tên  điểm  ngày sinh (ngày-tháng-năm) Vậy: Cấu trúc sinh viên gồm các trường: Tên, điểm, ngày sinh. Trong đó ngày sinh là dữ liệu kiểu cấu trúc với 3 trường là ngày, tháng, năm
  14. 5. Cấu trúc của cấu trúc struct ngaysinh { Nguyễn Văn Công int ngay, thang, nam; }; struct sinhvien 8.7 { char ten[30]; 26 floaft diem; 11 ngs ngaysinh; 2008 } sv1, sv2;
  15. 6. Cấu trúc - mảng  Khi quản lý thông tin về 1 đối tượng thì kiểu cấu trúc là rất thuận lợi  Khi quản lý nhiều thông tin giống nhau về kiểu dữ liệu thì kiểu mảng là phù hợp  Quản lý nhiều đối tượng (mỗi đối tượng có nhiều thông tin khác nhau) thì?
  16. Xét mảng 1 chiều A gồm 5 phần tử
  17. Khai báo struct { [ ,]; . . . }; [spt] ;
  18. Ví dụ: struct danhsach { int sbd; char hoten[25]; float toan,ly,hoa; }; danhsach bangdiem[50];
  19. #include #include #define N_MOVIES 5 Ví dụ: struct movies { char title [50]; int year; } films[N_MOVIES]; void main () { int i; for (i=0; i>films[i].year; } getch(); }
  20. 7. Tham số kiểu cấu trúc  Việc truyền – nhận tham số kiểu cấu trúc cũng giống như các tham số kiểu vô hướng khác  Có hình thức:  Tham trị  Tham biến  Tham trỏ
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2