
Bài giảng Kỹ thuật lập trình: Bài 7 - Phạm Đình Sắc
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình: Bài 7 - Phạm Đình Sắc Trường Cao đẳng Kỹ thuật Công nghệ Đồng Nai Khoa Công nghệ thông tin ạ ắ MẢNG MỘT CHIỀU & &VCVC BB BB 1 Khái niệm 2 Khai báo 3 Truy xuất dữ liệu kiểu mảng 4 Một số bài toán trên mảng 1 chiều NMLT - Mảng một chiều & &VCVC BB BB Ví dụ Chương trình cần lưu trữ 3 số nguyên? => Khai báo 3 biến int a1, a2, a3; Chương trình cần lưu trữ 100 số nguyên? => Khai báo 100 biến kiểu số nguyên! Người dùng muốn nhập n số nguyên? => Không thực hiện được! Giải pháp Kiểu dữ liệu mới cho phép lưu trữ một dãy các số nguyên và dễ dàng truy xuất. NMLT - Mảng một chiều & &VCVC BB BB Khái niệm Là một kiểu dữ liệu có cấu trúc do người lập trình định nghĩa. Biểu diễn một dãy các biến có cùng kiểu. Ví dụ: dãy các số nguyên, dãy các ký tự… Kích thước được xác định ngay khi khai báo và không bao giờ thay đổi. NNLT C luôn chỉ định một khối nhớ liên tục cho một biến kiểu mảng. NMLT - Mảng một chiều & &VCVC BB BB Tường minh []; [][]…[]; , …, : số lượng phần tử của mỗi chiều. Lưu ý Phải xác định cụ thể (hằng) khi khai báo. Mảng nhiều chiều: = N1*N2*…*Nn Bộ nhớ sử dụng = *sizeof() Bộ nhớ sử dụng phải ít hơn 64KB (65535 Bytes) Một dãy liên tục có chỉ số từ 0 đến -1 NMLT - Mảng một chiều & &VCVC BB BB Ví dụ int Mang1Chieu[10]; Mang1Chieu int Mang2Chieu[3][4]; Mang2Chieu NMLT - Mảng một chiều & &VCVC BB BB Cú pháp Không tường minh (thông qua khai báo kiểu) typedef []; typedef []…[]; ; Ví dụ typedef int Mang1Chieu[10]; typedef int Mang2Chieu[3][4]; Mang1Chieu m1, m2, m3; Mang2Chieu m4, m5; NMLT - Mảng một chiều & &VCVC BB BB Phải xác định cụ thể số phần tử ngay lúc khai báo, không được sử dụng biến hoặc hằng thường int n1 = 10; int a[n1]; const int n2 = 20; int b[n2]; Nên sử dụng chỉ thị tiền xử lý #define để định nghĩa số phần tử mảng #define n1 10 #define n2 20 int a[n1]; // int a[10]; int b[n1][n2]; // int b[10][20]; NMLT - Mảng một chiều & &VCVC BB BB Gồm các cách sau Khởi tạo giá trị cho mọi phần tử của mảng int a[4] = {2912, 1706, 1506, 1904}; Khởi tạo giá trị cho một số phần tử đầu mảng int a[4] = {2912, 1706}; NMLT - Mảng một chiều & &VCVC BB BB Gồm các cách sau Khởi tạo giá trị 0 cho mọi phần tử của mảng int a[4] = {0}; Tự động xác định số lượng phần tử int a[] = {2912, 1706, 1506, 1904}; NMLT - Mảng một chiều & &VCVC BB BB Thông qua chỉ số [][]…[] Ví dụ Cho mảng như sau int a[4]; Các truy xuất • Hợp lệ: a[0], a[1], a[2], a[3] • Không hợp lệ: a[-1], a[4], a[5], … => Cho kết thường không như mong muốn! NMLT - Mảng một chiều & &VCVC BB BB Không được sử dụng phép gán thông thường mà phải gán trực tiếp giữa các phần tử tương ứng Ví dụ #define MAX 3 typedef int MangSo[MAX]; MangSo a = {1, 2, 3}, b; b = a; // Sai for (int i = 0; i < 3; i++) b[i] = a[i]; NMLT - Mảng một chiều & &VCVC BB BB Khai báo không chỉ rõ số lượng phần tử int a[ ]; => int a[100]; Số lượng phần tử liên quan đến biến hoặc hằng int n1 = 10; int a[n1]; => int a[10]; const int n2 = 10; in ...
Tìm kiếm theo từ khóa liên quan:
Kỹ thuật lập trình Bài giảng Kỹ thuật lập trình Mảng một chiều Hàm tìm kiếm Khai báo biến Tách số nguyên tốTài liệu có liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 303 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 244 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 221 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 187 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 158 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 125 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 118 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 115 0 0 -
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 trang 111 0 0 -
Giáo trình Nhập môn lập trình VB6: Phần 2
184 trang 107 0 0 -
Giáo trình Nhập môn lập trình VB6: Phần 1
246 trang 106 0 0 -
Giáo trình toán rời rạc - Phụ lục 2
15 trang 90 0 0 -
Giáo trình Lập trình hướng đối tượng với Java: Phần 2 - Trần Thị Minh Châu, Nguyễn Việt Hà
141 trang 86 0 0 -
Nghiên cứu triển khai nội địa hóa máy tính thương hiệu Việt Nam
585 trang 86 0 0 -
Giáo trình Ngôn ngữ lập trình C++: Phần 2 - TS. Vũ Việt Vũ
107 trang 66 0 0 -
Cách chia sẻ File, dữ liệu mạng Lan trong Windows Xp
10 trang 64 0 0 -
Luận văn: TÌM HIỂU KỸ THUẬT LẬP TRÌNH NETWORK SERVICE CHO WINDOW
39 trang 59 0 0 -
Bài giảng Kỹ thuật lập trình: Chương 7 - Trần Quang
28 trang 57 0 0 -
88 trang 56 0 0
-
Phân tích và thiết kế giải thuật: Các kỹ thuật thiết kế giải thuật - Chương 5
0 trang 54 0 0