Bài giảng Lập trình căn bản - Phần 1, Chương 6: Kiểu mảng
Bài giảng Lập trình căn bản - Phần 1, Chương 6: Kiểu mảng
Nội dung chương này
Giới thiệu kiểu mảng trong C
Mảng 1 chiều
Mảng nhiều chiều
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình căn bản - Phần 1, Chương 6: Kiểu mảng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Lập trình căn bản - Phần 1, Chương 6: Kiểu mảng
LẬP TRÌNH CĂN BẢN Phần 2 - Chương 6 KIỂU MẢNG N .C. Danh 1 Nội dung chương này Giới thiệu kiểu mảng trong C Mảng 1 chiều Mảng nhiều chiều 2 Giới thiệu kiểu mảng trong C (1) Ví dụ: int a[10]; => Hình ảnh của a trong bộ nhớ như sau: 3 Giới thiệu kiểu mảng trong C (2) “Mảng là một tập hợp các phần tử cố định có cùng một kiểu, gọi là kiểu phần tử”. Kiểu phần tử có thể là có kiểu bất kỳ: ký tự số 1 struct 1 mảng khác (=> mảng của mảng hay mảng nhiều chiều) ; 4 Giới thiệu kiểu mảng trong C (3) Ví dụ: Lưu trữ 1 đa giác trong đồ họa: typedef struct { int x; int y; } Point; typedef struct { Point Points[100]; int nPoints; } Polygon; Points[1] Points[2] Points[3] Points[0] 5 Giới thiệu kiểu mảng trong C (4) Ta có thể chia mảng làm 2 loại: Mảng 1 chiều Mảng nhiều chiều 6 Mảng 1 chiều (1) Xét dưới góc độ toán học, mảng 1 chiều giống như một vector. Mỗi phần tử của mảng 1 chiều có giá trị không phải là một mảng khác . Khai báo mảng với số phần tử xác định Ví dụ: float a[100]; Cú pháp: ; Khai báo mảng với số phần tử không xác định Ví dụ: float a[]; Cú pháp : ; 7 Mảng 1 chiều (2) Vừa khai báo vừa gán giá trị []= {Các giá trị cách nhau bởi dấu phẩy} ; => Số phần tử có thể được xác định bằng sizeof() Số phần tử= sizeof( tên mảng )/sizeof( kiểu ) Khai báo mảng là tham số hình thức của hàm không cần chỉ định số phần tử của mảng là bao nhiêu 8 Mảng 1 chiều (3) Ví dụ: Gán giá trị ngay lúc khai báo int primes[] = {2,3,5,7,11,13}; Sẽ tương đương với: int primes[6]; primes[0] = 2; primes[1] = 3; primes[2] = 5; primes[3] = 7; primes[4] = 11; primes[5] = 13; =>sizeof(primes)/sizeof(int)=6 9 Truy xuất từng phần tử của mảng (1) Cú pháp: Tên biến mảng [ Chỉ số ] Ví dụ 1: int a[10]; a[0]=5; a[1]=5; a[2]=33; a[3]=33; a[4]=15; printf(“%d %d %d %d %d”, a[0], a[1], a[2], a[3], a[4]); 10 Truy xuất từng phần tử của mảng (2) Ví dụ 2: Vừa khai báo vừa gán trị cho 1 mảng 1 chiều các số nguyên. In mảng số nguyên này lên màn hình. 11 Truy xuất từng phần tử của mảng (3) Ví dụ 3 : Đổi một số nguyên dương thập phân thành số nhị phân . 12 Truy xuất từng phần tử của mảng (4) Ví dụ 4 : Nhập vào một dãy n số và sắp xếp các số theo thứ tự tăng. 13 Truy xuất từng phần tử của mảng (5) Ví dụ 5 : Chương trình sau sẽ hiển thị kết quả gì? Các phần tử của mảng a[0], , a[11]. Việc truy cập a[12] sẽ vượt ra bên ngoài mảng , ô nhớ của biến b. Sửa lỗi này thế nào? 14 Mảng nhiều chiều Mảng nhiều chiều là mảng có từ 2 chiều trở lên . Điều đó có nghĩa là mỗi phần tử của mảng là một mảng khác . Người ta thường sử dụng mảng nhiều chiều để lưu các ma trận, các tọa độ 2 chiều, 3 chiều 15 Khai báo mảng 2 chiều tường minh Cú pháp: ; Ví dụ: float m[8][9]; // mảng 2 chiều có 8*9 phần tử là số thực 16 Khai báo mảng 2 chiều không tường minh Để khai báo mảng 2 chiều không tường minh, ta vẫn phải chỉ ra số phần tử của chiều thứ hai (chiều cuối cùng). Cú pháp: ; Ví dụ: float m[][9]; Cách khai báo này cũng được áp dụng trong trường hợp: vừa khai báo vừa gán trị mảng 2 chiều là tham số hình thức của 1 hàm. 17 Truy xuất từng phần tử của mảng 2 chiều Dùng: Tên mảng[Chỉ số 1] [ Chỉ số 2 ] 18 Ví dụ (1) Viết chương trình cho phép nhập 2 ma trận a, b có m dòng n cột, thực hiện phép toán cộng hai ma trận a,b và in ma trận kết quả lên màn hình . 19 Ví dụ (2) 20 Hết chương Hết chương 21
File đính kèm:
- bai_giang_lap_trinh_can_ban_phan_1_chuong_6_kieu_mang.ppt