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

Bài giảng Nhập môn lập trình: Bài 7 - Trần Duy Thanh

Chia sẻ: Kiếp Này Bình Yên | Ngày: | Loại File: PPTX | Số trang:35

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

Bài 7 cung cấp cho người học những nội dung kiến thức về kiểu dữ liệu có cấu trúc. Nội dung chính được trình bày trong bài này gồm: Khái niệm kiểu cấu trúc, khai báo cấu trúc, các thao tác cơ bản, mảng cấu trúc và các thao tác, Enumerations - Typedef. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Nhập môn lập trình: Bài 7 - Trần Duy Thanh

  1. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN Bài 7: Kiểu Dữ Liệu Có Cấu Trúc Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  2. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 1. Khái niệm kiểu cấu trúc 2. Khai báo cấu trúc 3. Các thao tác cơ bản 4. Mảng cấu trúc và các thao tác 5. Enumerations ­ Typedef Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động 2
  3. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 1. Khái niệm v Ngôn  ngữ C/C++  đưa ra 5 cách  để tạo  nên một  kiểu  dữ liệu tùy biến (custom data types). 1. Structure:Là một nhóm của các biến được định nghĩa   dưới  một  tên.  Kiểu  này  còn  gọi  là  kiểu  dữ  liệu   phức  hợp. 2. Bit­field:là  một  biến  thể  của  kiểu  structure  và  cho  phép dễ dàng truy cập đến từng bit riêng rẽ.  3. Union:    cho  phép  cùng  một  mẫu  bộ  nhớ  được  định  nghĩa như hai hay nhiều kiểu biến khác nhau. 4. Enumeration: là danh sách của các tên hằng nguyên. 5. Typedef:  định  nghĩa  một  tên  khác  cho  một  kiểu  dữ  liệu đã có. Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động 3
  4. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 1.2. Khái niệm kiểu cấu trúc v Ví dụ mở đầu: Trường đại học XYZ cần viết 1  phần mềm quản lý sinh viên, thông tin cần lưu  trữ cho mỗi sinh viên bao gồm: mã sinh viên, họ  tên, tuổi, quê quán, lớp học….. Trong  trường  hợp  này  chúng  ta  cần  giải  quyết  vấn  đề    :  1  dữ  liệu  có  khả  năng  chứa  nhiều thông tin trong nó. để  giải  quyết  vấn  đề  này  ta  dùng  kiểu  dữ  liệu có Cấu Trúc 4 Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  5. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 1.2. Khái niệm kiểu • cấulà trúc Một  cấu  trúc  một  tập  các  biến  được  tham  chiếu  thông  qua  một  tên  chung.  Những  biến  tạo  nên  cấu  trúc  được  gọi  là  các thành viên (members). • Sự  khác  biệt  giữa  kiểu  cấu  trúc  và  kiểu  mảng  là:  các  phần  tử  của  mảng  là  cùng  kiểu  còn các phần tử của kiểu cấu trúc  có  thể có kiểu khác nhau.  5 Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  6. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 2.1. Khai báo kiểu Cấu trúc thực chất là môt kiêu d ̣ ̉ ữ liệu do người dùng  ̣ nghĩa  băcấu trúc v đinh  ̀ng  cách  ̉ dữ  liêu  gom  nhóm  các  kiêu  ̣ cơ  ̉ có  sẵn  trong  C  thành  môt  ban  ̣ kiêu  ̉ dữ  liêu  ̣ phức  hợp  nhiều thành phần. structureName: Tên của  struct tructureName  • cấu trúc { • type: Kiểu dữ liệu của  type member1; thành viên tương ứng type member2; • Member1,..., memberN:  ... Tên các biến thành viên  của cấu trúc type memberN; • varNames: Tên các biến  .. . cấu trúc phân cách nhau  } varNames; bằng dấu phẩy. 6 Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động
  7. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 2. Khai báo kiểu cấu trúc Ví dụ: • Tạo  một  struct  sinh  viên  gồm  các  thông  tin:  mã  số  sinh viên, họ tên, năm sinh, địa chỉ. struct sinhvien { char MaSv[10]; char TenSv[30]; int Namsinh; char Diachi[50]; }; • Khai báo biến kiểu sinhvien: sinhvien sv1, sv2; Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động 7
  8. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 2. Khai báo kiểu cấu trúc Từ  khóa  typedef  dùng  để  định  nghĩa  một kiểu dữ liệu mới Khi ta khai báo:   SinhVien   teo; Thì  teo  chính  là  1  đối  tượng  có  kiểu  dữ liệu là SinhVien nó tương tự như ta khai báo    int    x ; Vậy  để  lấy  các  thông  tin  bên  trong  của teo thì làm như thế nào? Những  thông  tin  mà  nằm  bên  trong  1  cấu  trúc  (struct)  thì  được  gọi  là  các  thuộc tính của cấu trúc đó Tức là teo là 1 đối tượng cụ thể, teo  có 4 thuộc tính đó là: ma, ten,dtb,lop để  truy  xuất  tới  các  thuộc  tính  ta  dùng: Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động .                tên_đối_tượng 8thuộc_tính
  9. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 3.1. Truy cập biến cấu trúc v Dùng toán tử dấu chấm (dot operator) để truy cập  các thành viên của một biến cấu trúc.  v Cú pháp:  varNames.memberName v Ví dụ: strcpy(sv1.MaSv, “a001”); strcpy(sv1.TenSv,“Nguyen van A”); sv2.Namsinh=1977; Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động 9
  10. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 3.2. Lệnh gán cấu trúc v Dùng lệnh gán để gán nội dung trong 1  biến cấu trúc cho một biến cấu trúc khác  có cùng kiểu. v Ví dụ:  struct coordXY { int x; int y; } diemA, diemB; diemA.x = 100; diemA.y = 200; Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động 10
  11. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 3.2. Lệnh gán cấu trúc v Gán nội dung biến cấu trúc diemA cho biến  diemB: diemB = diemA ; v Hoặc có thể sao chép từng thành viên: diemB.x = diemA.x; diemB.y = diemA.y; Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động 11
  12. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 3.3. Ví dụ v Cách  nhập  dữ  liệu  có  kiểu chuỗi từ bàn phím:   dùng gets Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động 12
  13. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 3.3. Ví dụ v Viết chương trình nhâp va ̣ ̣ ̣ ̉ ̣ ̉ ̀o toa đô hai điêm trong măt phăng  ̉ ̣ ̣ ̀y và tính tông hai toa đô na *Bước 1: Khai báo kiểu dữ liệu có cấu trúc biểu diễn thông  tin  tọa  độ  của  một  điểm  trong  mặt  phẳng  gồm  2  thành  phần: hoành độ và tung độ typedef struct ttDIEM  { int x; int y; }; ttDIEM DIEM;  Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động 13
  14. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 3.3. Ví dụ *Bước 2: Cài đặt các hàm: Ø Nhập vào tọa độ điểm void Nhap (DIEM &d); Ø Xuất tọa độ điểm void Xuat (DIEM d); Ø Tính tổng hai tọa độ DIEM Tong (DIEM d1,DIEM d2); Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động 14
  15. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 3.3. Ví dụ void Nhap (DIEM &d) { coutd. x; cout“Tung do : ”; cin>>d.y;  } Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động 15
  16. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 3.3. Ví dụ void Xuat (DIEM d) { cout
  17. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 3.3. Ví dụ void main () { DIEM A , B, AB; //khai bao 3 diem A, B, AB; cout
  18. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 4. Mảng các cấu trúc • Mảng cấu trúc là một mảng mà mỗi phần  tử là một biến kiểu cấu trúc. • Để khai báo một mảng các cấu trúc, trước  hết phải khai báo cấu trúc, sau đó khai báo  một mảng của cấu trúc đó.  Ví dụ: struct  ds{  char hoten[25]; float toan,ly,hoa; }; ds  bangdiem[50];//mảng 50 phần tử kiểu ds Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động 18
  19. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 4. Mảng các cấu trúc v Để  truy  cập  đến  từng  thành  viên  của  từng  phần  tử  của  mảng,  ta  dùng  chỉ  mục  của  phần  tử  và  toán tử thành viên (.).  Ví dụ: for(int i=0; i
  20. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 5. Truyền tham số kiểu cấu trúc a. Truyền  thành  viên  của  biến  cấu  trúc  vào hàm Ø.Có 2 cách truyền thành viên của biến  cấu trúc vào hàm: • Truyền tham trị  • Truyền tham biến Trung Tâm Tin Học – Ngành Mạng  và Thiết  Bị  Di Động 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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