Đặ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
9 trang |
Chia sẻ: trungkhoi17 | Lượt xem: 432 | Lượt tải: 0
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:
- bai_giang_ky_thuat_lap_trinh_co_ban_chuong_5_kieu_du_lieu_co.pdf