Bài giảng Tin học đại cương: Chương 6 - ThS. Nguyễn Lê Minh (Nhóm ngành Cơ khí)

28 50 0
Bài giảng Tin học đại cương: Chương 6 - ThS. Nguyễn Lê Minh (Nhóm ngành Cơ khí)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Tin học đại cương - Chương 6: Cấu trúc cung cấp cho người học các kiến thức: Định nghĩa cấu trúc và khai báo biến cấu trúc, kết hợp định nghĩa và khai báo biến cấu trúc, sử dụng typedef, truy cập thành phần của cấu trúc, mảng cấu trúc. Mời các bạn cùng tham khảo.

6/2020 TIN HỌC ĐẠI CƯƠNG Chương 5: Cấu trúc GV: Nguyễn Lê Minh Bộ môn: Công nghệ thông tin Nội dung Định nghĩa cấu trúc khai báo biến cấu trúc Kết hợp định nghĩa khai báo biến cấu trúc Sử dụng typedef Truy cập thành phần cấu trúc Mảng cấu trúc Bài tập thực hành 6.1 Định nghĩa khai báo  Kiểu cấu trúc cho phép tạo kiểu liệu gồm phần tử liệu có kiểu khác liên kết với  Kiểu cấu trúc (structure) hay gọi kiểu ghi (record)  Kiểu cấu trúc gồm nhiều phần tử liệu khác  Các phần tử liệu gọi trường (field)  Dùng từ khóa struct để định nghĩa kiểu cấu trúc 6.2 Định nghĩa khai báo Khai báo kiểu cấu trúc ■ Ví dụ: cần mơ tả liệu “địa chỉ” - Địa gồm thông tin: số nhà, tên đường, tên thành phố: struct dia_chi { int so_nha; char duong[40]; char thanh_pho[30]; }; ■ Sau khai báo biến cấu trúc: struct dia_chi ong_A, ba_B; 6.2 Định nghĩa khai báo (tt) ■ Hoặc khai báo biến cấu trúc trực tiếp không cần khai báo tên cấu trúc struct dia_chi{ int so_nha; char duong[40]; Char thanh_pho[30]; }ong_A, ba_B; struct{ int so_nha; char duong[40]; Char thanh_pho[30]; }ong_A, ba_B; 6.2 Định nghĩa khai báo (tt) □ Kiểu cấu trúc lồng struct thoi_gian { int nam, thang, ngay; } ong_A, ba_B; struct sinh_vien { char hoten [40]; int phai; struct thoi_gian ng_si struct dia_chi noi_o; } svA, svB; struct dia_chi { int so_nha; char duong[40]; char thanh_pho[30]; }; ì 6.3 Sử dụng typedef ■ Sử dụng typedef để khai báo kiểu cấu trúc Typedef struct thoi_gian { int nam, thang, ngay; } TIME; • Khai báo biến TIME startDate, endDate; typedef struct { int nam, thang, ngay; } TIME; struct sinh_vien { char hoten[40]; int phat; TIME ngaysinh; struct dia_chi noi_o; }svA, svB; 6.4 Truy cập thành phần cấu trúc ■ Chỉ truy cập field biến cấu trúc ■ Sử dụng dấu chấm “.” để truy cập Tên_biến_cấu_trúc.tên_thành_phần ■ Ví dụ: svA.hoten svA.noi_o.so_nha svA.phai puts(svA.hoten); 6.4 Truy cập thành phần cấu trúc (tt) ■ Nếu có biến trỏ cấu trúc ■ Sử dụng dấu chấm “->” để truy cập Tên_biến_con_trỏ_cấu_trúc -> tên_thành_phần ■ Ví dụ: svA->hoten svA->noi_o.so_nha svA->phai puts(svA->hoten); Gán cấu trúc ■ Chỉ phép gán cấu trúc kiểu ■ Có cách gán: - Gán trực tiếp hai biến cấu trúc cho - Gán thành phần (trường) tương ứng hai cấu trúc ■ Ví dụ struct dia_chi d1, d2; d1 = d2; Hoặc: d1.so_nha = d2.so_nha; d1.duong = d2.duong; d1.thanh_pho = d2.thanh_pho; 10 Bài tập cấu trúc Viết chương trình nhập danh sách sinh viên In hình danh sách sinh viên xếp theo họ tên tăng dần Biết thông tin sinh viên gồm - Họ tên - Phái - Điểm TB Viết chương trình tính độ dài đường gấp khúc qua N điểm mặt phẳng Biết điểm biểu diễn kiểu cấu trúc gồm trường: - Hoành độ x - Tung độ y 14 Bài tập cấu trúc (tt) Thông tin đội bóng gồm: - Tên đội - Số lượng cầu thủ - Điểm Hãy viết chương trình cho phép nhập N đội bóng từ bàn phím, sau - in hình đội có điểm cao - In hình đội có số lượng cầu thủ nhiều - In danh sách đội bóng theo thứ tự ABC tên đội bóng 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ... tên - Phái - Điểm TB Viết chương trình tính độ dài đường gấp khúc qua N điểm mặt phẳng Biết điểm biểu diễn kiểu cấu trúc gồm trường: - Hoành độ x - Tung độ y 14 Bài tập cấu trúc (tt) Thơng tin. .. đội bóng gồm: - Tên đội - Số lượng cầu thủ - Điểm Hãy viết chương trình cho phép nhập N đội bóng từ bàn phím, sau - in hình đội có điểm cao - In hình đội có số lượng cầu thủ nhiều - In danh sách... puts(svA.hoten); 6. 4 Truy cập thành phần cấu trúc (tt) ■ Nếu có biến trỏ cấu trúc ■ Sử dụng dấu chấm ? ?-> ” để truy cập Tên_biến_con_trỏ_cấu_trúc -> tên_thành_phần ■ Ví dụ: svA->hoten svA->noi_o.so_nha svA->phai

Ngày đăng: 25/10/2020, 18:26

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan