Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
2,27 MB
Nội dung
&& VC VC BB BB TIN HỌC CƠ SỞ MẢNG VÀ XÂU KÝ TỰ ThS Nguyễn Mạnh Sơn Khoa: Công nghệ thông tin Email: nguyenmanhson@gmail.com 11/26/17 && VC VC BB BB Nội dung Khái niệm Khai báo Truy xuất liệu kiểu mảng Một số toán mảng chiều && VC VC BB BB Đặt vấn đề Ví dụ Chương trình cần lưu trữ số nguyên? => Khai báo biến int a1, a2, a3; Chương trình cần lưu trữ 100 số nguyên? => Khai báo 100 biến kiểu số nguyên! Người dùng muốn nhập n số nguyên? => Không thực được! Giải pháp Kiểu liệu cho phép lưu trữ dãy số nguyên dễ dàng truy xuất && VC VC BB BB Dữ liệu kiểu mảng Khái niệm Là kiểu liệu có cấu trúc người lập trình định nghĩa Biểu diễn dãy biến có kiểu Ví dụ: dãy số nguyên, dãy ký tự… Kích thước xác định khai báo không thay đổi NNLT C định khối nhớ liên tục cho biến kiểu mảng && VC VC BB BB Khai báo biến mảng Cú pháp: []; [][]…[]; , …, : số lượng phần tử chiều Lưu ý Phải xác định cụ thể (hằng) khai báo Mảng nhiều chiều: = N1*N2*…*Nn Bộ nhớ sử dụng = *sizeof() Bộ nhớ sử dụng phải 64KB (65535 Bytes) Một dãy liên tục có số từ đến -1 && VC VC BB BB Khai báo biến mảng Ví dụ int Mang1Chieu[10]; 9 Mang1Chieu int Mang2Chieu[3][4]; 10 11 Mang2Chieu && VC VC BB BB Số phần tử mảng Phải xác định cụ thể số phần tử lúc khai báo, không sử dụng biến thường int n1 = 10; int a[n1]; const int n2 = 20; int b[n2]; Nên sử dụng thị tiền xử lý #define để định nghĩa số phần tử mảng #define n1 10 #define n2 20 int a[n1]; int b[n1][n2]; // int a[10]; // int b[10][20]; && VC VC BB BB Khởi tạo giá trị cho mảng lúc khai báo Gồm cách sau Khởi tạo giá trị cho phần tử mảng int a[4] = {2912, 1706, 1506, 1904}; a 2912 1706 1506 1904 Khởi tạo giá trị cho số phần tử đầu mảng int a[4] = {2912, 1706}; a 2912 1706 0 && VC VC BB BB Khởi tạo giá trị cho mảng lúc khai báo Gồm cách sau Khởi tạo giá trị cho phần tử mảng int a[4] = {0}; a 0 0 Tự động xác định số lượng phần tử int a[] = {2912, 1706, 1506, 1904}; a 2912 1706 1506 1904 && VC VC BB BB Truy xuất đến phần tử Thông qua số [][]…[] Ví dụ Cho mảng sau int a[4]; Các truy xuất • Hợp lệ: a[0], a[1], a[2], a[3] • Khơng hợp lệ: a[-1], a[4], a[5], … Cho kết thường không mong muốn! && VC VC BB BB Chuỗi ký tự - Nhập Nhập chuỗi char *gets(char *s); Ví dụ: void main() { char chuoi[80]; printf("Nhap vao chuoi:"); gets(chuoi); printf("Chuoi vua nhap la: %s\n", chuoi); } && VC VC BB BB Chuỗi ký tự - Xuất Xuất chuỗi int puts(const char *s); Ví dụ: void main() { char chuoi[] = “Dai hoc Nha Trang\n"; puts(chuoi); } Lưu ý: Cách truy xuất ký tự tương tự mảng chiều && VC VC BB BB Ví dụ Nhập vào chuỗi ký tự, xuất hình chuỗi bị đảo ngược thứ tự ký tự #include #include #include void DaoChuoi(char s1[], char s2[]) { int l=strlen(s1); for(int i=0; i