YOMEDIA
ADSENSE
Tin học đại cương - Bài 9
87
lượt xem 14
download
lượt xem 14
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Tin học là một ngành khoa học công nghệ nghiên cứu các phương pháp xử lý thông tin một cách tự động dựa trên các phương tiện kỹ thuật mà chủ yếu hiện tại là máy tính điện tử.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Tin học đại cương - Bài 9
- Tin h c đ i cương Bài 9: C u trúc NGUY N Th Oanh oanhnt@soict.hut.edu.vn B môn H th ng thông tin - Vi n CNTT và Truy n Thông Đ i h c Bách Khoa Hà n i 2010 - 2011
- Khái ni m c u trúc Khai báo và s d ng c u trúc X lý d li u c u trúc M ng c u trúc N i dung Khái ni m c u trúc 1 Khai báo và s d ng c u trúc 2 X lý d li u c u trúc 3 M ng c u trúc 4 2 / 23
- Khái ni m c u trúc Khai báo và s d ng c u trúc X lý d li u c u trúc M ng c u trúc Khái ni m c u trúc ! Ki u d li u c u trúc (struct ): – Là ki u d li u ph c h p, bao g m nhi u thành ph n có th thu c các ki u d li u khác nhau – Các thành ph n: g i là trư ng d li u (field ) ! Ví d : – Thông tin v k t qu h c t p môn Tin đ i cương c a sinh viên: TenSV, MaSV, Diem – Thông tin v c u th : Ten, Tuoi, CLB, SoAo, Vitri,. . . 3 / 23
- Khái ni m c u trúc Khai báo ki u d li u c u trúc Khai báo và s d ng c u trúc Khai báo bi n c u trúc X lý d li u c u trúc Đ nh nghĩa ki u d li u c u trúc v i typedef M ng c u trúc Khái ni m c u trúc 1 Khai báo và s d ng c u trúc 2 Khai báo ki u d li u c u trúc Khai báo bi n c u trúc Đ nh nghĩa ki u d li u c u trúc v i typedef X lý d li u c u trúc 3 M ng c u trúc 4 4 / 23
- Khái ni m c u trúc Khai báo ki u d li u c u trúc Khai báo và s d ng c u trúc Khai báo bi n c u trúc X lý d li u c u trúc Đ nh nghĩa ki u d li u c u trúc v i typedef M ng c u trúc Khai báo ki u d li u c u trúc ! Khai báo: ! VD: struct ten_cau_truc { struct sinh_vien{ khai báo các trư ng DL; char SBD[10]; char ho_va_ten[40]; } float diem_thi[10]; } struct point_3D{ float x; float y; float z; } 5 / 23
- Khái ni m c u trúc Khai báo ki u d li u c u trúc Khai báo và s d ng c u trúc Khai báo bi n c u trúc X lý d li u c u trúc Đ nh nghĩa ki u d li u c u trúc v i typedef M ng c u trúc Khái ni m c u trúc 1 Khai báo và s d ng c u trúc 2 Khai báo ki u d li u c u trúc Khai báo bi n c u trúc Đ nh nghĩa ki u d li u c u trúc v i typedef X lý d li u c u trúc 3 M ng c u trúc 4 6 / 23
- Khái ni m c u trúc Khai báo ki u d li u c u trúc Khai báo và s d ng c u trúc Khai báo bi n c u trúc X lý d li u c u trúc Đ nh nghĩa ki u d li u c u trúc v i typedef M ng c u trúc Khai báo bi n c u trúc ! Khai báo bi n: struct ten_cau_truc ten_bien_cau_truc; ! VD: struct sinh_vien a, b, c; ! K t h p khai báo: struct [ten_cau_truc ]{ khai báo các trư ng DL; } ten_bien_cau_truc ; 7 / 23
- Khái ni m c u trúc Khai báo ki u d li u c u trúc Khai báo và s d ng c u trúc Khai báo bi n c u trúc X lý d li u c u trúc Đ nh nghĩa ki u d li u c u trúc v i typedef M ng c u trúc Khai báo bi n c u trúc ! Các c u trúc có th đư c khai báo l ng nhau struct diem_thi { struct sinh_vien{ float dToan, dLy, dHoa; char SBD[10]; } char ho_va_ten[40]; struct sinh_vien{ struct diem_thi { float dToan, dLy, dHoa; char SBD[10]; } ket_qua; char ho_va_ten[40]; struct diem_thi ket_qua; } thi_sinh_1, thi_sinh_2; } thi_sinh_1, thi_sinh_2; 8 / 23
- Khái ni m c u trúc Khai báo ki u d li u c u trúc Khai báo và s d ng c u trúc Khai báo bi n c u trúc X lý d li u c u trúc Đ nh nghĩa ki u d li u c u trúc v i typedef M ng c u trúc Khái ni m c u trúc 1 Khai báo và s d ng c u trúc 2 Khai báo ki u d li u c u trúc Khai báo bi n c u trúc Đ nh nghĩa ki u d li u c u trúc v i typedef X lý d li u c u trúc 3 M ng c u trúc 4 9 / 23
- Khái ni m c u trúc Khai báo ki u d li u c u trúc Khai báo và s d ng c u trúc Khai báo bi n c u trúc X lý d li u c u trúc Đ nh nghĩa ki u d li u c u trúc v i typedef M ng c u trúc Đ nh nghĩa ki u d li u c u trúc v i typedef ! M c đích: – Đ t tên m i cho ki u d li u c u trúc – Giúp khai báo bi n “quen thu c” và ít sai hơn ! Cú pháp: typedef struct tên_cũ tên_m i ; ho c typedef struct [tên_cũ ] { khai báo các trư ng d li u; } danh_sách_các_tên_m i ; ! tên_m i có th trùng tên_cũ 10 / 23
- Khái ni m c u trúc Khai báo ki u d li u c u trúc Khai báo và s d ng c u trúc Khai báo bi n c u trúc X lý d li u c u trúc Đ nh nghĩa ki u d li u c u trúc v i typedef M ng c u trúc Ví d ! Đ nh nghĩa ki u d li u: ! Khai báo c u trúc: typedef struct point_3D { struct point_3D { float x, y, z; float x, y, z; } diem3D, ten_bat_ky; } ⇒ Khai báo bi n: ⇒ Khai báo bi n: diem3D p1; struct point_3D p1; ten_bat_ky p2; ! Đ nh nghĩa ki u d li u: typedef struct point_3D diem3D; ⇒ Khai báo bi n: diem3D p1; 11 / 23
- Khái ni m c u trúc Khai báo ki u d li u c u trúc Khai báo và s d ng c u trúc Khai báo bi n c u trúc X lý d li u c u trúc Đ nh nghĩa ki u d li u c u trúc v i typedef M ng c u trúc Ví d ! Lưu ý: – p1, p2: các bi n – diem3D, ten_bat_ky: ki u d li u c u trúc, không ph i là tên bi n – point_3D: tên c u trúc 12 / 23
- Khái ni m c u trúc Khai báo và s d ng c u trúc Truy c p các trư ng d li u X lý d li u c u trúc Phép gán gi a các bi n c u trúc M ng c u trúc Khái ni m c u trúc 1 Khai báo và s d ng c u trúc 2 X lý d li u c u trúc 3 Truy c p các trư ng d li u Phép gán gi a các bi n c u trúc M ng c u trúc 4 13 / 23
- Khái ni m c u trúc Khai báo và s d ng c u trúc Truy c p các trư ng d li u X lý d li u c u trúc Phép gán gi a các bi n c u trúc M ng c u trúc Truy c p các trư ng d li u ! Cú pháp: tên_bi n_c u_trúc.tên_trư ng ! Lưu ý: – D u “ .”: toán t truy c p vào trư ng d li u trong c u trúc – N u trư ng d li u là m t c u trúc ⇒ s d ng ti p d u “ .” đ truy c p vào thành ph n m c sâu hơn ! Ví d : p1.x, p1.y, p1.z 14 / 23
- Khái ni m c u trúc Khai báo và s d ng c u trúc Truy c p các trư ng d li u X lý d li u c u trúc Phép gán gi a các bi n c u trúc M ng c u trúc Ví d v c u trúc ! Xây d ng m t c u trúc bi u di n đi m trong không gian 2 chi u. Nh p giá tr cho m t bi n ki u c u trúc này, sau đó hi n th giá tr các trư ng d li u c a bi n này ra màn hình. – C u trúc: tên đi m, t a đ x, t a đ y – Nh p, hi n th t ng trư ng c a bi n c u trúc như các bi n d li u khác 15 / 23
- Khái ni m c u trúc Khai báo và s d ng c u trúc Truy c p các trư ng d li u X lý d li u c u trúc Phép gán gi a các bi n c u trúc M ng c u trúc Ví d v c u trúc #i n c l u d e #i n c l u d e typedef struct { char ten [ 1 0 ] ; int x , y ; } toado ; v o i d main ( ) { toado t ; p r i n t f ( "Nhap t h o n g t i n t o a do \n" ) ; p r i n t f ( "Ten diem : " ) ; g e t s ( t . t e n ) ; p r i n t f ( "Toa do x : " ) ; s c a n f ( "%d" ,& t . x ) ; p r i n t f ( "Toa do y : " ) ; s c a n f ( "%d" ,& t . y ) ; p r i n t f ( " G i a t r i c a c t r u o n g da nhap vao l a : \ n" ) ; p r i n t f ( "%−10s%3d%3d\n" , t . t e n , t . x , t . y ) ; getch () ; } 16 / 23
- Khái ni m c u trúc Khai báo và s d ng c u trúc Truy c p các trư ng d li u X lý d li u c u trúc Phép gán gi a các bi n c u trúc M ng c u trúc Khái ni m c u trúc 1 Khai báo và s d ng c u trúc 2 X lý d li u c u trúc 3 Truy c p các trư ng d li u Phép gán gi a các bi n c u trúc M ng c u trúc 4 17 / 23
- Khái ni m c u trúc Khai báo và s d ng c u trúc Truy c p các trư ng d li u X lý d li u c u trúc Phép gán gi a các bi n c u trúc M ng c u trúc Phép gán gi a các bi n c u trúc ! Sao chép d li u t bi n c u trúc này sang bi n c u trúc khác cùng ki u – gán l n lư t t ng trư ng trong hai bi n c u trúc => “th công”: p2.x = p1.x; p2.y = p1.y; p2.z = p1.z; – C cung c p phép gán hai bi n c u trúc cùng ki u: bien_1 = bien_2; 18 / 23
- Khái ni m c u trúc Khai báo và s d ng c u trúc Truy c p các trư ng d li u X lý d li u c u trúc Phép gán gi a các bi n c u trúc M ng c u trúc Phép gán gi a các bi n c u trúc #i n c l u d e #i n c l u d e typedef struct { char hoten [ 2 0 ] ; i n t diem ; } sinhvien ; v o i d main ( ) { sinhvien a ,b , c ; p r i n t f ( "Nhap t h o n g t i n s i n h v i e n \n" ) ; p r i n t f ( "Ho t e n : " ) ; g e t s ( a . h o t e n ) ; p r i n t f ( "Diem : " ) ; s c a n f ( "%d" ,& a . diem ) ; b = a; s t r c p y ( c . hoten , a . hoten ) ; c . diem = a . diem ; p r i n t f ( " Bien a : " ) ; p r i n t f ( "%−20s%3d\n" , a . h o t e n , a . diem ) ; p r i n t f ( " Bien b : " ) ; p r i n t f ( "%−20s%3d\n" , b . h o t e n , b . diem ) ; p r i n t f ( " Bien c : " ) ; p r i n t f ( "%−20s%3d\n" , c . h o t e n , c . diem ) ; getch () ; } 19 / 23
- Khái ni m c u trúc Khai báo và s d ng c u trúc X lý d li u c u trúc M ng c u trúc M ng c u trúc ! Là t p h p các ph n t có cùng ki u d li u là ki u c u trúc ! M c đích: – Lưu tr m t t p h p các ph n t có cùng ki u – M i ph n t có các thành ph n có th có giá tr khác nhau: thông tin các sinh viên trong l p, đ i bóng. . . ! Khai báo: struct tên_c u_trúc tên_bi n_m ng [s ph n t ]; ki u_c u_trúc tên_bi n_m ng [s ph n t ]; ! Ví d : struct point_3D mang_3D[10]; diem3D mang_3D[10]; 20 / 23
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
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