nhap_mon_lap_trinh_phan_4 potx

30 144 0
nhap_mon_lap_trinh_phan_4 potx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Mảng - Array Mảng - Array Mảng – Array Mảng – Array  Một số tính chất Một số tính chất  Khai báo mảng trong C Khai báo mảng trong C  Truy xuất các thành phần Truy xuất các thành phần  Truyền tham số kiểu mảng cho hàm Truyền tham số kiểu mảng cho hàm  Một số thao tác cơ sở Một số thao tác cơ sở  Mảng nhiều chiều Mảng nhiều chiều Mảng – Mảng – Một số tính chất Một số tính chất  Mảng là một kiểu dữ liệu có cấu trúc do người lập Mảng là một kiểu dữ liệu có cấu trúc do người lập trình định nghĩa trình định nghĩa  Dùng biểu diễn các đối tượng dữ liệu ở dạng một Dùng biểu diễn các đối tượng dữ liệu ở dạng một dãy các thành phần có cùng kiểu với nhau – kiểu cơ dãy các thành phần có cùng kiểu với nhau – kiểu cơ sở sở  NNLT C luôn chỉ định một khối nhớ liên tục cho NNLT C luôn chỉ định một khối nhớ liên tục cho một biến kiểu mảng một biến kiểu mảng  Kích thước của mảng được xác định ngay khi khai Kích thước của mảng được xác định ngay khi khai báo và không bao giờ thay đổi báo và không bao giờ thay đổi Mảng – Mảng – Khai báo trong C Khai báo trong C typedef typedef kiểucơsở kiểucơsở Tênkiểu Tênkiểu [ [ Sốthànhphần Sốthànhphần ] ] ; ; kiểu của mỗi thành phần kiểu của mỗi thành phần hằng số, số thành phần hằng số, số thành phần tối đa của mảng tối đa của mảng do lập trình viên đặt tên do lập trình viên đặt tên typedef typedef int int AINT[ AINT[ 100 100 ]; ]; // // AINT AINT là kiểu mảng biểu diễn dãy gồm 100 thành phần int là kiểu mảng biểu diễn dãy gồm 100 thành phần int AINT AINT a; a; //a: biến kiểu AINT //a: biến kiểu AINT Mảng – Mảng – Ví dụ Ví dụ #define SIZE 10 int a[5]; // a dãy gồm 5 số nguyên long int big[100]; // big: chiếm 400 bytes! double d[100]; // d: chiếm 800 bytes! long double v[SIZE];// v:10 long doubles #define SIZE 10 int a[5]; // a dãy gồm 5 số nguyên long int big[100]; // big: chiếm 400 bytes! double d[100]; // d: chiếm 800 bytes! long double v[SIZE];// v:10 long doubles Mảng – Mảng – Ví dụ Ví dụ int a[5] = { 10, 20, 30, 40, 50}; double d[100] = { 1.5, 2.7}; short primes[] = { 1, 2, 3, 5, 7, 11, 13}; long b[50] = { 0 }; int a[5] = { 10, 20, 30, 40, 50}; double d[100] = { 1.5, 2.7}; short primes[] = { 1, 2, 3, 5, 7, 11, 13}; long b[50] = { 0 }; int i = 7; const int c = 5; int a[i]; double d[c]; short primes[]; int i = 7; const int c = 5; int a[i]; double d[c]; short primes[]; khởi trị cho 5 thành phần 2 thành phần đầu tiên được khởi trị, phần còn lại: 0 compiler xác định kích thước gồm 7 thành phần cách nhanh nhất để khởi trị tất cả các thành phần bằng 0  Các thành phần của mảng được truy xuất thông qua chỉ số Các thành phần của mảng được truy xuất thông qua chỉ số của chúng 0 size-1 của chúng 0 size-1  Thao tác truy xuất không kiểm tra giới hạn của chỉ số Thao tác truy xuất không kiểm tra giới hạn của chỉ số int main() { int a[6]; int i = 7; a[0] = 59; a[5] = -10; a[i/2] = 2; a[6] = 0; a[-1] = 5; return 0; } int main() { int a[6]; int i = 7; a[0] = 59; a[5] = -10; a[i/2] = 2; a[6] = 0; a[-1] = 5; return 0; } 0 a 1 2 3 4 5 Mảng – Mảng – Truy xuất các phần tử Truy xuất các phần tử Truyền tham số Mảng cho hàm Truyền tham số Mảng cho hàm  Tham số kiểu mảng được truyền cho hàm chính là địa chỉ Tham số kiểu mảng được truyền cho hàm chính là địa chỉ của phần tử đầu tiên trên mảng của phần tử đầu tiên trên mảng  Số thành phần trong tham số mảng có thể để trống. Số thành phần trong tham số mảng có thể để trống.  Số thành phần thực sự được sử dụng phải truyền qua một Số thành phần thực sự được sử dụng phải truyền qua một tham số khác (vd: size) tham số khác (vd: size) int add_elements(int a[], int size) { int add_elements(int a[], int size) { int add_elements(int *p, int size) { int add_elements(int *p, int size) { Ví dụ Ví dụ #include <stdio.h> void sum(long [], int); int main(void) { long primes[6] = { 1, 2, 3, 5, 7, 11 }; sum(primes, 6); printf("%li\n", primes[0]); return 0; } void sum(long a[], int sz) { int i; long total = 0; for(i = 0; i < sz; i++) total += a[i]; a[0] = total; } #include <stdio.h> void sum(long [], int); int main(void) { long primes[6] = { 1, 2, 3, 5, 7, 11 }; sum(primes, 6); printf("%li\n", primes[0]); return 0; } void sum(long a[], int sz) { int i; long total = 0; for(i = 0; i < sz; i++) total += a[i]; a[0] = total; } 1 2 3 5 7 11 primes a sz 6 tổng được lưu vào phần tử đầu tiên dùng để kiểm tra giới hạn chỉ số Một số thao tác cơ sở Một số thao tác cơ sở  Nhập Nhập  Xuất Xuất  Thêm một thành phần dữ liệu Thêm một thành phần dữ liệu  Loại bỏ một thành phần dữ liệu Loại bỏ một thành phần dữ liệu  Tìm kiếm Tìm kiếm  Sắp xếp Sắp xếp . { int a[100], n; clrscr(); printf( Nhap so thanh phan cua day: “); scanf(“%d”, &n); printf( Nhap cac thanh phan cua day: “); ReadData(a, n); printf(“Day vua nhap: “); WriteData(a, n); } #include. { int a[100], n; clrscr(); printf( Nhap so thanh phan cua day: “); scanf(“%d”, &n); printf( Nhap cac thanh phan cua day: “); ReadData(a, n); printf(“Day vua nhap: “); WriteData(a, n); } Mảng. size; i++) { printf( Nhap thanh phan %d: ”, i); scanf(“%d”, &a[i]); } } void ReadData(int a[], int size) { int i; for(i = 0; i < size; i++) { printf( Nhap thanh phan %d: ”, i); scanf(“%d”,

Ngày đăng: 12/08/2014, 00:22

Từ khóa liên quan

Mục lục

  • Mảng - Array

  • Mảng – Array

  • Mảng – Một số tính chất

  • Mảng – Khai báo trong C

  • Mảng – Ví dụ

  • Slide 6

  • Mảng – Truy xuất các phần tử

  • Truyền tham số Mảng cho hàm

  • Ví dụ

  • Một số thao tác cơ sở

  • Mảng – Nhập dữ liệu

  • Mảng – Xuất dữ liệu ra màn hình

  • Mảng – Nhập xuất dữ liệu

  • Mảng – Tìm vị trí X trong dãy

  • Mảng – Thêm một thành phần dữ liệu

  • Mảng – Thêm X vào cuối dãy

  • Mảng – Chèn X vào dãy tăng dần

  • Slide 18

  • Mảng – Loại bỏ một thành phần dữ liệu

  • Mảng – Loại bỏ X ra khỏi dãy tăng

Tài liệu cùng người dùng

Tài liệu liên quan