intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Tin học đại cương Phần 2: Bài 7 - Nguyễn Thành Kiên

Chia sẻ: Codon_04 Codon_04 | Ngày: | Loại File: PPT | Số trang:20

46
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đến với "Bài giảng Tin học đại cương Phần 2: Bài 7 - Cấu trúc" do Nguyễn Thành Kiên biên soạn các bạn sẽ được tìm hiểu về 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. Hy vọng tài liệu là nguồn thông tin hữu ích cho quá trình học tập và nghiên cứu của các bạn.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Tin học đại cương Phần 2: Bài 7 - Nguyễn Thành Kiên

  1. TIN HỌC ĐẠI CƯƠNG Bài 7. CẤU TRÚC.                        Nguyễn Thành Kiên           Bộ môn Kỹ thuật máy tính          Khoa Công nghệ thông tin – ĐHBK HN
  2. Bài 7. CẤU TRÚC  7.1. Khái niệm cấu trúc  7.2. Khai báo và sử dụng cấu trúc  7.3. Xử lí dữ liệu cấu trúc  7.4. Mảng cấu trúc 2
  3. Bài 7. CẤU TRÚC  7.1. Khái niệm cấu trúc  7.2. Khai báo và sử dụng cấu trúc  7.3. Xử lí dữ liệu cấu trúc  7.4. Mảng cấu trúc 3
  4. 7.1. Khái niệm cấu trúc  Khi cần lưu danh sách sinh viên với các  thông tin liên quan đến điểm các môn  học, dùng mảng được không?     Kiểu cấu trúc (Structure) là kiểu dữ liệu bao  gồm nhiều thành phần, mỗi thành phần có thể  có kiểu khác nhau, mỗi thành phần được gọi là  một trường (field). 4
  5. 7.2. Khai báo và sử dụng cấu trúc  Khai báo kiểu dữ liệu cấu trúc   Cú pháp: struct tên_cấu_trúc {   ; }; struct sinh_vien struct point_3D { {     char ma_so_sv[10];       float x;     char ho_va_ten[30];        float y;     float diem_TinDC;        float z; }  } 5
  6. 7.2. Khai báo và sử dụng cấu trúc Khai báo biến cấu trúc C1: struct  tên_cấu_trúc  tên_biến;  struct sinh_vien a, b, c; C2: kết hợp đồng thời vừa khai báo kiểu dữ liệu  cấu trúc vừa khai báo biến: struct [tên_cấu_trúc] { ; } tên_biến_cấu_trúc;  6
  7. Ví dụ khai báo biến cấu trúc struct diem_thi { float diem_Toan; float diem_Ly; float diem_Hoa; các cấu trúc có thể lồng nhau  } mức độ lồng là không hạn chế   struct thi_sinh { char SBD[10]; char ho_va_ten[30]; struct diem_thi ket_qua; } thi_sinh_1, thi_sinh_2; 7
  8. 7.2. Khai báo và sử dụng cấu trúc  Ngôn ngữ C còn cho phép khai báo trực tiếp  trường dữ liệu là cấu trúc bên trong cấu trúc  chứa nó  struct thi_sinh { char SBD[10]; char ho_va_ten[30]; struct diem_thi {        float diem_Toan; float diem_Ly; float diem_Hoa; }ket_qua; } thi_sinh_1, thi_sinh_2; 8
  9. 7.2. Khai báo và sử dụng cấu trúc  Định nghĩa kiểu DL cấu trúc với typedef  Khai báo biến cấu trúc phải bắt đầu bằng  từ khóa struct, sau đó đến tên cấu trúc rồi  mới đến tên biến => quên từ khóa struct  => đặt tên mới cho kiểu dữ liệu cấu trúc  bằng câu lệnh typedef  typedef struct [tên_cũ] typedef  struct  tên_cũ  tên_mới;  { ; }danh_sách_các_tên_mới;  Lưu ý: Được phép đặt tên_mới trùng với tên_cũ.  9
  10. 7.2. Khai báo và sử dụng cấu trúc  Ví dụ:     struct point_3D typedef struct point_2D { { float x, y, z; float x, y; } P; }point_2D, diem_2_chieu, ten_bat_ki; struct point_3D M; point_2D X; typedef struct point_3D point_3D; diem_2_chieu Y; point_3D N; ten_bat_ki Z; 10
  11. Bài 7. CẤU TRÚC  7.1. Khái niệm cấu trúc  7.2. Khai báo và sử dụng cấu trúc  7.3. Xử lí dữ liệu cấu trúc  7.4. Mảng cấu trúc 11
  12. 7.3. Xử lí dữ liệu cấu trúc  Truy nhập các trường DL của cấu trúc  tên_biến_cấu_trúc.tên_trường   ta có thể “đối xử” với  tên_biến_cấu_trúc.tên_trường giống  như một biến thông thường có kiểu dữ liệu  là kiểu dữ liệu của tên_trường  12
  13. #include #include Ví dụ cách sử dụng void main() { biến cấu trúc struct point_2D { char ten_diem; struct { float x, y; } toa_do; } p; float temp_float; char temp_char; printf(“\n Hay nhap thong tin ve mot diem”); printf(“\n Ten cua diem: “); fflush(stdin); scanf(“%c”,&temp_char); p.ten_diem = temp_char; printf(“\n nhap vao hoanh do cua diem: “); scanf(“%f”,&temp_float); p.toa_do.x = temp_float; // giả sử điểm đang xét nằm trên đường thẳng y = 3x + 2; p.toa_do.y = 3*p.toa_do.x + 2; printf(“\n %c = (%5.2f,%5.2f)”,p.ten_diem, p.toa_do.x, p.toa_do.y); getch(); 13 }
  14. 7.3. Xử lí dữ liệu cấu trúc  Phép gán giữa các biến cấu trúc  Có thể thực hiện phép gán biến cấu trúc struct s { char ho_ten[20]; float diem; }a, b, c; float temp_f; printf("\na.ho_ten: ");fflush(stdin); gets(a.ho_ten); printf("\na.diem = ");scanf("%f",&temp_f); a.diem = temp_f; strcpy(c.ho_ten, a.ho_ten); c.diem = a.diem; 14 b = a;
  15. 7.3. Xử lí dữ liệu cấu trúc  Con trỏ cấu trúc   Con trỏ cấu trúc chứa địa chỉ của một cấu  trúc.  Cú pháp khai báo  struct  * ;   Truy nhập vào trường DL của cấu trúc từ  biến con trỏ cấu trúc:  (*).  ­>  15
  16. Bài 7. CẤU TRÚC  7.1. Khái niệm cấu trúc  7.2. Khai báo và sử dụng cấu trúc  7.3. Xử lí dữ liệu cấu trúc  7.4. Mảng cấu trúc 16
  17. 7.4. Mảng cấu trúc  Cú pháp khai báo: struct   [số phần tử];  struct sinh_vien  Ví dụ: { char ho_ten[20]; float diem_thi; }; struct sinh_vien lop_CNTT[50]; 17
  18. #include #include #include void main() Ví dụ về cách sử dụng { struct sinh_vien { mảng cấu trúc char ma_sv[10]; char ho_ten[20]; float diem_thi; }; struct sinh_vien sv[3]; int i; clrscr(); for(i=0;i
  19. Bài tập 1  Viết 1 chương trình thực hiện những công việc sau: Yêu cầu người dùng nhập vào một số nguyên dương n với 5 ≤  n ≤ 20 (có kiểm tra tính hợp lệ).  Yêu cầu người dùng nhập vào thông tin của n sinh viên gồm:  Họ và tên: có kiểu dữ liệu là xâu kí tự gồm không quá 30 kí tự  Lớp: xâu kí tự có độ dài không quá 5 kí tự  Điểm thi Tin đại cương: là một số nguyên có giá trị từ 0 đến 10  Điểm thi Toán.  Đưa ra màn hình danh sách các sinh viên cùng thông tin của họ  mà người dùng vừa nhập vào  Hiển thị danh sách các sinh viên thi qua môn Tin.  Hiển thị danh sách sinh viên được sắp xếp theo chiều giảm  dần của điểm thi Tin đại cương.  Đưa ra màn hình danh sách sinh viên với họ và tên được sắp  xếp theo chiều của bảng chữ cái. 19
  20. Bài tập 2 Viết 1 chương trình thực hiện những công việc sau: Yêu cầu người dùng nhập vào một số nguyên dương n với 10   n   20 (có kiểm tra tính hợp lệ) Yêu cầu người dùng nhập vào thông tin của n mặt hàng gồm: Tên mặt hàng: có kiểu dữ liệu là xâu kí tự gồm không quá 30 kí tự Số lượng: là một số nguyên dương. Đơn giá: là một số thực dương. Đưa ra màn hình danh sách các mặt hàng cùng các thông tin liên  quan (số lượng và đơn giá). Tìm và đưa ra màn hình danh sách các mặt hàng có số lượng nhỏ  hơn một số nguyên nhập từ bàn phím. Mẫu hiển thị là: Tên mặt hàng Số lượng Tìm và đưa ra màn hình những mặt hàng có giá trị lớn hơn một số  thực được nhập từ bàn phím, biết rằng giá trị của một loại  mặt hàng tính bằng số lượng mặt hàng đó nhân với đơn giá  của nó. Mẫu đưa ra màn hình là Tên mặt hàng Số lượng Đơn giá Giá trị20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2