Bài giảng Phương pháp lập trình - Chương 8: Kiểu cấu trúc (2016)
lượt xem 4
download
Bài giảng "Phương pháp lập trình - Chương 8: Kiểu cấu trúc" giới thiệu khái quát về kiểu dữ liệu, kiểu dữ liệu cấu trúc, kiểu dữ liệu liệt kê enum, từ khóa typedef. Mời các bạn cùng tham khảo nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Phương pháp lập trình - Chương 8: Kiểu cấu trúc (2016)
- Chương 8
- Nội dung trình bày 1. Giới thiệu 2. Kiểu cấu trúc 3. Kiểu liệt kê enum 4. Từ khóa typedef
- 1. Giới thiệu Vấn đề: các kiểu dữ liệu cơ sở không đủ để giải quyết các bài toán phức tạp Ví dụ: Viết chương trình tính lương cho nhân viên, hoặc viết chương trình cho nhập danh sách sinh viên giải quyết bài toán phức tạp vì C không có kiểu nhân viên, sinh viên Giải quyết: Cần phải có cách để tạo ra các kiểu dữ liệu theo như ý muốn để giải quyết bài toán phức tạp Có 5 cách để tạo kiểu dữ liệu tùy biến ◦ Structure (Cấu trúc) ◦ bitfield ◦ Union ◦ Enumeration ◦ typedef
- Nội dung trình bày 1. Giới thiệu 2. Kiểu cấu trúc 3. Kiểu liệt kê enum 4. Từ khóa typedef
- 2. Cấu trúc: Giới thiệu Một cấu trúc là 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) Ví dụ: Cần tạo cấu trúc để lưu trữ bảng dữ liệu sau: Mã số Họ tên Điểm Kết quả 0123 Lê An 19 Đậu 0124 Nguyễn Bê 12 Rớt ◦Cấu trúc này gồm các thành viên: mã số, họ tên, điểm, kết quả
- 2. Cấu trúc: Khai báo struct structureName structureName: Tên của 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 (nếu có) phân } [varNames]; cách nhau bởi dấu phẩy Struct phải được khai báo liền sau những dòng include
- 2. Cấu trúc: Ví dụ 1 Tạo một cấu trúc sinh viên gồm các thông tin: mã số sinh viên (chuỗi), họ tên (chuỗi), năm sinh (số), địa chỉ (chuỗi) struct SinhVien { char MaSV[10]; char TenSV[30]; int NamSinh; char DiaChi[50]; } sv1, sv2; Có 2 biến kiểu cấu trúc SinhVien là: sv1, sv2
- 2. Cấu trúc: Ví dụ 2 Thành phần của cấu trúc có thể có kiểu là một cấu trúc đã được định nghĩa trước struct NGAY { int ngay; int thang; int nam; }; struct HOSO { char hoten [30]; struct NGAY ns; long LCB; long thuong; long thuclanh; };
- 2. Cấu trúc: Khai báo biến cấu trúc Cú pháp (dùng 1 trong 2 cách): struct structureName varName; structureName varName; ◦Cách thứ 2 tương tự cách khai báo biến thông thường Ví dụ: ◦Khai báo biến s1, s2 có kiểu SinhVien struct SinhVien s1, s2; // c1 SinhVien s1, s2; // c2
- 2. Cấu trúc: Truy cập biến cấu trúc Dùng toán tử chấm (dot operator) để truy cập các thành viên của một biến cấu trúc Cú pháp: varName.memberName Phải dùng toán tử chấm trong lệnh nhập (cin, gets), lệnh xuất (cout, puts) và các lệnh gán thành viên Ví dụ: gets(sv1.MaSV) gets(sv1.TenSV); gets(sv1.NamSinh); cout
- 2. Cấu trúc: Lệnh gán cấu trúc 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í dụ: Hoặc có thể gán từng thành struct SinhVien sv1, sv2; viên: sv1.MaSV= “a001”; sv2.MaSV = sv1.MaSV; sv1.TenSV=“Nguyen van A”; sv2.TenSV=sv1.MaSV; sv1.NamSinh=1977; sv2.NamSinh=sv1.NamSinh sv2 = sv1; ; sv1 a001 Nguyen Van A 1977 sv2
- 2. Cấu trúc: 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
- 2. Cấu trúc: Mảng các cấu trúc Để 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ử chấm Ví dụ: Cho nhập liệu vào mảng bangdiem for( int i=0; i
- 2. Cấu trúc: 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 Ví dụ: struct diem { int x; int y; }; double khcach( int x1, int y1, int x2, int y2 ) { double kc; kc = sqrt(pow((x2x1),2)+pow((y2y1),2)); return kc; }
- 2. Cấu trúc: Truyền tham số kiểu cấu trúc (tt) Ví dụ (tiếp theo): void main() { diem a, b; cout
- 2. Cấu trúc: Truyền tham số kiểu cấu trúc (tt) b. Truyền toàn bộ biến cấu trúc đến hàm Ví dụ: struct diem { int x; int y; }; double khcach( diem a, diem b ) { double kc; kc = sqrt(pow((b.xa.x),2)+pow((b.ya.y),2)); return kc; }
- 2. Cấu trúc: Truyền tham số kiểu cấu trúc (tt) Ví dụ (tiếp theo): void main() { diem a, b; cout
- 2. Cấu trúc: Truyền tham số kiểu cấu trúc (tt) c. Truyền mảng cấu trúc đến hàm Ví dụ: struct diem { int x; int y; }; void NhapMangToaDo( diem list[], int n ) { for (int i=0; i
- 2. Cấu trúc: Truyền tham số kiểu cấu trúc (tt) Ví dụ (tiếp theo): void XuatMangToaDo( diem list[], int n ) { for (int i=0; i
- 2. Cấu trúc: Con trỏ cấu trúc structureName *structurePointers;
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Phương pháp lập trình: Chương 1 - GV. Từ Thị Xuân Hiền
18 p | 132 | 17
-
Bài giảng Phương pháp lập trình: Chương 2 - GV. Từ Thị Xuân Hiền
50 p | 108 | 15
-
Bài giảng Phương pháp lập trình: Chương 6 - GV. Từ Thị Xuân Hiền
39 p | 105 | 15
-
Bài giảng Phương pháp lập trình: Chương 3 - GV. Từ Thị Xuân Hiền
29 p | 117 | 12
-
Bài giảng Phương pháp lập trình: Chương 5 - GV. Từ Thị Xuân Hiền
37 p | 115 | 12
-
Bài giảng Phương pháp lập trình: Chương 4 - GV. Từ Thị Xuân Hiền
19 p | 104 | 11
-
Bài giảng Phương pháp lập trình: Chương 7 - GV. Từ Thị Xuân Hiền
18 p | 118 | 11
-
Bài giảng Phương pháp lập trình: Chương 9 - GV. Từ Thị Xuân Hiền
36 p | 101 | 10
-
Bài giảng Phương pháp lập trình: Chương 3
23 p | 115 | 10
-
Bài giảng Phương pháp lập trình: Chương 8 - GV. Từ Thị Xuân Hiền
25 p | 102 | 10
-
Bài giảng Phương pháp lập trình: Chương 6 (tiếp theo)
43 p | 85 | 9
-
Bài giảng Phương pháp lập trình: Chương 4
9 p | 96 | 6
-
Bài giảng Phương pháp lập trình hướng đối tượng: Bài tập 5 - Trần Phước Tuấn
4 p | 114 | 6
-
Bài giảng Phương pháp lập trình: Chương 7
16 p | 71 | 4
-
Bài giảng Phương pháp lập trình - Chương 1: Phương pháp lập trình (2016)
64 p | 73 | 4
-
Bài giảng Phương pháp lập trình: Bài 2 - TS. Ngô Hữu Dũng
45 p | 73 | 4
-
Bài giảng Phương pháp lập trình: Bài 4 - TS. Ngô Hữu Dũng
51 p | 92 | 4
-
Bài giảng Phương pháp lập trình: Bài 11 - TS. Ngô Hữu Dũng
42 p | 62 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn