Bài giảng Nhập môn về lập trình (C1) - Chương 7: Mảng (array)

pdf 8 trang Gia Huy 17/05/2022 1850
Bạn đang xem tài liệu "Bài giảng Nhập môn về lập trình (C1) - Chương 7: Mảng (array)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_nhap_mon_ve_lap_trinh_c1_chuong_7_mang_array.pdf

Nội dung text: Bài giảng Nhập môn về lập trình (C1) - Chương 7: Mảng (array)

  1. Chương 7 Mảng (array) Presenter: Nhập môn về lập trình (C7) Slide 1
  2. Learning outcomes L.O.5.1 – Khai báo được mảng các giá trị. L.O.5.2 – Mô tả được cách tổ chức bộ nhớ của các phần tử trong mảng. L.O.5.3 – Truy xuất được các phần tử của mảng và dùng nó trong biểu thức. L.O.5.4 – Hiểu được cách truyền một mảng vào hàm. Nhập môn về lập trình (C7) Slide 2
  3. Dãy một chiều Định nghĩa  Dãy (array) là kiểu dữ liệu thuộc dạng ghép và dựa vào một kiểu dữ liệu khác (kiểu cơ sở).  Dãy là một bộ gồm nhiều phần tử cùng kiểu (kiểu cơ sở), dùng chung một tên và phân biệt với nhau bởi chỉ số (index). Ví dụ : int vector[10]; định nghĩa biến dãy có 10 phần tử int (vector[0]  vector[9]). vector độ lớn = 10*4 = 40 byte vector[0] vector[9] Nhập môn về lập trình (C7) Slide 3
  4. Dãy nhiều chiều Định nghĩa  Dãy nhiều chiều là dãy có từ 2 vùng chỉ số trở lên. Ví dụ: double matran[8][8]; định nghĩa biến matran là 1 dãy gồm 8x8 phần tử kiểu double (matran[0][0], matran[0][1], . . ., matran[7][7]). matran matran[0][0] matran[0][7] độ lớn 512 byte matran[7][7] float diem[X][Y][Z]; định nghĩa biến dãy 3 chiều có X*Y*Z phần tử kiểu float dùng trong giải tích 3 chiều. Tọa độ điểm gốc diem[0][0][0]. Nhập môn về lập trình (C7) Slide 4
  5. Xử lý dãy Khởi động trịban đầu  Khởi động lúc định nghĩa: int so[5] = { 4,1,8,3,2}; sẽ gán so[0]=4, so[1]=1, so[2]=8, so[3]=3 và so[4]=2  Khởi động sử dụng hằng mảng, xem ví dụ. • Định nghĩa • Khởi động Nhập môn về lập trình (C7) Slide 5
  6. Kiểu chuỗi (string)  Trong C, thực sự không tồn tại kiểu chuỗi mà chỉ có dữ liệu chuỗi (còn gọi là chuỗi ASCIIZ, nghĩa là chuỗi liên tiếp các ký tự trong bảng mã ASCII và kết thúc bằng ký tự ‘\0’ có giá trị là 0).  Để làm việc với dữ liệu chuỗi, ta cần định nghĩa một dãy ký tự (character array) để chứa. Ví dụ : char hoten[50]  Trong C, ta không thể gán chuỗi trực tiếp mà chỉ có thể làm thông qua các hàm có sẳn trong thư viện string.lib (xem slide kế). Ví dụ : strcpy(hoten,"Kim Dung");  Ký tự trong chuỗi được xử lý như phần tử dãy Ví dụ: hoten[8]='\r‘; hoten[ i ]=hoten[ i + 4 ]; Nhập môn về lập trình (C7) Slide 6
  7. Thư viện string.lib (string.h)  Một số hàm xử lý chuỗi thường dùng strcat / strncat : nối ghép 2 chuỗi. strchr : tìm ký tự trong một chuỗi. strcmp / strncmp : so sánh 2 chuỗi. strcpy / strncpy : chép chuỗi. strlen : lấy chiều dài chuỗi (không kể ‘\0’). strstr : tìm chuỗi con trong chuỗi lớn. Nhập môn về lập trình (C7) Slide 7
  8. Truyền tham số mảng  Mảng có thể là tham số của một hàm như sau: Không có chỉ số  Gọi hàm và truyền tham số dãy: Nhập môn về lập trình (C7) Slide 8