Bài giảng cơ sở lập trình - Trường học viên Ngân Hàng Hà Nội - Chương 8
Số trang: 28
Loại file: pptx
Dung lượng: 204.28 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Kiểu cấu trúc (struct): Là kiểu dữ liệu bao gồm nhiều thành phần có kiểu khác nhau, mỗi thành phần được gọi là một trường (field). Khai báo biến kiểu cấu trúc: Khai báo tương tự như khai báo biến thuộc kiểu dữ liệu chuẩn. Với cách khai báo cấu trúc trực tiếp, có thể khai báo biến ngay khi khai báo cấu trúc
Nội dung trích xuất từ tài liệu:
Bài giảng cơ sở lập trình - Trường học viên Ngân Hàng Hà Nội - Chương 8 Chương 8KIỂU DỮ LIỆU CẤU TRÚC (structure)Khoa Hệ thống thông tin quản lý Hà Nội – 2013Nội dung 1 Khái niệm kiểu cấu trúc (struct) 2 Các thao tác với cấu trúc 3 Mảng cấu trúc 4 Con trỏ cấu trúc 5 Chuyển tham số struct cho hàm 6 Union11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 21. Khái niệm kiểu cấu trúc o Kiểu cấu trúc (struct) n Là kiểu dữ liệu bao gồm nhiều thành phần có kiểu khác nhau, mỗi thành phần được gọi là một trường (field) n Kiểu cấu trúc và mảng: o Các phần tử của mảng là cùng kiểu o Các phần tử của cấu trúc có thể có kiểu khác nhau n Struct được dùng để định nghĩa các kiểu dữ liệu mớ i11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 3/28Khai báo cấu trúc o Khai báo trực tiếp struct { ; … ; } , ; o Ví dụ n Khai báo cấu trúc NgayThang gồm 3 trường: ngày, tháng, năm struct NgayThang { unsigned char Ngay; unsigned char Thang; unsigned int Nam; } date1,date2;11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 4/28Khai báo cấu trúc (tt) o Khai báo gián tiếp typedef struct { ; … ; } ; o Ví dụ n Khai báo kiểu cấu trúc NgayThang gồm 3 trường: ngày, tháng, năm typedef struct { unsigned char Ngay; unsigned char Thang; unsigned int Nam; } NgayThang;11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 5/28Khai báo cấu trúc lồng nhau o Ví dụ: n Khai báo cấu trúc SinhVien gồm: mã sinh viên, họ tên, ngày sinh (thuộc kiểu ngaythang ở trên), giới tính, địa chỉ Khai báo trực tiếp Khai báo gián tiếp struct SinhVien typedef struct { { char Masv[10]; char Masv[10]; char Hoten[40]; char Hoten[40]; NgayThang NgaySinh; NgayThang NgaySinh; int Gioitinh; int Gioitinh; char Diachi[50]; char Diachi[50]; }; } SinhVien;11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 6/28Khai báo biến kiểu cấu trúc o Khai báo biến kiểu cấu trúc n Khai báo tương tự như khai báo biến thuộc kiểu dữ liệu chuẩn n Với cách khai báo cấu trúc trực tiếp, có thể khai báo biến ngay khi khai báo cấu trúc n Ví dụ 1: Khai báo biến A và B struct Diem { float x; float y; } A,B; n Ví dụ 2: Khai báo biến SV1,SV2 có kiểu SinhVien SinhVien SV1,SV2;11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 7/282. Các thao tác với cấu trúc o Khởi tạo cấu trúc Biến cấu trúc có thể được khởi tạo giá trị trong n lúc khai báo. n Các trường của cấu trúc được đặt giữa cặp dấu { và }, ngăn cách bằng dấu phẩy (,) n Ví dụ: Khởi tạo biến cấu trúc ngaysinh struct NgayThang NgaySinh={01,08,1991}11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 8/28Truy cập vào phần tử struct o Đặc điểm n Không thể truy xuất trực tiếp n 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) o Cú pháp . o Ví dụ: n Viết ra toạ độ điểm A trong khai báo trên printf(“x = %f, y = %f”, A.x, A.y); o Chú ý: n Các biến cấu trúc có thể gán cho nhau, vd: B=A; n KHÔNG thực hiện được các hàm nhập xuất, các11/7/13 phép quan hệ, số u dữ liệlogic trúc biến c9/28 trúc Chương 8-Kiể học, u cấu trên ấuGán dữ liệu kiểu cấu trúc o Có 2 cách = ; . = ; o Ví dụ struct Diem { int x, y; } diem1 = {2912, 1706}, diem2; … diem2 = diem1; diem2.x = diem1.x; diem2.y = diem1.y * 2;11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 10/28Cấu trúc phức tạp o Cấu trúc đệ quy (tự trỏ) struct PERSON { char hoten[30]; struct PERSON *father, *mother; }; struct NODE { int value; struct NODE *pNext; }; n Sử dụng để tạo danh sách liên kết (đơn – LIFO, FIFO, kép, vòng)11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 11/28Ví dụ - Nhập/in ...
Nội dung trích xuất từ tài liệu:
Bài giảng cơ sở lập trình - Trường học viên Ngân Hàng Hà Nội - Chương 8 Chương 8KIỂU DỮ LIỆU CẤU TRÚC (structure)Khoa Hệ thống thông tin quản lý Hà Nội – 2013Nội dung 1 Khái niệm kiểu cấu trúc (struct) 2 Các thao tác với cấu trúc 3 Mảng cấu trúc 4 Con trỏ cấu trúc 5 Chuyển tham số struct cho hàm 6 Union11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 21. Khái niệm kiểu cấu trúc o Kiểu cấu trúc (struct) n Là kiểu dữ liệu bao gồm nhiều thành phần có kiểu khác nhau, mỗi thành phần được gọi là một trường (field) n Kiểu cấu trúc và mảng: o Các phần tử của mảng là cùng kiểu o Các phần tử của cấu trúc có thể có kiểu khác nhau n Struct được dùng để định nghĩa các kiểu dữ liệu mớ i11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 3/28Khai báo cấu trúc o Khai báo trực tiếp struct { ; … ; } , ; o Ví dụ n Khai báo cấu trúc NgayThang gồm 3 trường: ngày, tháng, năm struct NgayThang { unsigned char Ngay; unsigned char Thang; unsigned int Nam; } date1,date2;11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 4/28Khai báo cấu trúc (tt) o Khai báo gián tiếp typedef struct { ; … ; } ; o Ví dụ n Khai báo kiểu cấu trúc NgayThang gồm 3 trường: ngày, tháng, năm typedef struct { unsigned char Ngay; unsigned char Thang; unsigned int Nam; } NgayThang;11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 5/28Khai báo cấu trúc lồng nhau o Ví dụ: n Khai báo cấu trúc SinhVien gồm: mã sinh viên, họ tên, ngày sinh (thuộc kiểu ngaythang ở trên), giới tính, địa chỉ Khai báo trực tiếp Khai báo gián tiếp struct SinhVien typedef struct { { char Masv[10]; char Masv[10]; char Hoten[40]; char Hoten[40]; NgayThang NgaySinh; NgayThang NgaySinh; int Gioitinh; int Gioitinh; char Diachi[50]; char Diachi[50]; }; } SinhVien;11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 6/28Khai báo biến kiểu cấu trúc o Khai báo biến kiểu cấu trúc n Khai báo tương tự như khai báo biến thuộc kiểu dữ liệu chuẩn n Với cách khai báo cấu trúc trực tiếp, có thể khai báo biến ngay khi khai báo cấu trúc n Ví dụ 1: Khai báo biến A và B struct Diem { float x; float y; } A,B; n Ví dụ 2: Khai báo biến SV1,SV2 có kiểu SinhVien SinhVien SV1,SV2;11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 7/282. Các thao tác với cấu trúc o Khởi tạo cấu trúc Biến cấu trúc có thể được khởi tạo giá trị trong n lúc khai báo. n Các trường của cấu trúc được đặt giữa cặp dấu { và }, ngăn cách bằng dấu phẩy (,) n Ví dụ: Khởi tạo biến cấu trúc ngaysinh struct NgayThang NgaySinh={01,08,1991}11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 8/28Truy cập vào phần tử struct o Đặc điểm n Không thể truy xuất trực tiếp n 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) o Cú pháp . o Ví dụ: n Viết ra toạ độ điểm A trong khai báo trên printf(“x = %f, y = %f”, A.x, A.y); o Chú ý: n Các biến cấu trúc có thể gán cho nhau, vd: B=A; n KHÔNG thực hiện được các hàm nhập xuất, các11/7/13 phép quan hệ, số u dữ liệlogic trúc biến c9/28 trúc Chương 8-Kiể học, u cấu trên ấuGán dữ liệu kiểu cấu trúc o Có 2 cách = ; . = ; o Ví dụ struct Diem { int x, y; } diem1 = {2912, 1706}, diem2; … diem2 = diem1; diem2.x = diem1.x; diem2.y = diem1.y * 2;11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 10/28Cấu trúc phức tạp o Cấu trúc đệ quy (tự trỏ) struct PERSON { char hoten[30]; struct PERSON *father, *mother; }; struct NODE { int value; struct NODE *pNext; }; n Sử dụng để tạo danh sách liên kết (đơn – LIFO, FIFO, kép, vòng)11/7/13 Chương 8-Kiểu dữ liệu cấu trúc 11/28Ví dụ - Nhập/in ...
Tìm kiếm theo từ khóa liên quan:
Cơ sở lập trình Bài giảng cơ sở lập trình Tài liệu lập trình Ngôn ngữ lập trình Bài tập lập trình Khai báo biến kiểu cấu trúc Mảng cấu trúcGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 272 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 264 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 263 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 232 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 221 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 214 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 204 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 179 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 169 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 163 0 0