Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 49 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
49
Dung lượng
777,44 KB
Nội dung
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/54 1/41 CHƯƠNG 4: MẢNG VÀ CHUỖI KÝ TỰ Mục tiêu Giới thiệu kiến thức Mảng Chuỗi ký tự như: khái niệm, cách khai báo, cách truy xuất tới phần tử mảng Nội dung Khái niệm mảng Mảng chiều Mảng hai chiều Chuỗi ký tự Ngôn ngữ lập trình C++ Chương 4: Mảng chuỗi ký tự 2/44 4.1 Kiểu mảng Khái niệm - Mảng tập hợp hữu hạn phần tử liên tiếp có kiểu liệu, tên truy cập thông qua số mảng - Trong kiểu liệu kiểu liệu bản: int, char, float, … kiểu liệu có cấu trúc như: kiểu mảng, kiểu cấu trúc, kiểu trỏ, … Phân loại mảng - Mảng chiều - Mảng nhiều chiều Ngôn ngữ lập trình C++ Chương 4: Mảng chuỗi ký tự 3/44 4.2 Mảng chiều Khai báo Truy Khai báo vớitử số mảng phần tử xác định cậpmảng phần Cú Khai pháp:báo mảng với phần tử không xác định Kiểu Tênsốmảng[Số phần tử]; Trong Ví dụ: đó: int a[10]; - Kiểu kiểu liệu cácliên phần mảng Lúc này, máy dành dãy tiếptửcác ô nhớ, ô nhớ có kích thước bytes dùng để lưu phần tử mảng đánh số - Tên mảng đặt theo quy tắc đặt tên C++ đến (Số phần tử - 1) - Số phần tử số nguyên biểu thức mà giá trị 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 chuỗi ký tự 4/44 4.2 Mảng 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 chuỗi ký tự 5/44 4.2 Mảng 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 khai báo mảng sau: char Kytu[4+6]; Trường hợp float 10Sothuc[10]; double b[2.3]; xác số phần tử mảng int c[5] = {3.15, 7, 0.55, 2.75, 9}; ? float d[10] = {2.3, 5, 4.6, 5.5, 7.21}; int e[5] = {1, 2, 3, 4, 5, 6, 7}; Ngôn ngữ lập trình C++ Chương 4: Mảng chuỗi ký tự 6/44 4.2 Mảng chiều Khai báo Khai báo mảng với số phần tử không xác định Kiểu khai báo sử dụng ta xác số phần tử mảng Và áp dụng trường hợp: • Vừa khai báo vừa gán giá trị cho mảng • Khai báo mảng tham số hình thức hàm Ngôn ngữ lập trình C++ Chương 4: Mảng chuỗi ký tự 7/44 4.2 Mảng 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: Ví dụ: int Kiểu Tên mảng[] ={Các giá trị cần gán }; 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 chuỗi ký tự 8/44 4.2 Mảng chiều Khai báo mảng với số phần tử không xác định • Khai báo mảng tham số hình thức hàm Ví dụ: Định nghĩa hàm 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 chuỗi ký tự 9/44 4.2 Mảng chiều Khai báo mảng với số phần tử không xác định Ví dụ: Xét cách khai báo sau: int a[5] = {1, 2, 3, 4, 5}; int b[] = {1, 2, 3, 4, 5}; Làm để xác định số phần tử 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 chuỗi ký tự 10/44 4.4 Chuỗi ký tự Ngoài chuỗi khai báo từ khóa string Cú pháp: string string biến_chuỗi; biến_chuỗi = giá trị; Ví dụ: string sv1, sv2="le van a"; sv1="le van b"; cout[...]... 1"sv1; cout ... strncpy(st1, st2) - C c ghép xâu: strcat(), strncat() Ngôn ngữ lập trình C+ + Chương 4: Mảng chuỗi ký tự 37 /44 Hàm strcpy strncpy C pháp: strcpy(chuỗi đích, chuỗi nguồn) strncpy(chuỗi đích, chuỗi... 2"sv2; cout