1. Trang chủ
  2. » Giáo án - Bài giảng

Phan3 laptrinhc chuong7 cautruc

28 7 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 678,47 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khái niệm cấu trúc tiếp Ví dụ: Cấu trúc mô tả sinh viên:  Cần lưu giữ các thông tin liên quan đến sinh viên như họ tên, tuổi, kết quả học tập…  Mỗi thông tin thành phần lại có kiểu dữ

Trang 1

Chương 7 Cấu trúc (struct)

Ngo Van Linh

Bộ môn Hệ thống thông tin

Viện Công nghệ thông tin và Truyền thông

Đại học Bách Khoa Hà Nội

Trang 2

Nội dung

 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

 7.5 Bài tập

Trang 3

7.1 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, mỗi thành phần có thể thuộc những kiểu dữ liệu khác nhau.

 Các thành phần dữ liệu trong cấu trúc được gọi là các trường dữ liệu ( field ).

Trang 4

7.1 Khái niệm cấu trúc (tiếp)

 Ví dụ: Cấu trúc mô tả sinh viên:

 Cần lưu giữ các thông tin liên quan đến sinh viên như họ tên, tuổi, kết quả học tập…

 Mỗi thông tin thành phần lại có kiểu dữ liệu khác nhau như họ tên có kiểu dữ liệu là xâu kí

tự, tuổi có kiểu dữ liệu là số nguyên, kết quả học tập có kiểu dữ liệu là số thực.

Trang 5

Nội dung

 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

 7.5 Bài tập

Trang 6

7.2 Khai báo kiểu dữ liệu cấu trúc

Trang 7

7.2.2 Khai báo biến cấu trúc

 Cú pháp:

struct ten_cau_truc ten_bien_cau_truc;

 Ví dụ:

struct sinh_vien a, b, c;

Trang 9

7.2.4 Định nghĩa kiểu dữ liệu cấu trúc với typedef

 Đặt tên mới cho kiểu dữ liệu cấu trúc cú

pháp:

typedef struct tên_cũ ten_moi;

 Hoặc ta có thể đặt lại tên cho cấu trúc ngay khi khai báo bằng cú pháp

typedef struct [tên_cũ]

{

//khai_bao_cac_truong;

}danh_sach_cac_tên_mới;

Trang 10

7.2.4 Định nghĩa kiểu dữ liệu cấu trúc với typedef (tiếp)

 Lưu ý: Được phép đặt tên_mới trùng với

Trang 11

Nội dung

 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

 7.5 Bài tập

Trang 12

7.3 Xử lý dữ liệu cấu trúc

 Truy nhập các trường dữ liệu của cấu trúc

 Phép gán giữa các biến cấu trúc

 Con trỏ cấu trúc

Trang 13

7.3.1 Truy nhập các trường dữ liệu của cấu trúc

Trang 14

7.3.2 Phép gán giữa các biến cấu trúc

Giả sử ta có 2 biến cấu trúc là a và b có

cùng kiểu dữ liệu là một cấu trúc

nào đó.

 Phép gán cấu trúc có cú pháp tương tự như phép gán thông thường:

bien_cau_truc_1 = bien_cau_truc_2;

Trang 15

7.3.3 Con trỏ cấu trúc

 Cú pháp:

struct ten_cau_truc *ten_bien_con_tro_ctruc;

 Có 2 cách truy nhập vào trường dữ liệu của cấu trúc từ biến con trỏ cấu trúc là

(*ten_bien_con_tro_ctruc).ten_truong_du_lieu

Hoặc:

ten_bien_con_tro_ctruc -> ten_truong_du_lieu

Trang 16

Nội dung

 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

 7.5 Bài tập

Trang 19

printf(“\nNhap thong tin cho sinh vien %d”,i+1);

printf(“\nMa so sinh vien:”);

Trang 21

Thong tin ve cac sinh vien

Sinh vien thu 1: SV0032 Nguyen Thanh Binh 8.5

Sinh vien thu 2: SV0002 Pham Hong Phuc 9.0

Sinh vien thu 3: SV0046 Le Minh Hoa 10.0

Trang 22

Bài tập

 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ệ của giá trị được nhập vào, nếu giá trị n nhập vào không thỏa mãn điều kiện thì yêu cầu nhập lại)

 Yêu cầu người dùng nhập vào thông tin của n sinh viên gồm những mục sau

 Đư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.

Trang 23

Bài tập

 Yêu cầu người dùng nhập vào từ bàn phím một

số thực Đưa ra màn hình danh sách các sinh viên có điểm thi Tin đại cương nhỏ hơn giá trị số thực vừa nhập vào.

 Đưa ra màn hình 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.

Trang 24

Bài tập có lời giải

Thông tin về một học sinh lưu trong một cấu trúc gồm các trường: Mã số (8 ký tự), Họ tên (không quá 30 ký tự), Điểm toán (số thực) Hãy viết một chương trình hoàn chỉnh thực hiện các công việc sau:

a) Nhập vào danh sách học sinh của một lớp (biết rằng lớp này có không quá 30 học sinh) Quá trình nhập kết thúc khi đã nhập đủ 30 học sinh hoặc khi nhập Mã số là xâu

"$$$".

b) Sắp xếp danh sách học sinh theo thứ tự giảm dần của Điểm toán và hiển thị danh sách này ra màn hình.

Trang 27

/*Hien thi danh sach ra man hinh*/

printf("\n DANH SACH HOC SINH SAU KHI SAP XEP THEO DIEM TOAN");

Trang 28

Hỏi - đáp

Ngày đăng: 30/05/2021, 11:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w