Chương 6 cung cấp cho người học một số kiến thức liên quan đến các kiểu dữ liệu có cấu trúc như: Mảng, mảng một chiều, xâu ký tự, chuỗi ký tự, cách khai báo kiểu dữ liệu có cấu trúc,... Mời các bạn cùng tham khảo để nắm bắt các nội dung chi tiết.
Trang 1www.themegallery.com Company Logo
THUẬT TOÁN VÀNGÔN NGỮ LẬP TRÌNH C
Chương 6 – Phần II CÁC KIỂU DỮ LIỆU CÓ CẤU TRÚC
Giáo viên: Hà Nguyên Long
Trang 2www.themegallery.com Company Logo
Mảng
Mảng là một tập hợp các phần tử cố định có cùng
một kiểu
Vı́ dụ, khi cần quản lý điểm của 100 sinh viên, nếu
ta phải khai báo 100 biến để quản lý 100 điểm thı̀
sẽ rất mất thời gian, khó quản lý Bây giờ ta chı̉ cần khai báo 1 biến (mảng) gồm 100 phần tử sẽ quản lý được 100 đầu điểm
Trang 3www.themegallery.com Company Logo
Mảng 1 chiều
Khai báo
<Kiểu> <Tên mảng ><[số phần tử]> ;
trong đó số phần tử là số phần tử tối đa của mảng
Vı́ dụ int a[10]; //khai báo biến a với số phần tử tối
đa là 10
Kết quả ta có 10 ô nhớ kiểu int nằm liên tiếp nhau
trong bộ nhớ như hı̀nh ảnh sau:
a[9] a[8]
8 7
6 5
4 3
2 1
Tên phần tử
Ô nhớ
Vi ̣ trı́
Trang 4www.themegallery.com Company Logo
Mảng 1 chiều
Truy nhập phần tử mảng
Truy nhập thông qua tên phần tử
a[9] a[8]
8 7
6 5
4 3
2 1
Tên phần tử
Ô nhớ
Vi ̣ trı́
Trang 5www.themegallery.com Company Logo
Vı́ dụ 1:
Viết chương trı̀nh nhập vào một dãy (mảng) số
nguyên Tı́nh tổng các số đó
Vı́ dụ 2:
Viết chương trı̀nh nhập vào một dãy (mảng) số
nguyên Tı́nh trung bı̀nh cộng các số âm
Vı́ dụ 3:
Viết chương trı̀nh nhập vào một dãy (mảng) số
nguyên Tı̀m giá tri ̣ lớn nhất của dãy
Trang 6www.themegallery.com Company Logo
Vı́ dụ 1:
Viết chương trı̀nh nhập vào một dãy (mảng) số
nguyên Tı́nh tổng các số đó
Trang 7www.themegallery.com Company Logo
Viết chương trı̀nh nhập vào một dãy (mảng) số
nguyên Tı́nh trung bı̀nh cộng các số âm
Trang 8www.themegallery.com Company Logo
Bài tâ ̣p
1 Bài 1,2,3,4,6,7,8 – bài tập về mảng – chương 6
2 Viết chương trı̀nh nhập vào một dãy số nguyên
Chèn thêm số 5 vào đầu dãy
3 Viết chương trı̀nh nhập vào một dãy số nguyên
Chèn thêm số 5 vào cuối dãy
4 Viết chương trı̀nh nhập vào một dãy số nguyên Xóa các số 5
Trang 9www.themegallery.com Company Logo
Xâu ký tự/chuỗi
Xâu ký tự (chuỗi ký tự) là một dãy (mảng) gồm các
ký tự được kết thúc bằng ký tự ‘\0’ (còn được gọi là
ký tự NULL trong bảng mã ASCII)
Các hằng chuỗi ký tự được đặt trong cặp dấu nháy kép
Trang 10www.themegallery.com Company Logo
Trang 11www.themegallery.com Company Logo
Trang 12www.themegallery.com Company Logo
Xuất chuỗi ra màn hı̀nh
Trang 13www.themegallery.com Company Logo
Bài tập
1 Bài 2, 13 – phần xâu lý tự – chương 6
2 Viết chương trı̀nh nhập vào 1 chuỗi, chèn ký tự ‘d’ vào đầu chuỗi
3 Viết chương trı̀nh nhập vào 1 chuỗi, chèn ký tự ‘c’ vào cuối chuỗi
Trang 14www.themegallery.com Company Logo
Cấu trúc
Đi ̣nh nghı ̃a cấu trúc
struct <Tên cấu trúc>
char hoten[50];
int namsinh;
int diem;
};
Trang 15www.themegallery.com Company Logo
Cấu trúc
Khai báo biến cấu trúc
struct <Tên cấu trúc> <Biến 1> [, <Biến 2>…];
Vı́ dụ
struct hocsinh hs1,hs[10];
Trang 16www.themegallery.com Company Logo
Cấu trúc
Truy xuất đến từng trường của biến cấu trúc
Cú pháp: <Biến cấu trúc>.<Tên trường>
Vı́ dụ:
hs1.hoten
hs[5].namsinh
Trang 17www.themegallery.com Company Logo
Vı́ dụ:
Viết chương trình nhập vào thông tin về các học sinh của một trường, gồm: họ tên, điểm toán, điểm ngoại ngữ In ra màn hình danh sách những học sinh có
điểm toán dưới 5)
Trang 18www.themegallery.com Company Logo
Trang 19www.themegallery.com Company Logo
for(i=0;i<n;i++)
{
printf("\nNhap thong tin ve doi tuong thu %d ",i+1);
printf("\nHo ten: "); flushall();gets(ds[i].hoten);
printf("Diem toan: "); scanf("%d",&ds[i].dt);
printf("Diem ngoai ngu: "); scanf("%d",&ds[i].dnn);
Trang 20www.themegallery.com Company Logo
Bài tập
1 Viết chương trình nhập vào thông tin về sách của
một thư viện, gồm: tên sách, Nhà xuất bản, năm
xuất bản In ra màn hình danh sách những sách xuất bản trước năm 2000
2 Viết chương trình nhập vào thông tin về các học sinh của một trường, gồm: họ tên, khoa, điểm In ra màn hình danh sách những học sinh lớp TH10A có điểm
10
3 Bài 1 đến 6 – phần cấu trúc – chương 6
Trang 21www.themegallery.com Company Logo
Chương 7: Hàm