LẬP TRÌNH CĂN BẢN - KIỂU MẢNG
lượt xem 8
download
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ỳ:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: LẬP TRÌNH CĂN BẢN - KIỂU MẢNG
- Giới thiệu kiểu mảng trong C (1) Ví dụ: LẬP TRÌNH CĂN BẢN l int a[10]; KIỂU MẢNG => Hình ảnh của a trong bộ nhớ như sau: 1 3 Nội dung chương này 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, Giới thiệu kiểu mảng trong C l l gọi là kiểu phần tử”. Mảng 1 chiều l Mảng nhiều chiều l Kiểu phần tử có thể là có kiểu bất kỳ: l ký tự l số l 1 struct l 1 mảng khác (=> mảng của mảng hay mảng nhiều chiều) l …; l 2 4
- Giới thiệu kiểu mảng trong C (3) Mảng 1 chiều (1) Ví dụ: Lưu trữ 1 đa giác trong đồ họa: Xét dưới góc độ toán học, mảng 1 chiều giống như một vector. l l Mỗi phần tử của mảng 1 chiều có giá trị không phải là một l typedef struct { mảng khác. Points[1] int x; Khai báo m ảng với số phần tử xác định l int y; l Ví dụ: float a[100]; Points[0] } Point; ; l Cú pháp: Points[2] Khai báo m ảng với số phần tử không xác định typedef struct{ l l Ví dụ: Point Points[100]; float a[]; Points[3] l Cú pháp: ; int nPoints; } Polygon; 5 7 Giới thiệu kiểu mảng trong C (4) Mảng 1 chiều (2) Vừa khai báo vừa gán giá trị Ta có thể chia mảng làm 2 loại: l l Mảng 1 chiều []= {Các giá trị cách nhau bởi dấu phẩy} ; l => Số phần tử có thể được xác định bằng sizeof() Mảng nhiều chiều l 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 l không cần chỉ định số phần tử của mảng là bao nhiêu l 6 8
- Mảng 1 chiều (3) Truy xuất từng phần tử của mảng (2) Ví dụ: Gán giá trị ngay lúc khai báo Ví dụ 2: Vừa khai báo vừa gán trị cho 1 mảng 1 chiều các số l l nguyên. In mảng số nguyên này lên màn hình. int primes[] = {2,3,5,7,11,13}; Sẽ tương đương với: int primes[6]; primes[0] = 2; primes[1] = 3; =>sizeof(primes)/sizeof(int)=6 primes[2] = 5; primes[3] = 7; primes[4] = 11; primes[5] = 13; 9 11 Truy xuất từng phần tử của mảng (1) 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. l Cú pháp: l Tên biến mảng[Chỉ số] Ví dụ 1: l 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 12
- Mảng nhiều chiều 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. Mảng nhiều chiều là mảng có từ 2 chiều trở lên. l l Điều đó có nghĩa là mỗi phần tử của mảng là một mảng khác. l Người ta thường sử dụng mảng nhiều chiều để lưu các ma l trận, các tọa độ 2 chiều, 3 chiều… 13 15 Truy xuất từng phần tử của mảng (5) Khai báo mảng 2 chiều tường minh Ví dụ 5: Chương trình sau sẽ hiển thị kết quả gì? Cú pháp: l l ; Ví dụ: l float m[8][9]; // mảng 2 chiều có 8*9 phần tử là số thực Sửa lỗi này thế nào? 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. 14 16
- Ví dụ (1) 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ỉ 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 l l ra số phần tử của chiều thứ hai (chiều cuối cùng). 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. Cú pháp: l ; Ví dụ: l float m[][9]; Cách khai báo này cũng được áp dụng trong trường hợp: l vừa khai báo vừa gán trị l mảng 2 chiều là tham số hình thức của 1 hàm. l 17 19 Ví dụ (2) Truy xuất từng phần tử của mảng 2 chiều Dùng: l Tên mảng[Chỉ số 1][Chỉ số 2] 18 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng xây dựng cầu 2 P11
12 p | 218 | 91
-
Quy trình tháo lắp cơ cấu phân phối khí
5 p | 226 | 66
-
Bài giảng Xử lý âm thanh và hình ảnh - Gv.Lê Nhật Thăng
221 p | 360 | 64
-
bài giảng môn học cung cấp điện - phần 5
17 p | 123 | 37
-
STAR PAGE DREAMWEAVER 8
8 p | 75 | 12
-
Mạng chuyển mạch và điện thoại
3 p | 100 | 10
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn