Bài giảng Kĩ thuật lập trình cơ bản - Chương 5: Kiểu dữ liệu có cấu trúc - Trần Nguyễn Anh Chi
Bạn đang xem tài liệu "Bài giảng Kĩ thuật lập trình cơ bản - Chương 5: Kiểu dữ liệu có cấu trúc - Trần Nguyễn Anh Chi", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_ki_thuat_lap_trinh_co_ban_chuong_5_kieu_du_lieu_co.pdf
Nội dung text: Bài giảng Kĩ thuật lập trình cơ bản - Chương 5: Kiểu dữ liệu có cấu trúc - Trần Nguyễn Anh Chi
- Kỹ thuật lập trình cơ bản Chương 5: Kiểu dữ liệu có cấu trúc Trường Cao đẳng Công nghệ Thông Tin Khoa Công nghệ Thông Tin CHƯƠNG 5 KIỂU DỮ LIỆU CÓ CẤU TRÚC PHẦN 1: KIỂU CẤU TRÚC GV: ThS. TRẦN NGUYỄN ANH CHI TpHCM, 02/2011 Đặt vấn đề Thông tin 1 SV . MSSV : kiểu chuỗi . Tên SV : kiểu chuỗi . NTNS : kiểu chuỗi . Phái : ký tự . Điểm Toán, Lý, Hóa : số thực Yêu cầu . Lưu thông tin n SV . Truyền thông tin n SV vào hàm 2 GV: ThS. Trần Nguyễn Anh Chi 1
- Kỹ thuật lập trình cơ bản Chương 5: Kiểu dữ liệu có cấu trúc Đặt vấn đề (tt) Khai báo các biến để lưu trữ 1 SV . char mssv[13]; // “3.01.02.1234” . char hoten[30]; // “Nguyen Van A” . char ntns[8]; // “29/12/82” . char phai; // „y‟ Nam, „n‟ Nữ . float toan, ly, hoa; // 8.5 9.0 10.0 Truyền thông tin 1 SV cho hàm . void nhap(char mssv[], char hoten[], char ntns[], char phai, float toan, float ly, float hoa); . void xuat(char mssv[], char hoten[], char ntns[], char phai, float toan, float ly, float hoa); 3 Đặt vấn đề (tt) Nhận xét . Đặt tên biến khó khăn và khó quản lý . Truyền tham số cho hàm quá nhiều . Tìm kiếm, sắp xếp, sao chép, khó khăn . Ý tưởng . Gom những thông tin của cùng 1 SV thành một kiểu dữ liệu mới => Kiểu dữ liệu cấu trúc (struct) 4 GV: ThS. Trần Nguyễn Anh Chi 2
- Kỹ thuật lập trình cơ bản Chương 5: Kiểu dữ liệu có cấu trúc Khai báo kiểu cấu trúc và biến cấu trúc Cú pháp 1 //khai bao kieu cau truc va bien cau truc struct { ; ; } ; //khai bao bien cau truc rieng struct ; 5 Khai báo (tt) Ví dụ 1: xây dựng cấu trúc Điểm trong không gian 2 chiều struct DiemOxy { int x; int y; }diem1, diem2; Hoặc struct DiemOxy { int x; int y; }; struct DiemOxy diem1, diem2; 6 GV: ThS. Trần Nguyễn Anh Chi 3
- Kỹ thuật lập trình cơ bản Chương 5: Kiểu dữ liệu có cấu trúc Khai báo (tt) Cú pháp 2 typedef struct { ; ; } ; ; 7 Khai báo (tt) Ví dụ 2: xây dựng cấu trúc Sinh viên để lưu trữ thông tin sinh viên typedef struct { char MSSV[13]; char HoTen[30]; char phai; char NTNS[8]; float Toan, Van, TrungBinh; } SinhVien; SinhVien sv; 8 GV: ThS. Trần Nguyễn Anh Chi 4
- Kỹ thuật lập trình cơ bản Chương 5: Kiểu dữ liệu có cấu trúc Truy xuất dữ liệu cấu trúc Đặc điểm . Không thể truy xuất trực tiếp vào các thành phần trong cấu trúc, mà phải 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) Cú pháp . Ví dụ 3: Nhập vào tọa độ 2 điểm trong không gian 2 chiều. Tính khoảng cách giữa 2 điểm này 9 Truy xuất dữ liệu cấu trúc (tt) 10 GV: ThS. Trần Nguyễn Anh Chi 5
- Kỹ thuật lập trình cơ bản Chương 5: Kiểu dữ liệu có cấu trúc Truy xuất dữ liệu cấu trúc (tt) 11 Trường Cao đẳng Công nghệ Thông Tin Khoa Công nghệ Thông Tin CHƯƠNG 5 KIỂU DỮ LIỆU CÓ CẤU TRÚC PHẦN 2: KIỂU LIỆT KÊ GV: ThS. TRẦN NGUYỄN ANH CHI TpHCM, 02/2011 GV: ThS. Trần Nguyễn Anh Chi 6
- Kỹ thuật lập trình cơ bản Chương 5: Kiểu dữ liệu có cấu trúc Giới thiệu Khái niệm Kiểu dữ liệu liệt kê (enum) là một kiểu dữ liệu đặc biệt, dùng để định nghĩa một quan hệ thứ tự cho một tập hợp hữu hạn Cú pháp enum { , , }; ; 13 Giới thiệu (tt) Ví dụ enum Color { red , orange , yellow , green , cyan , blue , violet }; enum Color mycolor; //hoac Color mycolor; 14 GV: ThS. Trần Nguyễn Anh Chi 7
- Kỹ thuật lập trình cơ bản Chương 5: Kiểu dữ liệu có cấu trúc Lưu ý . Các giá trị trong enum có cùng kích thước với kiểu dữ liệu int. Mặc định, giá trị đầu tiên trong enum = 0, và các giá trị sau tăng dần thêm 1. enum Color { red , //0 orange , //1 yellow , //2 green , //3 cyan , //4 blue , //5 violet //6 }; 15 Lưu ý (tt) . Tuy nhiên, các giá trị trong enum có thể được gán theo yêu cầu, và có thể gán trùng nhau. enum Color { red = 3, //3 orange , //4 yellow , //5 green = 10, //10 cyan , //11 blue , //12 violet = 10 //10 }; 16 GV: ThS. Trần Nguyễn Anh Chi 8
- Kỹ thuật lập trình cơ bản Chương 5: Kiểu dữ liệu có cấu trúc Lưu ý (tt) . Vì các giá trị trong enum tương đương kiểu int, nên có thể gán giá trị int = một giá trị trong enum. int mausac = green; // mausac = 10 . Nhưng không thể gán một giá trị trong enum = giá trị int. mycolor = 5; //sai 17 Ví dụ 18 GV: ThS. Trần Nguyễn Anh Chi 9