intTypePromotion=1
ADSENSE

Bài giảng Lập trình C++: Chương 4 - GV. Nguyễn Văn Hùng

Chia sẻ: Minh Minh | Ngày: | Loại File: PDF | Số trang:49

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

Các kiến thức về Mảng và Chuỗi ký tự như: khái niệm, cách khai báo, cách truy xuất tới từng phần tử mảng được trình bày trong bài giảng Lập trình C++ - Chương 4: Mảng và chuỗi ký tự 2/44 dưới đây. Mời bạn đọc cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình C++: Chương 4 - GV. Nguyễn Văn Hùng

  1. LẬP TRÌNH C++ (3 Tín chỉ) Gv: Nguyễn Văn Hùng Khoa: Khoa học máy tính Ngôn ngữ lập trình C++ 1/41 1/54
  2. CHƯƠNG 4: MẢNG VÀ CHUỖI KÝ TỰ  Mục tiêu  Giới thiệu các kiến thức về Mảng và Chuỗi ký tự như: khái niệm, cách khai báo, cách truy xuất tới từng phần tử mảng.  Nội dung  Khái niệm mảng  Mảng một chiều  Mảng hai chiều  Chuỗi ký tự Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 2/44
  3. 4.1 Kiểu mảng  Khái niệm - Mảng là tập hợp hữu hạn các phần tử liên tiếp nhau có cùng kiểu dữ liệu, cùng tên và được truy cập thông qua chỉ số mảng. - Trong đó kiểu dữ liệu có thể là các kiểu dữ liệu cơ bản: int, char, float, … hoặc các kiểu dữ liệu có cấu trúc như: kiểu mảng, kiểu cấu trúc, kiểu con trỏ, …  Phân loại mảng - Mảng một chiều - Mảng nhiều chiều Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 3/44
  4. 4.2 Mảng một chiều 1. Khai báo  Khai cập phần số phần tử 2. Truybáo mảng vớitử mảng xác định  pháp: Kiểu Tên mảng[Số phần xác Cú Khai báo mảng với số phần tử không tử]; định Trong đó: Ví dụ: int a[10]; - này, là kiểu dữ liệu của các phần tử mảng Lúc Kiểu máy sẽ dành một dãy liên tiếp các ô nhớ, mỗi ô nhớ có kích thước 2 bytes dùng để lưu một phần tử mảng và được đánh số - Tên mảng được đặt theo quy tắc đặt tên trong C++ bắt đầu từ 0 đến 9 (Số phần tử - 1). - Số phần tử là một hằng số nguyên hoặc một biểu thức mà giá trị của nó là một hằng số nguyên. a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 4/44
  5. 4.2 Mảng một chiều  Khai báo mảng với số phần tử xác định Có thể vừa khai báo vừa gán giá trị cho mảng theo cú pháp sau: Kiểu Tên mảng[Số phần tử] = {Các giá trị cần gán }; Ví dụ: float Sothuc[5]= {2.3, 1.5, 0.34, 5.04, 7.213}; Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 5/44
  6. 4.2 Mảng một chiều  Khai báo mảng với số phần tử xác định Ví dụ: Kiểm tra tính đúng/sai của các khai báo mảng sau: 1. char Kytu[4+6]; Trường hợp ? 2. float 10Sothuc[10]; không biết chính 3. double b[2.3]; xác số phần tử 4. int c[5] = {3.15, 7, 0.55, 2.75, 9}; của mảng 5. float d[10] = {2.3, 5, 4.6, 5.5, 7.21}; 6. int e[5] = {1, 2, 3, 4, 5, 6, 7}; Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 6/44
  7. 4.2 Mảng một chiều 1. Khai báo  Khai báo mảng với số phần tử không xác định Kiểu khai báo này được sử dụng khi ta không biết chính xác số phần tử của mảng. Và được áp dụng trong các trường hợp: • Vừa khai báo vừa gán giá trị cho mảng • Khai báo mảng là tham số hình thức của hàm Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 7/44
  8. 4.2 Mảng một chiều  Khai báo mảng với số phần tử không xác định • Vừa khai báo vừa gán giá trị cho mảng Cú pháp: Kiểu Tên mảng[] ={Các giá trị cần gán }; Ví dụ: int b[] = {2, 5, 3, -4, 7, 6}; char Ten[] = "Lap trinh"; char Kytu[] = {'H', 'E', 'L','L', 'O'}; Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 8/44
  9. 4.2 Mảng một chiều  Khai báo mảng với số phần tử không xác định • Khai báo mảng là tham số hình thức của hàm Ví dụ: Định nghĩa hàm sắp xếp mảng số nguyên a: int Sapxep(int a[], int n) { thân hàm } Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 9/44
  10. 4.2 Mảng một chiều  Khai báo mảng với số phần tử không xác định Ví dụ: Xét 2 cách khai báo sau: int a[5] = {1, 2, 3, 4, 5}; int b[] = {1, 2, 3, 4, 5}; Làm thế nào để xác định số phần tử của mảng? => Có thể sử dụng hàm sizeof() để lấy số phần tử mảng sizeof(Tên mảng)/ sizeof(Kiểu) Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 10/44
  11. 4.2 Mảng một chiều 2. Truy cập phần tử mảng - Tên mảng Mỗi phần tử mảng được truy cập thông qua - Chỉ số đặt trong Ten_mang [Chi_so] cặp dấu [ ] Ví dụ 4.7: Ta có khai báo int a[50]; Chỉ số (vị trí) 0 1 2 ..………… 49 Tên mảng: a ………….. a[0] a[1] a[2] a[49] Phần tử: Thứ nhất Thứ hai Thứ ba Cuối cùng Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 11/44
  12. 4.2 Mảng một chiều 2. Truy cập phần tử mảng Với cách truy cập này, Tên mảng[Chỉ số] giống như một biến có kiểu dữ liệu là kiểu dữ liệu của mảng. => Thao tác nhập/xuất với từng phần tử mảng cũng giống như với một biến Ví dụ 1: Ta có khai báo mảng và gán giá trị như sau: int a[3]; a[0] = 4; a[1] = 45; a[2] = 65; cout
  13. 4.2 Mảng một chiều 2. Truy cập phần tử mảng Ví dụ 2: Khai báo mảng số thực gồm 10 phần tử. Nhập các giá trị vào cho các phần tử mảng sau đó hiển thị ra màn hình các giá trị vừa nhập. float a[10]; couta[0]; couta[1]; couta[2]; …. Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 13/44
  14. 4.2 Mảng một chiều 2. Truy cập phần tử mảng float a[10]; cout
  15. 4.2 Mảng một chiều Lưu ý: - C++ là ngôn ngữ không hỗ trợ cơ chế kiểm tra biên; có nghĩa là nếu truy cập vào phần tử mảng mà chỉ số mảng nhỏ hơn 0 hoặc lớn hơn so_phan_tu – 1 thì chương trình vẫn không bị lỗi. Ví dụ: đoạn chương trình sau không bị lỗi int a[10], i; for (i=0; i
  16. 4.2 Mảng một chiều Bài tập 1: Khai báo mảng số nguyên gồm 20 phần tử. Nhập giá trị vào cho các phần tử mảng sau đó in ra các giá trị vừa nhập. Bài tập 2: Viết chương trình nhập giá trị vào cho các phần tử mảng số thực gồm n phần tử (với n nguyên dương được nhập vào từ bàn phím). Sau đó, tính và in ra tổng giá trị của các phần tử mảng. Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 16/44
  17. 4.3 Mảng hai chiều 1. Khái niệm Mảng hai chiều là mảng trong đó kiểu phần tử của mảng là kiểu mảng. 2. Khai báo - Khai báo mảng với số phần tử xác định - Khai báo mảng với số phần tử không xác định Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 17/44
  18. 4.3 Mảng hai chiều - Khai báo mảng với số phần tử xác định Cú pháp: Kiểu_dl Tên_mảng[số_ptử_chiều_1] [số_ptử_chiều_2]; Trong đó: Kiểu_dl: có thể là các kiểu dữ liệu cơ bản hoặc kiểu dữ liệu có cấu trúc Số_ptử_chiều_1, Số_ptử_chiều_2: là hằng số nguyên hoặc biểu thức mà kết quả trả về là hằng số nguyên. Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 18/44
  19. 4.3 Mảng hai chiều - Khai báo mảng với số phần tử xác định Ví dụ: Ta có khai báo mảng 2 chiều gồm 3 hàng, 4 cột lưu trữ các số nguyên như sau: int SoNguyen[3][4]; Lúc này, mày sẽ cấp phát vùng nhớ để lưu trữ mảng như sau: Cột 1 Cột 4 Hàng 1,chỉ số 0 Hàng 2, chỉ số 1 Hàng 3,chỉ số 2 Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 19/44
  20. 4.3 Mảng hai chiều - Khai báo mảng với số phần tử xác định Ta có thể vừa khai báo vừa gán giá trị cho phần tử mảng. Cú pháp: Kiểu_dl Tên_mảng[số_pt_chiều_1][số_pt_chiều_2] = {các giá trị cần gán}; Ví dụ: Ta có khai báo double A[2][3] = {{2.45, 3.33, 1.07},{9.0, 6.57, -4.03}}; Ngôn ngữ lập trình C++ Chương 4: Mảng và chuỗi ký tự 20/44
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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