Bài giảng Ngôn ngữ lập trình C: Chương 5 - TS. Nguyễn Thị Hiền
Số trang: 31
Loại file: pdf
Dung lượng: 533.17 KB
Lượt xem: 16
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Ngôn ngữ lập trình C - Chương 5: Dữ liệu kiểu cấu trúc" cung cấp cho người học các kiến thức: Khái niệm, khai báo cấu trúc, các thao tác trên biến cấu trúc, mảng cấu trúc, con trỏ cấu trúc và địa chỉ 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 Ngôn ngữ lập trình C: Chương 5 - TS. Nguyễn Thị HiềnChương 5. Dữ liệukiểu cấu trúcChương 5. Dữ liệu kiểu cấu trúc Khái niệm Khai báo cấu trúc Các thao tác trên biến cấu trúc Mảng cấu trúc Con trỏ cấu trúc và địa chỉ cấu trúc Truyền biến cấu trúc cho hàm Cấu trúc tự trỏ và ứng dụngKhái niệm Cấu trúc là tập hợp của một hoặc nhiều biến, chúng có thể có kiểu dữ liệu khác nhau, được nhóm lại dưới một tên duy nhất để tiện xử lý. Cấu trúc còn gọi là bản ghi trong một số ngôn ngữ lập trình khác, chẳng hạn như PASCAL.Khái niệm Một số ví dụ về cấu trúc: Phiếu ghi lương, gồm có: tên, địa chỉ, lương, phụ cấp, … một số trong các thuộc tính này lại có thể là một cấu trúc bởi trong nó có thể chứa nhiều thành phần: Tên ( Họ, đệm, tên ), Địa chỉ ( Phố, số nhà ), ... Danh sách sinh viên, gồm có: mã sinh viên, họ tên, ngày sinh, điểm toán, điểm lý, điểm hóa…; trong đó, ngày sinh có thể chứa nhiều thành phần ngày, tháng, năm. Những dạng như vậy sử dụng cấu trúc.Định nghĩa kiểu cấu trúc Định nghĩa cấu trúc bằng struct: struct tên_kiểu_cấu_trúc{ Khai báo các thành phần của cấu trúc }; Ý nghĩa: struct: từ khoá tên_kiểu_cấu_trúc: do người lập trình tự đặt. thành phần của cấu trúc có thể là: biến, mảng, cấu trúc khác đã được định nghĩa trước đó Ví dụ: struct ngay {int ngaythu; char thang[12]; int nam; };Định nghĩa kiểu cấu trúc Định nghĩa cấu trúc bằng typedeftypedef ; Ví dụ:typedef struct { int ngaythu; char thang[12]; int nam; } ngay;Khai báo biến cấu trúc Giống như khai báo biến thông thường Cú pháp:struct ; Ví dụ:struct ngay ngaydi, ngayden; Chú ý: Các biến kiểu cấu trúc được khai báo theo mẫu trên sẽ được cấp phát bộ nhớ một cách đầy đủ cho tất cả các thành phần của nó.Khai báo biến cấu trúc Có thể khai báo biến cấu trúc đồng thời với định nghĩa cấu trúc Cú pháp:struct {Thành phần cấu trúc}; Ví dụ:struct ngay { int ngaythu; char thang[12]; int nam; } ngaydi, ngayden;Các thao tác trên biến cấu trúc Truy cập đến các thành phần của cấu trúc: Sử dụng dấu . để truy cập đến thành phần của cấu trúc.tên_biến_cấu_trúc.tên_thành_phầntên_biến_cấu_trúc.tên_cấu_trúc_con.tên_thành_phần Ví dụ: ngay a; a.ngaythu=15; printf(“%d”,a.ngaythu);Các thao tác trên biến cấu trúc Truy cập đến các thành phần của cấu trúc: Chú ý: Có thể sử dụng phép toán lấy địa chỉ đối với các thành phần của cấu trúc để nhập số liệu trực tiếp vào các thành phần của cấu trúc. Ví dụ như ta viết: scanf(%d,&a.nam); Tuy nhiên ta nên nhập số liệu vào một biến trung gian sau đó mới gán cho thành phần của cấu trúc như sau: int year; scanf(%d,&year); a.nam=year;Các thao tác trên biến cấu trúc Phép gán cấu trúc: Cóthể thực hiện phép gán trên các biến và phần tử mảng kiểu cấu trúc cùng kiểu. Mỗimột phép gán trên tương đương với một dãy phép gán các thành phần tương ứng.Mảng cấu trúc Có thể sử dụng một kiểu cấu trúc đã mô tả để khai báo các biến kiểu cấu trúc và mảng kiểu cấu trúc. Cú pháp: struct Ví dụ: struct canbo cb1,cb2,nhom1[10],nhom2[7]; double tongluong=0; for (i=0;iCon trỏ cấu trúc Con trỏ cấu trúc: Cú pháp:struct *; Ví dụ: struct ngay*p,*p1,*p2,nc1,nc2,ds[100]; p1=&nc1; /* Gán địa chỉ nc1 cho p1 */ p2=&ds[4]; /* Gán địa chỉ ds[4] cho p2 */ p=ds; /* Gán địa chỉ ds[0] cho p */Con trỏ cấu trúc Con trỏ cấu trúc: (t.) Truy cập các thành phần của con trỏ cấu trúc: Cú pháp: Cách 1: Tên_con_trỏ->Tên_thành_phần Cách 2: (*Tên_con_trỏ).Tên_thành_phần Ví dụ: struct ngay *p,*p1,*p2,nc1,nc2,ds[100]; nc1. nam; p1-> nam; ds[4]. thang; (*p2).thang;Cấu trúc tự trỏ Khái niệm Là cấu trúc có ít nhất một thành phần là con trỏ kiểu cấu trúc đang định nghĩa Ví dụ: struct person{ char name[50]; int age; struct person *next; }Cấu trúc tự trỏ Ứng dụng Cấu trúc tự trỏ được dùng để xây dựng danh sách liên kết. Danh sách liên kết: Quản lý con trỏ lưu trữ cấu trúc đầu tiên của danh sách Trong cấu trúc (trừ cấu trúc cuối cùng), chứa địa chỉ cấu trúc tiếp theo của danh sách Cấu trúc cuối chứa hằng NULLCấu trúc tự trỏ Một số danh sách liên kết sử dụng cấu trúc tự trỏ: Stack (ngăn xếp): hoạt động theo phương thức Last In – First Out (LIFO) Queue (hàng đợi): hoạt động theo phương thức First In – First Out (FI ...
Nội dung trích xuất từ tài liệu:
Bài giảng Ngôn ngữ lập trình C: Chương 5 - TS. Nguyễn Thị HiềnChương 5. Dữ liệukiểu cấu trúcChương 5. Dữ liệu kiểu cấu trúc Khái niệm Khai báo cấu trúc Các thao tác trên biến cấu trúc Mảng cấu trúc Con trỏ cấu trúc và địa chỉ cấu trúc Truyền biến cấu trúc cho hàm Cấu trúc tự trỏ và ứng dụngKhái niệm Cấu trúc là tập hợp của một hoặc nhiều biến, chúng có thể có kiểu dữ liệu khác nhau, được nhóm lại dưới một tên duy nhất để tiện xử lý. Cấu trúc còn gọi là bản ghi trong một số ngôn ngữ lập trình khác, chẳng hạn như PASCAL.Khái niệm Một số ví dụ về cấu trúc: Phiếu ghi lương, gồm có: tên, địa chỉ, lương, phụ cấp, … một số trong các thuộc tính này lại có thể là một cấu trúc bởi trong nó có thể chứa nhiều thành phần: Tên ( Họ, đệm, tên ), Địa chỉ ( Phố, số nhà ), ... Danh sách sinh viên, gồm có: mã sinh viên, họ tên, ngày sinh, điểm toán, điểm lý, điểm hóa…; trong đó, ngày sinh có thể chứa nhiều thành phần ngày, tháng, năm. Những dạng như vậy sử dụng cấu trúc.Định nghĩa kiểu cấu trúc Định nghĩa cấu trúc bằng struct: struct tên_kiểu_cấu_trúc{ Khai báo các thành phần của cấu trúc }; Ý nghĩa: struct: từ khoá tên_kiểu_cấu_trúc: do người lập trình tự đặt. thành phần của cấu trúc có thể là: biến, mảng, cấu trúc khác đã được định nghĩa trước đó Ví dụ: struct ngay {int ngaythu; char thang[12]; int nam; };Định nghĩa kiểu cấu trúc Định nghĩa cấu trúc bằng typedeftypedef ; Ví dụ:typedef struct { int ngaythu; char thang[12]; int nam; } ngay;Khai báo biến cấu trúc Giống như khai báo biến thông thường Cú pháp:struct ; Ví dụ:struct ngay ngaydi, ngayden; Chú ý: Các biến kiểu cấu trúc được khai báo theo mẫu trên sẽ được cấp phát bộ nhớ một cách đầy đủ cho tất cả các thành phần của nó.Khai báo biến cấu trúc Có thể khai báo biến cấu trúc đồng thời với định nghĩa cấu trúc Cú pháp:struct {Thành phần cấu trúc}; Ví dụ:struct ngay { int ngaythu; char thang[12]; int nam; } ngaydi, ngayden;Các thao tác trên biến cấu trúc Truy cập đến các thành phần của cấu trúc: Sử dụng dấu . để truy cập đến thành phần của cấu trúc.tên_biến_cấu_trúc.tên_thành_phầntên_biến_cấu_trúc.tên_cấu_trúc_con.tên_thành_phần Ví dụ: ngay a; a.ngaythu=15; printf(“%d”,a.ngaythu);Các thao tác trên biến cấu trúc Truy cập đến các thành phần của cấu trúc: Chú ý: Có thể sử dụng phép toán lấy địa chỉ đối với các thành phần của cấu trúc để nhập số liệu trực tiếp vào các thành phần của cấu trúc. Ví dụ như ta viết: scanf(%d,&a.nam); Tuy nhiên ta nên nhập số liệu vào một biến trung gian sau đó mới gán cho thành phần của cấu trúc như sau: int year; scanf(%d,&year); a.nam=year;Các thao tác trên biến cấu trúc Phép gán cấu trúc: Cóthể thực hiện phép gán trên các biến và phần tử mảng kiểu cấu trúc cùng kiểu. Mỗimột phép gán trên tương đương với một dãy phép gán các thành phần tương ứng.Mảng cấu trúc Có thể sử dụng một kiểu cấu trúc đã mô tả để khai báo các biến kiểu cấu trúc và mảng kiểu cấu trúc. Cú pháp: struct Ví dụ: struct canbo cb1,cb2,nhom1[10],nhom2[7]; double tongluong=0; for (i=0;iCon trỏ cấu trúc Con trỏ cấu trúc: Cú pháp:struct *; Ví dụ: struct ngay*p,*p1,*p2,nc1,nc2,ds[100]; p1=&nc1; /* Gán địa chỉ nc1 cho p1 */ p2=&ds[4]; /* Gán địa chỉ ds[4] cho p2 */ p=ds; /* Gán địa chỉ ds[0] cho p */Con trỏ cấu trúc Con trỏ cấu trúc: (t.) Truy cập các thành phần của con trỏ cấu trúc: Cú pháp: Cách 1: Tên_con_trỏ->Tên_thành_phần Cách 2: (*Tên_con_trỏ).Tên_thành_phần Ví dụ: struct ngay *p,*p1,*p2,nc1,nc2,ds[100]; nc1. nam; p1-> nam; ds[4]. thang; (*p2).thang;Cấu trúc tự trỏ Khái niệm Là cấu trúc có ít nhất một thành phần là con trỏ kiểu cấu trúc đang định nghĩa Ví dụ: struct person{ char name[50]; int age; struct person *next; }Cấu trúc tự trỏ Ứng dụng Cấu trúc tự trỏ được dùng để xây dựng danh sách liên kết. Danh sách liên kết: Quản lý con trỏ lưu trữ cấu trúc đầu tiên của danh sách Trong cấu trúc (trừ cấu trúc cuối cùng), chứa địa chỉ cấu trúc tiếp theo của danh sách Cấu trúc cuối chứa hằng NULLCấu trúc tự trỏ Một số danh sách liên kết sử dụng cấu trúc tự trỏ: Stack (ngăn xếp): hoạt động theo phương thức Last In – First Out (LIFO) Queue (hàng đợi): hoạt động theo phương thức First In – First Out (FI ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Ngôn ngữ lập trình C Ngôn ngữ lập trình C Ngôn ngữ lập trình Kỹ thuật lập trình Mảng cấu trúc Dữ liệu kiểu 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 276 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 266 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 265 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 226 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 218 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 207 0 0 -
101 trang 200 1 0
-
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 194 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 184 0 0