Nhập môn về lập trình C7 Slide 1Chương 7 Mảng array Presenter:... Nhập môn về lập trình C7 Slide 2Learning outcomes L.O.5.1 – Khai báo được mảng các giá trị... Nhập môn về lập trình C7
Trang 1Nhập môn về lập trình (C7) Slide 1
Chương 7
Mảng (array)
Presenter:
Trang 2Nhập môn về lập trình (C7) Slide 2
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
Trang 3Nhập môn về lập trình (C7) Slide 3
Dãy một chiều
Nhập điểm của 10 sinh viên, sau đó sắp xếp điểm theo thứ tự tăng dần.
Trang 4Nhập môn về lập trình (C7) Slide 4
Dãy một chiều
Dãy (còn gọi là mảng) là một tập hợp các biến, gọi là phần tử, có cùng một kiểu dữ liệu
Truy xuất bằng tên dãy và vị trí phần tử (chỉ số - index)
Trang 5Nhập môn về lập trình (C7) Slide 5
Dãy một chiều
-45 6 0 72 1543 -89 0 62 -3
c[ 0 ] c[ 1 ] c[ 2 ] c[ 3 ] c[ 4 ] c[ 5 ] c[ 6 ] c[ 7 ] c[ 8 ]
Tên dãy (c)
Chỉỉ sốố củ ỉa phầầ n tửỉ
Chỉ số đầu tiên là
zero
Trang 13Nhập môn về lập trình (C7) Slide 13
Mảng nhiều chiều
C cho phép định nghĩa mảng nhiều chiều Định nghĩa mảng hai chiều bằng cách sử dụng 2 cặp dấu ngoặc đơn
Cách làm này có thể mở rộng cho các chiều lớn hơn Mỗi khi tăng thêm
1 cặp dấu ngoặc đơn, số chiều tăng lên 1.
Trang 14Nhập môn về lập trình (C7) Slide 14
Mảng 2 chiều
Các phần tử được lưu trữ trong một vùng nhớ liên tục
Đối với mảng b, có thể tưởng tượng các phần tử được bố trí như sau:
Trang 15bool symmetr = true;
for ( i=0; i< N; ++i)
if(!symmetr) break;
} if(symmetr) printf("\nThe matrix is symmetric\n”);
else printf("\nThe matrix is not symmetric\n”;
}
Trang 18Nhập môn về lập trình (C7) Slide 18
Kiểu chuỗi (string)
Trong C, chúng ta thường sử dụng mảng của những ký tự để biểu diễn chuỗi Chuỗi là mảng của những ký tự với ký tự kết thúc là ký tự null (‘\0’)
Chuỗi có thể được gán giá trị khi khai báo:
char strg[] = “C++”;
Biến strg được gán giá trị ban đầu là “C++” Lời khai báo tạo một mảng
gồm 4 phần tử lần lượt là ‘C’, ‘+’, ‘+’ và ‘\0’ Ký tự null (\0) đánh dấu kết
thúc chuỗi
Khai báo trên tự động xác định kích thước mảng dựa trên chuỗi gán.
Trang 19Nhập môn về lập trình (C7) Slide 19
Kiểu chuỗi (string)
Ký tự trong chuỗi được xử lý như phần tử dãy
Ví dụ: hoten[8]='\r‘;
hoten[ i ]=hoten[ i + 4 ];
Trang 20strcpy / strncpy :chép chuỗi.
strlen : lấy chiều dài chuỗi (không kể ‘\0’).
strstr : tìm chuỗi con trong chuỗi lớn.
Trang 23Nhập môn về lập trình (C7) Slide 23
Kiểu chuỗi (string)
Trang 24Nhập môn về lập trình (C7) Slide 24
Truyền tham số mảng
Mảng có thể là tham số của một hàm như sau:
void nhapday(int a[]){