Bài giảng 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
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
21 trang |
Chia sẻ: nguyenlam99 | Lượt xem: 977 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
www.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ÊỤ CÓ CẤU TRÚC
BÀI GIẢNG
Giáo viên: Hà Nguyên Long
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
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ı ́du,̣ 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
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
Mảng 1 chiều
Khai báo
;
trong đó số phần tử là số phần tử tối đa của mảng
Vı ́du ̣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ıǹh ảnh sau:
a[9]a[8]a[7]a[6]a[5]a[4]a[3]a[2]a[1]a[0]
10987654321
Tên phần tử
Ô nhớ
Vi ̣trı́
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
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]a[7]a[6]a[5]a[4]a[3]a[2]a[1]a[0]
10987654321
Tên phần tử
Ô nhớ
Vi ̣trı́
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
Vı ́du ̣1:
Viết chương trıǹh nhâp̣ vào môṭ dãy (mảng) số
nguyên. Tıńh tổng các số đó
Vı ́du ̣2:
Viết chương trıǹh nhâp̣ vào môṭ dãy (mảng) số
nguyên. Tıńh trung bıǹh côṇg các số âm
Vı ́du ̣3:
Viết chương trıǹh nhâp̣ vào môṭ dãy (mảng) số
nguyên. Tım̀ giá tri ̣lớn nhất của dãy
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
Vı ́du ̣1:
Viết chương trıǹh nhâp̣ vào môṭ dãy (mảng) số
nguyên. Tıńh tổng các số đó
main()
{
int a[10],i,n,tong=0;
printf("Nhap so pha tu mang");scanf("%d",&n);
for(i=0;i<n;i++)
{ printf("Nhap pt thu %d ",i+1);scanf("%d",&a[i]); }
for(i=0;i<n;i++) tong=tong+a[i];
printf("Tong la %d ",tong);
getch();
return 0;
}
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
main() {
int a[10],i,n,demsoam=0;tong=0;
printf("Nhap so pha tu mang");scanf("%d",&n);
for(i=0;i<n;i++)
{ printf("Nhap pt thu %d ",i+1);scanf("%d",&a[i]); }
for(i=0;i<n;i++)
if(a[i]<0)
{ tong=tong+a[i]; demsoam++; }
if(demsoam>0) printf("TB la %f ",(float)tong/demsoam);
else printf("Khong co so am ");
getch();return 0;}
Vı ́du ̣2:
Viết chương trıǹh nhâp̣ vào môṭ dãy (mảng) số
nguyên. Tıńh trung bıǹh côṇg các số âm
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
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ıǹh nhâp̣ vào môṭ dãy số nguyên.
Chèn thêm số 5 vào đầu dãy.
3.Viết chương trıǹh nhâp̣ vào môṭ dãy số nguyên.
Chèn thêm số 5 vào cuối dãy
4.Viết chương trıǹh nhâp̣ vào môṭ dãy số nguyên. Xóa
các số 5
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
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.
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
Khai báo
char [Chiều dài tối đa];
Vı ́du:̣
char hoten[30];
char quequan[80];
char tentruong[]=“Truong TCKTKT Bac Thang
Long”;
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
Nhập chuỗi từ bàn phím
Cú pháp:
gets()
Ví dụ:
char Ten[20];
gets(Ten);
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
Xuất chuỗi ra màn hıǹh
Cú pháp:
puts()
Ví dụ:
char Ten[20];
gets(Ten);
puts(Ten);
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
Bài tâp̣
1.Bài 2, 13 – phần xâu lý tự – chương 6
2.Viết chương trıǹh nhâp̣ vào 1 chuỗi, chèn ký tự ‘d’
vào đầu chuỗi
3.Viết chương trıǹh nhâp̣ vào 1 chuỗi, chèn ký tự ‘c’
vào cuối chuỗi
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
Cấu trúc
Điṇh nghıã cấu trúc
struct
{
;
;
..
;
};
Vı ́du:̣
struct hocsinh
{
char hoten[50];
int namsinh;
int diem;
};
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
Cấu trúc
Khai báo biến cấu trúc
struct [, ];
Vı ́dụ
struct hocsinh hs1,hs[10];
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
Cấu trúc
Truy xuất đến từng trường của biến cấu trúc
Cú pháp: .
Vı ́du:̣
hs1.hoten
hs[5].namsinh
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
Vı ́du:̣
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 ngoaị
ngữ. In ra màn hình danh sách những học sinh có
điểm toán dưới 5).
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
#include
#include
#include
void main()
{
struct cautruc
{
char hoten[20];
int dt,dnn;
};
cautruc ds[50];
int i,n;
//Nhap
printf("Cho biet so luong hoc sinh: ");scanf("%d",
&n);
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
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);
}
//clrscr();
printf("\nDANH SACH\n");
printf("\n| HO TEN | DIEM TOAN | DIEM NN |");
for(i=0;i<n;i++)
if(ds[i].dt<5)
printf("\n|%15s|%13d|%12d|",ds[i].hoten,ds[i].dt,ds[i].dnn);
getch();return 0;
}
www.themegallery.com Company Logo
CÁC KIỂU DỮ LIÊỤ CÓ CẤU TRÚC
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
www.themegallery.com Company Logo
Chương 7: Hàm
TIẾP THEO
Các file đính kèm theo tài liệu này:
- chuong_6_phan_ii_tt_nnltc_3778.pdf