Tìm kiếm theo tiêu đề

Tin tức cộng đồng

[MỜI HỢP TÁC] Các kỳ thi Olympic Quốc tế 2026 (IMO - IEO - ISO)

Kính gửi Quý Lãnh đạo, Ban Giám hiệu và Quý Thầy/Cô, FermatTech (Đối tác Google tại VN) phối hợp cùng SCO Ấn Độ trân trọng kính mời tham gia 3 kỳ thi uy tín dành cho HS từ lớp 1 - 12: - IMO: Olympic Toán Quốc tế. - IEO: Olympic Tiếng Anh Quốc tế. - ISO: Olympic Khoa học...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Giải tích 2

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Phan Văn Hoàng Việt
Ngày gửi: 11h:33' 18-08-2024
Dung lượng: 3.5 MB
Số lượt tải: 11
Số lượt thích: 0 người
CẤU
TRÚC
(STRUCT)
Nhóm 8 –THCS2--

01
Khái niệm cấu trúc

• Kiểu dữ liệu cấu trúc (struct)

-Là tập hợp các biến có kiểu dữ liệu khác nhau , được đặt một tên
duy nhất nhằm xử lí tốt hơn.
-Ví dụ : Bạn muốn lưu trữ thông tin về sách bao gồm tên sách , số
trang và tên tác giả.Bạn có thể tạo những thông tin này một cách
riêng biệt nhưng cách tiếp cận tốt hơn sẽ là thu thập những thông
tin này dưới một tên duy nhất vì tất cả những thông tin này đều mô
tả về sách.
-Tương tư như hàm, là tập hợp cách lệnh đơn để xử lí một tác vụ
nào đó và sau khi định nghĩa , có thể sử dụng hàm như một lệnh
đơn. Cấu trúc trong C là tập hợp các biến để mô tả thông tin về một
đối tượng nào đó và sau khi định nghĩa , có thể sử dụng cấu trúc
như một kiểu dữ liệu cơ sở.

02

Khai báo và
sử dụng cấu
trúc

2.1. Khai báo kiểu
dữ liệu cấu trúc
• Khai báo cấu trúc struct
struct Tên_Cấu_Trúc{

};
• Ví dụ
struct SinhVien{
char MSV[10];
char hoVaTen[30];
float diemThcs2;
};

2.2. Khai báo biến cấu trúc
Cú pháp:
struct Tên_Cấu_Trúc tenBien;

Ví dụ:

2.3. Định nghĩa kiểu dữ liệu 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ũ {
} Tên_Mới;
• Chú ý: cho phép đặt Tên_Mới trùng Tên_Cũ

Truy cập vào các thành phần cấu trúc
• Cú pháp
tenBien.tenTruong
• Lưu ý
– Dấu “.” là 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ụ: 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

03

3. Cấu trúc và
hàm

1. Truyền theo giá
trị:

Khi truyền theo giá trị, một bản sao của cấu trúc được tạo ra và truyền vào hàm.
Bất kỳ thay đổi nào được thực hiện đối với bản sao trong hàm sẽ không ảnh
hưởng đến cấu trúc gốc.

2. Truyền theo địa
chỉ:

Khi truyền theo địa chỉ, con trỏ đến cấu trúc được truyền vào hàm.
Bất kỳ thay đổi nào được thực hiện đối với cấu trúc trong hàm sẽ ảnh hưởng đến
cấu trúc gốc.

Lưu ý:

• Việc lựa chọn truyền theo giá trị hay địa chỉ
phụ thuộc vào mục đích sử dụng.
• Truyền theo giá trị thường được sử dụng khi
muốn bảo vệ dữ liệu của biến gốc.
• Truyền theo địa chỉ thường được sử dụng khi
muốn thay đổi giá trị của biến gốc.

04
CẤU TRÚC LỒNG

Cấu trúc lồng là một kỹ thuật trong lập trình C cho phép bạn sử
dụng một cấu trúc (còn gọi là cấu trúc con) bên trong một cấu túc
khác (còn gọi là cấu trúc mẹ). Kỹ thuật này giúp bạn tổ chức giữ liệu
một cách hiệu quả và dễ dàng quản lý.

Ví dụ:
Giả sử bạn muốn lưu trữ thông tin về một sinh viên, bao gồm họ tên, tuổi, điểm và địa
chỉ. Bạn có thể sử dụng hai cấu trúc:




Cấu trúc SinhVien:
Lưu trữ thông tin
chung về sinh viên
như họ tên và tuổi.
Cấu trúc DiaChi: lưu
trữ thông tin địa chỉ
của sinh viên.

Lợi ích của việc cấu trúc
lồng:

Tổ chức dữ liệu phức tạp: Cấu trúc lồng giúp bạn chia nhỏ
dữ liệu phức tạp thành các phần nhỏ hơn, dễ dàng quản lý
hơn.
Tái sử dụng mã: Bạn có thể sử dụng lại cấu trúc đã được
định nghĩa trong các cấu trúc khác.
Giảm thiểu việc trùng lặp mã: Cấu trúc lặp giúp bạn tránh
viết mã trùng lặp để lưu trữ dữ liệu có liên quan.

05

CON TRỎ VÀ CẤU
TRÚC

1. Khái niệm
Các thành phần trong cấu trúc được cấp phát các vùng nhớ liền
kề nhau trong bộ nhớ. Chúng ta có thể định nghĩa các biến con
trỏ kiểu dữ liệu cấu trúc và thực hiện việc cấp phát động vùng
nhớ tùy theo số cấu trúc được sử dụng.
Khi kết hợp con trỏ với cấu trúc, bạn có thể tạo ra các cấu trúc
phức tạp hơn, mà mỗi thành phần của chúng có thể được truy
cập thông qua con trỏ.

VD:

2. Truy cập vào con trỏ cấu trúc
Bạn có thể truy cập các
thành phần của một cấu
trúc thông qua con trỏ
bằng cách sử dụng toán
tử “->” (arrow operator).
Cú pháp: Tên con trỏ cấu
trúc -> Tên thành phần
cấu trúc muốn truy cập.
VD:

3. Cấp phát động của cấu
trúc

Đôi khi số lượng biến cấu trúc bạn khai báo không đủ. Bạn có thể cần
cấp phát bộ nhớ trong thời gian chạy. Do đó cần sử dụng cấp phát động.
VD:

Để cấp phát bộ nhớ cho n số của struct peson ta sử dụng:
prt = (struct peson*) malloc(n*sizeof(struct peson))
Sau khi sử dụng xong, cần phải phóng bộ nhớ đã cấp phát bằng hàm
free để tránh rò rỉ bộ nhớ.
- Sau đây là 2 ví dụ chỉ rõ việc sử dụng con trỏ hay không:

+ Sử dụng con
trỏ:

+ Không sử dụng con trỏ:

06
BÀI TẬP

Bài 1.

Bài 2. Tìm kiếm thông tin sinh viên:
Xây dựng hàm nhập thông tin cho sinh viên gồm
mã sinh viên, tên, quê quán, năm sinh.
Xây dựng hàm tính tìm kiếm sinh viên theo mã
sinh viên..
Input: Gồm 02 dòng, dòng đầu là số lượng sinh
viên, các dòng tiếp theo là thông tin sinh viên
tương ứng, cuối cùng là mã sinh viên cần tìm
Output: Thông tin mã sinh viên tìm được theo mã.

Bài 3. Sắp xếp điểm của sinh viên theo thứ tự
giảm dần:
Xây dựng hàm nhập thông tin cho sinh viên gồm mã sinh
viên, tên, điểm thi.
Xây dựng hàm sắp xếp điểm của sinh viên theo th ứ tự
giảm dần.
Input: Gồm 2 dòng, dòng đầu là số lượng sinh viên, các
dòng tiếp theo là thông tin sinh viên t ương ứng.
Output: Thông tin sinh viên được in ra theo thứ tự điểm
thi giảm dần.

07
MINI GAME

THANKS FOR
WATCHING
 
Gửi ý kiến