NMLT c10 cautruc

32 132 0
NMLT c10 cautruc

Đ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

&& VC VC BB BB Nội dung Khái niệm kiểu cấu trúc (struct) Khai báo & truy xuất kiểu cấu trúc Kiểu liệu hợp (union) Bài tập NMLT - Cấu trúc && VC VC BB BB Đặt vấn đề  Thông tin SV  MSSV : kiểu chuỗi  Tên SV : kiểu chuỗi  NTNS : kiểu chuỗi  Phái : ký tự  Điểm Tốn, Lý, Hóa : số thực  Yêu cầu  Lưu thông tin n SV?  Tuyền thông tin n SV vào hàm? NMLT - Cấu trúc && VC VC BB BB Đặt vấn đề  Khai báo biến để lưu trữ SV  char mssv[7]; // “0012078”  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 SV cho hàm  void xuat(char mssv[], char hoten[], char ntns[], char phai, float toan, float ly, float hoa); NMLT - Cấu trúc && VC VC BB BB Đặt vấn đề  Nhận xét  Đặt tên biến khó khăn khó quản lý  Truyền tham số cho hàm nhiều  Tìm kiếm, xếp, chép,… khó khăn  Tốn nhiều nhớ …  Ý tưởng  Gom thông tin SV thành kiểu liệu => Kiểu struct NMLT - Cấu trúc && VC VC BB BB Khai báo kiểu cấu trúc  Cú pháp struct { ; … ; };  Ví dụ struct DIEM { int x; int y; }; NMLT - Cấu trúc && VC VC BB BB Khai báo biến cấu trúc  Cú pháp tường minh struct , ;  Ví dụ struct DIEM { int x; int y; } diem1, diem2; NMLT - Cấu trúc && VC VC BB BB Khai báo biến cấu trúc  Cú pháp không tường minh struct ; struct DIEM { int x; int y; }; struct DIEM diem1, diem2;// C++ bỏ struct NMLT - Cấu trúc && VC VC BB BB Sử dụng typedef  Cú pháp typedef struct { ; … ; } ; ;  Ví dụ NMLT - Cấu trúc && VC VC BB BB Khởi tạo cho biến cấu trúc  Cú pháp tường minh struct ,…,};  Ví dụ struct DIEM { int x; int y; } diem1 = {2912, 1706}, diem2; NMLT - Cấu trúc && VC VC BB BB Truy xuất liệu kiểu cấu trúc  Đặc điểm  Không thể truy xuất trực tiếp  Thơng qua tốn tử thành phần cấu trúc hay gọi tốn tử chấm (dot operation) .  Ví dụ struct DIEM { int x; int y; } diem1; printf(“x = %d, y = %d”, diem1.x, diem1.y); NMLT - Cấu trúc && VC VC BB BB #pragma pack  Ví dụ: khơng có #pragma pack (1) struct A { double a; int b; int c; }; struct B { int b; double a; int c; }; struct C { int b; int c; double a; }; a a a a a a a a b b b b c c c c b a c b a c b a c b đệm 4B a a a a a c đệm 4B b b b b c c c c a a a a a a a a NMLT - Cấu trúc && VC VC BB BB Các lưu ý cấu trúc  Lưu ý  Kiểu cấu trúc định nghĩa để làm khuôn dạng biến cấu trúc khai báo để sử dụng khn dạng định nghĩa  Trong C++, bỏ từ khóa struct khai báo biến (hoặc sử dụng typedef)  Khi nhập biến kiểu số thực cấu trúc phải nhập thông qua biến trung gian struct DIEM { float x, y;} d1; float temp; scanf(“%f”, &temp); d1.x = temp; NMLT - Cấu trúc && VC VC BB BB Mảng cấu trúc  Mảng cấu trúc  Tương tự mảng với kiểu liệu sở (char, int, float, …) struct DIEM { int x; int y; }; DIEM mang1[20]; DIEM mang2[10] = {{3, 2}, {4, 4}, {2, 7}}; NMLT - Cấu trúc && VC VC BB BB Truyền cấu trúc cho hàm  Truyền cấu trúc cho hàm  Giống truyền kiểu liệu sở • Tham trị (khơng thay đổi sau kết thúc hàm) • Tham chiếu • Con trỏ  Ví dụ struct DIEM { int x, y; }; void xuat1(int x, int y) { … }; void xuat2(DIEM diem) { … }; void xuat3(DIEM &diem) { … }; void xuat4(DIEM *diem) { … }; NMLT - Cấu trúc && VC VC BB BB Hợp – union  Khái niệm  Được khai báo sử dụng cấu trúc  Các thành phần union có chung địa đầu (nằm chồng lên nhớ)  Khai báo union { ; … ; }; NMLT - Cấu trúc && VC VC BB BB So sánh struct union  Ví dụ struct MYSTRUCT { char c; int n; } s; union MYUNION { char c; int n; } u; s.c = 1; s.n = 2; u.c = 1; u.n = 2; … … 01 02 00 00 00 … … … … … 02 01 00 00 00 … … … c n c n NMLT - Cấu trúc && VC VC BB BB Ví dụ  struct union union date_tag { char full_date[9]; struct part_date_tag { char month[2]; char break_value1; char day[2]; char break_value2; char year[2]; }; } date = {“29/12/82”}; NMLT - Cấu trúc && VC VC BB BB Ví dụ  union struct struct generic_tag { char type; union share_tag { char c; int i; float f; }; }; NMLT - Cấu trúc && VC VC BB BB Bài tập cấu trúc Phân số  Khai báo kiểu liệu phân số (PHANSO)  Nhập/Xuất phân số  Rút gọn phân số  Tính tổng, hiệu, tích, thương hai phân số  Kiểm tra phân số tối giản  Quy đồng hai phân số  Kiểm tra phân số âm hay dương  So sánh hai phân số NMLT - Cấu trúc && VC VC BB BB Bài tập cấu trúc Đơn thức  Khai báo kiểu liệu đơn thức (DONTHUC)  Nhập/Xuất đơn thức  Tính tích, thương hai đơn thức  Tính đạo hàm cấp đơn thức  Tính giá trị đơn thức x = x0 NMLT - Cấu trúc && VC VC BB BB Bài tập cấu trúc Đa thức  Khai báo kiểu liệu đa thức (DATHUC)  Nhập/Xuất đa thức  Tính tổng, hiệu, tích, thương hai đơn thức  Tính đạo hàm cấp đơn thức  Tính đạo hàm cấp k đơn thức  Tính giá trị đơn thức x = x0 NMLT - Cấu trúc && VC VC BB BB Bài tập cấu trúc Điểm mặt phẳng Oxy  Khai báo kiểu liệu điểm (DIEM)  Nhập/Xuất tọa độ điểm  Tính khoảng cách hai điểm  Tìm điểm đối xứng qua gốc toạ độ/trục Ox/Oy  Kiểm tra điểm thuộc phần tư nào? Tam giác  Khai báo kiểu lịêu tam giác (TAMGIAC)  Nhập/Xuất tam giác  Tính chu vi, diện tích tam giác NMLT - Cấu trúc && VC VC BB BB Bài tập cấu trúc Ngày  Khai báo kiểu liệu ngày (NGAY)  Nhập/Xuất ngày (ngày, tháng, năm)  Kiểm tra năm nhuận  Tính số thứ tự ngày năm  Tính số thứ tự ngày kể từ ngày 1/1/1  Tìm ngày trước đó, sau k ngày  Tính khoảng cách hai ngày  So sánh hai ngày NMLT - Cấu trúc && VC VC BB BB Bài tập mảng cấu trúc Mảng phân số  Nhập/Xuất n phân số  Rút gọn phân số  Đếm số lượng phân số âm/dương mảng  Tìm phân số dương mảng  Tìm phân số nhỏ nhất/lớn mảng  Sắp xếp mảng tăng dần/giảm dần NMLT - Cấu trúc && VC VC BB BB Bài tập mảng cấu trúc Mảng điểm  Nhập/Xuất n điểm  Đếm số lượng điểm có hồnh độ dương  Đếm số lượng điểm khơng trùng với điểm khác mảng  Tìm điểm có hồnh độ lớn nhất/nhỏ  Tìm điểm gần gốc tọa độ NMLT - Cấu trúc ... year[2]; }; } date = {“29/12/82”}; NMLT - Cấu trúc && VC VC BB BB Ví dụ  union struct struct generic_tag { char type; union share_tag { char c; int i; float f; }; }; NMLT - Cấu trúc && VC VC BB BB... void xuat(char mssv[], char hoten[], char ntns[], char phai, float toan, float ly, float hoa); NMLT - Cấu trúc && VC VC BB BB Đặt vấn đề  Nhận xét  Đặt tên biến khó khăn khó quản lý  Truyền... chép,… khó khăn  Tốn nhiều nhớ …  Ý tưởng  Gom thông tin SV thành kiểu liệu => Kiểu struct NMLT - Cấu trúc && VC VC BB BB Khai báo kiểu cấu trúc  Cú pháp struct {

Ngày đăng: 29/03/2019, 17:10

Từ khóa liên quan

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

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

Tài liệu liên quan