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

pdf 9 trang huongle 6270
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:

  • pdfbai_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

  1. 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
  2. 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
  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 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
  4. 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
  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 Đặ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
  6. 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
  7. 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
  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 ý . 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
  9. 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