Bài giảng Nhập môn lập trình: Bài 7 - Trần Duy Thanh
lượt xem 4
download
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.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Nhập môn lập trình: Bài 7 - Trần Duy Thanh
- 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
- 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
- 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. Bitfield: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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN 3.3. Ví dụ void Xuat (DIEM d) { cout
- 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
- 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
- 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
- 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Nhập môn lập trình - Chương 1: Các khái niệm cơ bản về lập trình
20 p | 115 | 8
-
Bài giảng Nhập môn lập trình: Chương 2 - Trần Minh Thái
86 p | 110 | 8
-
Bài giảng Nhập môn lập trình: Chương 1 - Trần Minh Thái
58 p | 105 | 7
-
Bài giảng Nhập môn lập trình: Bài 1 - Trần Duy Thanh
70 p | 190 | 5
-
Bài giảng Nhập môn lập trình - Bài 2: Giới thiệu ngôn ngữ lập trình C
18 p | 111 | 5
-
Bài giảng Nhập môn lập trình: Bài 2 - TS. Ngô Hữu Dũng
53 p | 65 | 3
-
Bài giảng Nhập môn lập trình: Bài 1 - TS. Ngô Hữu Dũng
47 p | 81 | 3
-
Bài giảng Nhập môn lập trình: Tổng quan về lập trình - Nguyễn Đình Hưng
21 p | 80 | 3
-
Bài giảng Nhập môn lập trình: Chương giới thiệu - ThS. Nguyễn Đông Hà
9 p | 79 | 3
-
Bài giảng Nhập môn lập trình: Bài 3 - Trần Duy Thanh
16 p | 99 | 3
-
Bài giảng Nhập môn lập trình: Giới thiệu về các cấu trúc điều khiển - Trường ĐH Khoa học tự nhiên TP. HCM
58 p | 6 | 1
-
Bài giảng Nhập môn lập trình: Sử dụng những kiểu dữ liệu cơ sở trong chương trình - Trường ĐH Khoa học tự nhiên TP. HCM
53 p | 4 | 1
-
Bài giảng Nhập môn lập trình: Giới thiệu tổng quan về lập trình - Trường ĐH Khoa học tự nhiên TP. HCM
31 p | 2 | 0
-
Bài giảng Nhập môn lập trình: Hàm và kỹ thuật tổ chức chương trình - Trường ĐH Khoa học tự nhiên TP. HCM
86 p | 2 | 0
-
Bài giảng Nhập môn lập trình: Giới thiệu về thuật toán - Trường ĐH Khoa học tự nhiên TP. HCM
29 p | 0 | 0
-
Bài giảng Nhập môn lập trình: Kỹ thuật cài đặt các thuật toán cơ bản - Trường ĐH Khoa học tự nhiên TP. HCM
37 p | 4 | 0
-
Bài giảng Nhập môn lập trình: Dữ liệu mạng và dữ liệu có cấu trúc - Trường ĐH Khoa học tự nhiên TP. HCM
37 p | 1 | 0
-
Bài giảng Nhập môn lập trình: Lập trình với tập tin văn bản thô - Trường ĐH Khoa học tự nhiên TP. HCM
38 p | 8 | 0
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