intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Nhập môn lập trình C - Chương 4: Mảng một chiều

Chia sẻ: 5A4F5AFSDG 5A4F5AFSDG | Ngày: | Loại File: PDF | Số trang:44

72
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 4: Mảng một chiều. Sau khi học xong chương này người học có thể hiểu được: Khái niệm mảng một chiều, khai báo mảng một chiều, khai báo và gán giá trị cho mảng, truy xuất giá trị của mảng, truyền mảng vào hàm,... Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Nhập môn lập trình C - Chương 4: Mảng một chiều

  1. Khái niệm mảng một chiều  Mảng là một tập hợp các biến có cùng kiểu dữ liệu nằm liên tiếp nhau trong bộ nhớ và được tham chiếu bởi một tên chung chính là tên mảng.  Mỗi phần tử của mảng được tham chiếu thông qua chỉ mục (index).
  2. Khái niệm mảng một chiều  Nếu mảng có n phần tử thì phần tử đầu tiên có chỉ mục là 0 và phần tử cuối có chỉ mục là n-1.  Để tham chiếu đến một phần tử ta dùng tên mảng và chỉ mục của phần tử được đặt trong cặp dấu []. Ví dụ: a[0]
  3. Khái niệm mảng một chiều  Số phần tử trong mảng gọi là kích thước của mảng, luôn cố định, phải được xác định trước và không đổi trong suốt quá trình thực hiện chương trình.  Nên định nghĩa trước số phần tử tối đa của mảng ở đầu của chương trình Ví dụ: #define MAX 100
  4. Khai báo mảng một chiều  Cú pháp: []  Ví dụ:  int a[100]; //Khai bao mang so nguyen a gom 100 phan tu  float b[50]; //Khai bao mang so thuc b gom 50 phan tu  char str[30]; //Khai bao mang ky tu str gom 30 ky tu
  5. Khai báo và gán giá trị cho mảng  Gán từng phần tử Ví dụ: int a[5] = {3, 6, 8, 1, 12}; Giá trị 3 6 8 1 12 Vị trí 0 1 2 3 4  Gán toàn bộ phần tử có cùng giá trị Ví dụ: int a[8] = {3}; Giá trị 3 3 3 3 3 3 3 3 Vị trí 0 1 2 3 4 5 6 7
  6. Truy xuất giá trị của mảng  Cú pháp: [] Ví dụ: void main() { Vị trí số 3 int a[5] = {3, 6, 8, 11, 12}; printf(“Giá trị mảng tại vị trí 3 = %d“,a[3]); } Kết quả: Giá trị mảng tại vị trí 3 = 11
  7. Truyền mảng vào hàm  Khi một mảng được dùng như một đối số để truyền cho hàm, thì địa chỉ của mảng được truyền vào tham số hình thức.  Truyền mảng vào hàm mặc định là truyền tham chiếu.  Những thay đổi đến giá trị của các phần tử mảng trong thân hàm sẽ ảnh hưởng đến mảng gốc
  8. Các thao tác trên mảng  Nhập giá trị cho mảng  Xuất (liệt kê)  Tìm kiếm  Đếm  Sắp xếp  Kiểm tra mảng thỏa điều kiện cho trước  Tách/ ghép mảng  Chèn / xóa
  9. Nhập giá trị cho mảng  Hàm nhập mảng void NhapMang (int a[], int n) { for (int i = 0; i < n; i ++) { printf(“a[%d]=“,i); scanf(“%d”,&a[i]); } }
  10. Nhập giá trị cho mảng  Ví dụ:
  11. Tạo mảng ngẫu nhiên  Nhập mảng ngẫu nhiên  Khai báo thư viện:  #include  #include  Hàm tạo số ngẫu nhiên: srand() và rand()
  12. Tạo số ngẫu nhiên  Tạo một số ngẫu nhiên có giá trị trong khoảng [a, b]  Cú pháp: a+rand()%(b-a+1)  Ví dụ:  Tạo số ngẫu nhiên có giá trị từ 10 đến 20 10+rand()%(20-10+1)
  13. Xuất mảng  Hàm xuất mảng: void XuatMang (int a[], int n) { for (int i = 0; i < n; i ++) printf(“%d\t”,a[i]); }
  14. Nhập xuất mảng sử dụng hàm con  Chương trình chính gọi hàm xuất và nhập mảng void main ( ) { int a[MAX] , n; printf(“Nhap kich thuoc mang: “); scanf(“%d”,&n); NhapMang (a,n); printf(“Cac gia tri cua mang vua nhap: \n”); XuatMang (a,n); }
  15. Liệt kê các phần tử trong mảng  Liệt kê các phần tử thỏa điều kiện cho trước: Mẫu 1: void LietKeMau1(int a[ ], int n) { for (int i = 0; i
  16. Liệt kê các phần tử trong mảng Mẫu 2: void LietKeMau2(int a[ ], int n, int x) { for (int i = 0; i
  17. Ví dụ 1: Liệt kê các phần tử có giá trị chẵn trong mảng void LietKeChan(int a[ ], int n) { for (int i = 0; i
  18. Ví dụ 2: Chương trình nhập vào mảng một chiều số nguyên a, kích thước n. In ra các phần tử có giá trị lớn hơn x có trong mảng #define MAX 100 void NhapMang(int a[], int n); void XuatMang(int a[], int n); void LietKeLonHonX(int a[], int n, int x); void main() { int a[MAX], n, x; printf("Nhap kich thuoc mang: “); scanf(“%d”,&n); NhapMang(a, n); printf("Cac phan tu cua mang: “ ); XuatMang(a, n); printf("Nhap gia tri x: “); scanf(“%d”,&x); printf("Cac phan tu co gia tri lon hon %d “ ,x); LietKeLonHonX(a, n, x); }
  19. void LietKeLonHonX(int a[], int n, int x) { for (int i = 0; i x) printf(“%d \t”,a[i]); }
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2