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 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)

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

 

pdf9 trang | Chia sẻ: trungkhoi17 | Lượt xem: 442 | Lượt tải: 0download
Bạn đang xem nội dung 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 về máy bạn click vào nút DOWNLOAD ở trên
Kỹ thuật lập trình cơ bản GV: ThS. Trần Nguyễn Anh Chi 1 Chương 5: Kiểu dữ liệu có cấu trúc GV: ThS. TRẦN NGUYỄN ANH CHI Trường Cao đẳng Công nghệ Thông Tin Khoa Công nghệ Thông Tin TpHCM, 02/2011 CHƯƠNG 5 KIỂU DỮ LIỆU CÓ CẤU TRÚC PHẦN 1: KIỂU CẤU TRÚC Đặ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 Kỹ thuật lập trình cơ bản GV: ThS. Trần Nguyễn Anh Chi 2 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 Kỹ thuật lập trình cơ bản GV: ThS. Trần Nguyễn Anh Chi 3 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 5 struct { ; ; }; //khai bao bien cau truc rieng struct ; Khai báo (tt) 6 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; Kỹ thuật lập trình cơ bản GV: ThS. Trần Nguyễn Anh Chi 4 Chương 5: Kiểu dữ liệu có cấu trúc Khai báo (tt) 7 Cú pháp 2 typedef struct { ; ; } ; ; Khai báo (tt) 8 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; Kỹ thuật lập trình cơ bản GV: ThS. Trần Nguyễn Anh Chi 5 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 9 . 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 Truy xuất dữ liệu cấu trúc (tt) 10 Kỹ thuật lập trình cơ bản GV: ThS. Trần Nguyễn Anh Chi 6 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 GV: ThS. TRẦN NGUYỄN ANH CHI Trường Cao đẳng Công nghệ Thông Tin Khoa Công nghệ Thông Tin TpHCM, 02/2011 CHƯƠNG 5 KIỂU DỮ LIỆU CÓ CẤU TRÚC PHẦN 2: KIỂU LIỆT KÊ Kỹ thuật lập trình cơ bản GV: ThS. Trần Nguyễn Anh Chi 7 Chương 5: Kiểu dữ liệu có cấu trúc 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 13 Giới thiệu enum { , , }; ; 14 Ví dụ Giới thiệu (tt) enum Color { red , orange , yellow , green , cyan , blue , violet }; enum Color mycolor; //hoac Color mycolor; Kỹ thuật lập trình cơ bản GV: ThS. Trần Nguyễn Anh Chi 8 Chương 5: Kiểu dữ liệu có cấu trúc 15 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 }; 16 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 }; Kỹ thuật lập trình cơ bản GV: ThS. Trần Nguyễn Anh Chi 9 Chương 5: Kiểu dữ liệu có cấu trúc 17 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 18 Ví dụ

Các file đính kèm theo tài liệu này:

  • pdfbai_giang_ky_thuat_lap_trinh_co_ban_chuong_5_kieu_du_lieu_co.pdf