Bài giảng Tin học đại cương: Bài 9 - Bùi Trọng Tùng
Số trang: 15
Loại file: pdf
Dung lượng: 186.02 KB
Lượt xem: 20
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Tin học đại cương: Bài 9 Kiểu cấu trúc 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 trích xuất từ tài liệu:
Bài giảng Tin học đại cương: Bài 9 - Bùi Trọng Tùng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 09. Kiểu cấu trúc Nội dung 1. Khái niệm cấu trúc 2. Khai báo và sử dụng cấu trúc 3. Xử lý dữ liệu cấu trúc 4. Mảng cấu trúc 2 1 Nội dung 1. Khái niệm cấu trúc 2. Khai báo và sử dụng cấu trúc 3. Xử lý dữ liệu cấu trúc 4. Mảng cấu trúc 3 1. Khái niệm cấu trúc • Kiểu dữ liệu cấu trúc (struct) – Là kiểu dữ liệu phức hợp, bao gồm nhiều thành phần có thể thuộc các kiểu dữ liệu khác nhau – Các thành phần: gọi là trường dữ liệu (field) • Ví dụ – Thông tin về kết quả học tập môn Tin đại cương của sinh viên: Họ tên SV, MSSV, Điểm quá trình, Điểm thi. – Thông tin về cầu thủ: Họ tên, Tuổi, CLB, Số áo, Vị trí,… 4 2 2. Khai báo và sử dụng cấu trúc 2.1. Khai báo kiểu dữ liệu cấu trúc 2.2. Khai báo biến cấu trúc 2.3. Định nghĩa kiểu dữ liệu với typedef 5 2.1. Khai báo kiểu dữ liệu cấu trúc • Khai báo cấu trúc • Ví dụ struct Tên_Cấu_Trúc{ struct SinhVien{ char MSSV[10]; }; char hoVaTen[30]; MSSV float diemTinDC; SinhVien } hoVaTen struct Point3D{ diemTinDC float x; float y; x float z; Point3D y } z 6 3 2.2. Khai báo biến cấu trúc • Cú pháp: struct Tên_Cấu_Trúc tenBien; • Ví dụ: – struct SinhVien a, b, c; • Kết hợp khai báo struct Tên_Cấu_Trúc { ; } tenBien; 7 2.2. Khai báo biến cấu trúc • Các cấu trúc có thể được khai báo lồng nhau struct DiemThi { float dToan, dLy, dHoa; }; struct ThiSinh{ char SBD[10]; char hoTen[30]; struct DiemThi ketQua; } thiSinh1, thiSinh2; • Có thể khai báo trực tiếp các trường dữ liệu của một cấu trúc bên trong một cấu trúc khác 8 4 2.2. Khai báo biến cấu trúc • Có thể khai báo trực tiếp các trường dữ liệu của một cấu trúc bên trong cấu trúc khác struct ThiSinh{ char SBD[10]; char hoTen[30]; struct [DiemThi]{ float dToan, dLy, dHoa; } ketQua; } thiSinh1, thiSinh2; 9 2.3. Định nghĩa kiểu dữ liệu với typedef • Mục đích – Đặt tên mới cho kiểu dữ liệu cấu trúc – Giúp khai báo biến “quen thuộc” và ít sai hơn • Cú pháp typedef struct Tên_Cũ Tên_Mới; hoặc typedef struct Tên_Cũ { ; } Tên_Mới; • Chú ý: cho phép đặt Tên_Mới trùng Tên_Cũ 10 5 2.3. Định nghĩa kiểu dữ liệu với typedef • Ví dụ: struct Point3D{ typedef struct { float x, y, z; float x, y, z; } }Point3D; struct Point3D M; Point3D M; typedef struct Point3D Point3D; Point3D N; Point3D N; 11 2.3. Định nghĩa kiểu dữ liệu với typedef • Ví dụ typedef struct Point2D { float x, y; }Point2D, Diem2Chieu, TenBatKi; Point2D X; Diem2Chieu Y; TenBatKi Z; => Point2D, Diem2Chieu, TenBatKi là các tên cấu trúc, không phải tên biến 12 6 3. Xử lý dữ liệu cấu trúc 3.1. Truy cập các trường dữ liệu 3.2. Phép gán giữa các biến cấu trúc 13 3.1. Truy cập các trường dữ liệu • Cú pháp tenBien.tenTruong • Lưu ý – Dấu “.” là toán tử truy cập vào trường dữ liệu trong cấu trúc – Nếu trường dữ liệu là một cấu trúc => sử dụng tiếp dấu “.” để truy cập vào thành phần mức sâu hơn 14 7 3.1. Truy cập các trường dữ liệu Ví dụ: • Xây dựng một cấu trúc biểu diễn điểm trong không gian 2 chiều. Nhập giá trị cho một biến kiểu cấu trúc này, sau đó hiển thị giá trị các trường dữ liệu của biến này ra màn hình. – Cấu trúc: tên điểm, tọa độ x, tọa độ y – Nhập, hiển thị từng trường của biến cấu trúc như các biến dữ liệu khác 15 3.1. Truy cập các trường dữ liệu #include #include typedef struct{ char ten[5]; int x,y; }ToaDo; int main(){ ToaDo t; printf('Nhap thong tin toa do\n'); 16 8 3.1. Truy cập các trường dữ liệu printf('Ten diem: '); fflush(stdin); gets(t.ten); printf('Toa do x: ');scanf('%d',&t.x); printf('Toa do y: ');scanf('%d',&t.y); printf('Gia tri cac truong\n'); printf('%-5s%3d%3d\n',t.ten,t.x,t.y); getch(); return 0; ...
Nội dung trích xuất từ tài liệu:
Bài giảng Tin học đại cương: Bài 9 - Bùi Trọng Tùng TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 09. Kiểu cấu trúc Nội dung 1. Khái niệm cấu trúc 2. Khai báo và sử dụng cấu trúc 3. Xử lý dữ liệu cấu trúc 4. Mảng cấu trúc 2 1 Nội dung 1. Khái niệm cấu trúc 2. Khai báo và sử dụng cấu trúc 3. Xử lý dữ liệu cấu trúc 4. Mảng cấu trúc 3 1. Khái niệm cấu trúc • Kiểu dữ liệu cấu trúc (struct) – Là kiểu dữ liệu phức hợp, bao gồm nhiều thành phần có thể thuộc các kiểu dữ liệu khác nhau – Các thành phần: gọi là trường dữ liệu (field) • Ví dụ – Thông tin về kết quả học tập môn Tin đại cương của sinh viên: Họ tên SV, MSSV, Điểm quá trình, Điểm thi. – Thông tin về cầu thủ: Họ tên, Tuổi, CLB, Số áo, Vị trí,… 4 2 2. Khai báo và sử dụng cấu trúc 2.1. Khai báo kiểu dữ liệu cấu trúc 2.2. Khai báo biến cấu trúc 2.3. Định nghĩa kiểu dữ liệu với typedef 5 2.1. Khai báo kiểu dữ liệu cấu trúc • Khai báo cấu trúc • Ví dụ struct Tên_Cấu_Trúc{ struct SinhVien{ char MSSV[10]; }; char hoVaTen[30]; MSSV float diemTinDC; SinhVien } hoVaTen struct Point3D{ diemTinDC float x; float y; x float z; Point3D y } z 6 3 2.2. Khai báo biến cấu trúc • Cú pháp: struct Tên_Cấu_Trúc tenBien; • Ví dụ: – struct SinhVien a, b, c; • Kết hợp khai báo struct Tên_Cấu_Trúc { ; } tenBien; 7 2.2. Khai báo biến cấu trúc • Các cấu trúc có thể được khai báo lồng nhau struct DiemThi { float dToan, dLy, dHoa; }; struct ThiSinh{ char SBD[10]; char hoTen[30]; struct DiemThi ketQua; } thiSinh1, thiSinh2; • Có thể khai báo trực tiếp các trường dữ liệu của một cấu trúc bên trong một cấu trúc khác 8 4 2.2. Khai báo biến cấu trúc • Có thể khai báo trực tiếp các trường dữ liệu của một cấu trúc bên trong cấu trúc khác struct ThiSinh{ char SBD[10]; char hoTen[30]; struct [DiemThi]{ float dToan, dLy, dHoa; } ketQua; } thiSinh1, thiSinh2; 9 2.3. Định nghĩa kiểu dữ liệu với typedef • Mục đích – Đặt tên mới cho kiểu dữ liệu cấu trúc – Giúp khai báo biến “quen thuộc” và ít sai hơn • Cú pháp typedef struct Tên_Cũ Tên_Mới; hoặc typedef struct Tên_Cũ { ; } Tên_Mới; • Chú ý: cho phép đặt Tên_Mới trùng Tên_Cũ 10 5 2.3. Định nghĩa kiểu dữ liệu với typedef • Ví dụ: struct Point3D{ typedef struct { float x, y, z; float x, y, z; } }Point3D; struct Point3D M; Point3D M; typedef struct Point3D Point3D; Point3D N; Point3D N; 11 2.3. Định nghĩa kiểu dữ liệu với typedef • Ví dụ typedef struct Point2D { float x, y; }Point2D, Diem2Chieu, TenBatKi; Point2D X; Diem2Chieu Y; TenBatKi Z; => Point2D, Diem2Chieu, TenBatKi là các tên cấu trúc, không phải tên biến 12 6 3. Xử lý dữ liệu cấu trúc 3.1. Truy cập các trường dữ liệu 3.2. Phép gán giữa các biến cấu trúc 13 3.1. Truy cập các trường dữ liệu • Cú pháp tenBien.tenTruong • Lưu ý – Dấu “.” là toán tử truy cập vào trường dữ liệu trong cấu trúc – Nếu trường dữ liệu là một cấu trúc => sử dụng tiếp dấu “.” để truy cập vào thành phần mức sâu hơn 14 7 3.1. Truy cập các trường dữ liệu Ví dụ: • Xây dựng một cấu trúc biểu diễn điểm trong không gian 2 chiều. Nhập giá trị cho một biến kiểu cấu trúc này, sau đó hiển thị giá trị các trường dữ liệu của biến này ra màn hình. – Cấu trúc: tên điểm, tọa độ x, tọa độ y – Nhập, hiển thị từng trường của biến cấu trúc như các biến dữ liệu khác 15 3.1. Truy cập các trường dữ liệu #include #include typedef struct{ char ten[5]; int x,y; }ToaDo; int main(){ ToaDo t; printf('Nhap thong tin toa do\n'); 16 8 3.1. Truy cập các trường dữ liệu printf('Ten diem: '); fflush(stdin); gets(t.ten); printf('Toa do x: ');scanf('%d',&t.x); printf('Toa do y: ');scanf('%d',&t.y); printf('Gia tri cac truong\n'); printf('%-5s%3d%3d\n',t.ten,t.x,t.y); getch(); return 0; ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Tin học đại cương Tin học đại cương Kiểu cấu trúc Mảng cấu trúc Xử lý dữ liệu cấu trúc Khai báo biến cấu trúcGợi ý tài liệu liên quan:
-
Ứng dụng công cụ Quizizz thiết kế trò chơi học tập trong giảng dạy học phần tin học đại cương
12 trang 284 0 0 -
Tài liệu hướng dẫn thực hành Tin học đại cương - ĐH Bách Khoa Hà Nội
40 trang 248 0 0 -
114 trang 219 2 0
-
Giáo trình Tin học đại cương part 7
19 trang 212 0 0 -
Giáo trình Tin học đại cương: Phần 1 - ĐH Kinh tế Quốc Dân
130 trang 147 0 0 -
Giáo trình Tin học đại cương (Tái bản năm 2020): Phần 1 - PGS.TS. Nguyễn Thị Thu Thủy (Chủ biên)
105 trang 137 0 0 -
Hướng dẫn thực hành lập trình C trên Visual Studio
9 trang 124 0 0 -
Giáo trình Tin học đại cương: Phần 1 - Vi Hồng Thắm
90 trang 114 0 0 -
Đề cương học phần Tin học đại cương
23 trang 102 0 0 -
Quản trị người dùng trong Exchange 2007 bằng Powershell
9 trang 96 0 0