Bài giảng Nhập môn về lập trình - Chương 7: Mảng (array)

Chương 7  
Mảng (array)  
Presenter:  
Slide 1  
Nhập môn về lập trình (C7)  
Learning outcomes  
L.O.5.1 – Khai báo được mảng các giá trị.  
L.O.5.2 – Mô tả được cách tổ chức bộ nhớ của các phần  
tử trong mảng.  
L.O.5.3 – Truy xuất được các phần tử của mảng và dùng  
nó trong biểu thức.  
L.O.5.4 – Hiểu được cách truyền một mảng vào hàm.  
Slide 2  
Nhập môn về lập trình (C7)  
Dãy một chiều  
Định nghĩa  
Dãy (array) là kiểu dữ liệu thuộc dạng ghép và dựa vào một  
kiểu dữ liệu khác (kiểu cơ sở).  
Dãy là một bộ gồm nhiều phần tử cùng kiểu (kiểu cơ sở), dùng  
chung một tên và phân biệt với nhau bởi chỉ số (index).  
Ví dụ :  
int vector[10];  
định nghĩa biến dãy có 10 phần tử int (vector[0] vector[9]).  
vector  
độ lớn = 10x4 = 40 byte  
vector[9]  
vector[0]  
Slide 3  
Nhập môn về lập trình (C7)  
Dãy nhiều chiều  
Định nghĩa  
Dãy nhiều chiều là dãy có từ 2 vùng chỉ số trở lên.  
Ví dụ:  
double matran[8][8];  
định nghĩa biến matran là 1 dãy gồm 8x8 phần tử kiểu double  
(matran[0][0], matran[0][1], . . ., matran[7][7]).  
matran  
matran[0][7]  
matran[7][7]  
matran[0][0]  
độ lớn 512 byte  
float diem[X][Y][Z];  
định nghĩa biến dãy 3 chiều có X*Y*Z phần tử kiểu float dùng  
trong giải tích 3 chiều. Tọa độ điểm gốc diem[0][0][0].  
Slide 4  
Nhập môn về lập trình (C7)  
Xử lý dãy  
Khởi động trị ban đầu  
Khởi động lúc định nghĩa:  
int so[5] = {4,1,8,3,2};  
sẽ gán so[0]=4, so[1]=1, so[2]=8, so[3]=3 và so[4]=2  
Khởi động sử dụng hằng mảng, xem ví dụ.  
• Định nghĩa  
• Khởi động  
Slide 5  
Nhập môn về lập trình (C7)  
Kiểu chuỗi (string)  
Dãy ký tự ASCIIZ  
Trong C, thực sự không tồn tại kiểu chuỗi mà chỉ có dữ  
liệu chuỗi (còn gọi là chuỗi ASCIIZ, nghĩa là chuỗi liên tiếp  
các ký tự trong bảng mã ASCII và kết thúc bằng ký tự '\0'  
có giá trị là 0).  
Để làm việc với dữ liệu chuỗi, ta cần định nghĩa một dãy  
ký tự (character array) để chứa.  
Ví dụ : char hoten[50]  
Trong C, ta không thể gán chuỗi trực tiếp mà chỉ có thể  
làm thông qua các hàm có sẳn trong thư viện string.lib  
(xem slide kế).  
Ví dụ : strcpy(hoten,"Kim Dung");  
Ký tự trong chuỗi được xử lý như phần tử dãy  
Ví dụ:  
hoten[8]='\r';  
hoten[i]=hoten[i+4];  
Slide 6  
Nhập môn về lập trình (C7)  
Thư viện string.lib  
#include <string.h>  
Một số hàm xử lý chuỗi thường dùng  
strcat / strncat : nối ghép 2 chuỗi.  
strchr :  
tìm ký tự trong một chuỗi.  
strcmp / strncmp : so sánh 2 chuỗi.  
strcpy / strncpy : chép chuỗi.  
strlen :  
strstr :  
lấy chiều dài chuỗi (không kể ‘\0’).  
tìm chuỗi con trong chuỗi lớn.  
Slide 7  
Nhập môn về lập trình (C7)  
Truyền tham số mảng  
Mảng có thể là tham số của một hàm như sau:  
Không có chỉ số  
Gọi hàm và truyền tham số dãy:  
Slide 8  
Nhập môn về lập trình (C7)  
pdf 8 trang myanh 22040 Free
Bạn đang xem tài liệu "Bài giảng Nhập môn về lập trình - Chương 7: Mảng (array)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_nhap_mon_ve_lap_trinh_chuong_7_mang_array.pdf