Bài giảng Tin học đại cương (Phần 3) - Chương 5: Mảng và xâu ký tự
lượt xem 3
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài giảng Tin học đại cương (Phần 3) - Chương 5: Mảng và xâu ký tự cung cấp cho học viên những kiến thức về mảng - các thao tác cơ bản trên mảng, khai báo và sử dụng mảng, tìm kiếm trên mảng, giải thuật sắp xếp lựa chọn; con trỏ - toán tử địa chỉ, toán tử nội dung, phép toán trên con trỏ; xâu kí tự - khai báo và sử dụng xâu, các hàm xử lý kí tự;... Mời các bạn cùng tham khảo chi tiết nội dung bài giảng!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Tin học đại cương (Phần 3) - Chương 5: Mảng và xâu ký tự
- Phần III. Chương 5 Mảng và xâu ký tự GV: Nguyễn Thị Thùy Liên Email: lien.nguyenthithuy@phenikaa-uni.edu.vn 1
- Nội dung 1. Mảng 2. Con trỏ 3. Xâu kí tự 2
- Nội dung 1. Mảng 2. Con trỏ 3. Xâu kí tự 3
- 1. Mảng Các thao tác cơ bản Khai báo trên mảng Tìm kiếm và sử dụng trên mảng mạng Khái niệm Sắp xếp mảng Mảng trên mảng 4
- 1.1 Khái niệm mảng • Tập hợp hữu hạn các phần tử cùng kiểu, lưu trữ kế tiếp nhau trong bộ nhớ • Các phần tử trong mảng có cùng tên (là tên mảng) nhưng phân biệt với nhau ở chỉ số cho biết vị trí của nó trong mảng • Ví dụ: o Bảng điểm của sinh viên o Vector o Ma trận 5
- 1.2 Khai báo và sử dụng mảng •Khai báo mảng (một chiều) KieuDuLieu tenMang [kích_thước]; • Trong đó o KieuDuLieu: kiểu dữ liệu của các phần tử trong mảng o tenMang: tên của mảng o kích_thước: số phần tử trong mảng • Ví dụ int mangNguyen[10]; // khai báo mảng 10 phần tử có kiểu dữ liệu int 6
- 1.2 Khai báo và sử dụng mảng • Cấp phát bộ nhớ o Các phần tử trong mảng được cấp phát các ô nhớ kế tiếp nhau trong bộ nhớ o Biến mảng lưu trữ địa chỉ ô nhớ đầu tiên trong vùng nhớ được cấp phát • Ngôn ngữ C đánh chỉ số các phần tử trong mảng bắt đầu từ 0 o Phần tử thứ i trong mangNguyen được xác định bởi mangNguyen [i-1] 7
- 1.2 Khai báo và sử dụng mảng • Khai báo mảng nhiều chiều KieuDuLieu tenMang[size1][size2]…[sizek]; o Trong đó • sizei là kích thước chiều thứ i của mảng o Mảng một chiều và mảng nhiều chiều − Mỗi phần tử của mảng cũng là một mảnG => mảng nhiều chiều o Ví dụ − int a[6][5] ; //mảng 2 chiều − int b[3][4][5]; // mảng 3 chiều 8
- 1.2 Khai báo và sử dụng mảng •Sử dụng mảng o Truy cập vào phần tử thông qua tên mảng và chỉ số của phần tử trong mảng tenMang[chỉ_số_phần_tử] oChú ý: chỉ số bắt đầu từ 0 • Ví dụ o int a[4]; o phần tử đầu tiên (thứ nhất) của mảng: a[0] o phần tử cuối cùng (thứ tư) của mảng: a[3] o a[i]: là phần tử thứ i+1 của a 9
- 1.2 Khai báo và sử dụng mảng • Ví dụ (tiếp) – int b[3][4]; – phần tử đầu tiên của mảng: b[0] là một mảng một chiều – phần tử đầu tiên của mảng b[0]: b[0][0] – b[i][j]: là phần tử thứ j+1 của b[i], b[i] là phần tử thứ i+1 của b 10
- Khai báo hằng số có kiểu mảng •Sử dụng #define #define TEN_MANG {Giá_trị_1, Giá_trị_2,... Giá_trị_n} oLưu ý: không thể truy cập vào phần tử của mảng •Sử dụng từ khóa const const KieuDuLieu TEN_MANG[Kích_thước] = {Giá trị_1, Giá trị_2, ..., Giá_trị_n}; • Lưu ý: oNếu không khai báo Kích_thước thì kích thước của mảng là số lượng giá trị sử dụng khi khai báo oNếu số lượng giá trị nhỏ hơn Kích_thước mảng, các phần tử không được gán sẽ nhận giá trị 0 11
- Khai báo hằng số có kiểu mảng – Ví dụ •const int CONST_ARR1[5] = {1,2,3,4,5} CONST_ARR1: •const int CONST_ARR2[ ] = {1,2,3,4} CONST_ARR2: •const int CONST_ARR3[5] = {1,2,3} CONST_ARR23: 12
- 1.3 Các thao tác cơ bản trên mảng •Nhập dữ liệu cho mảng o Khởi tạo giá trị cho mảng ngay khi khai báo – int a[4] = {1,4,6,2}; – int b[2][3]={ {1,2,3}, {4,5,6} }: – Số lượng giá trị khởi tạo không được lớn hơn số lượng phần tử trong mảng – Nếu số lượng này nhỏ hơn, các phần tử còn lại được khởi tạo giá trị 0 13
- 1.3 Các thao tác cơ bản trên mảng •Nhập dữ liệu cho mảng – Có thể xác định kích thước mảng thông qua số giá trị khởi tạo nếu để trống kích thước mảng – int array1 [8] = {2, 4, 6, 8, 10, 12, 14, 16}; – int array2 [] = {2, 4, 6, 8, 10, 12, 14, 16}; 14
- 1.3 Các thao tác cơ bản trên mảng •Nhập dữ liệu cho mảng o Nhập dữ liệu từ bàn phím bằng hàm scanf – int a[10]; – Nhập dữ liệu cho a[1]: scanf(“%d”, & a[1]); – Nhập dữ liệu cho toàn bộ phần tử của mảng a => Sử dụng vòng lặp for o Lưu ý – Tên mảng là một hằng (hằng con trỏ) do đó không thể thực hiện phép toán với tên mảng như phép gán sau khi đã khai báo 15
- 1.3 Các thao tác cơ bản trên mảng #include #define MONTHS 12 int main(){ int rainfall[MONTHS], i; for ( i=0; i < MONTHS; i++ ){ printf(“Nhap vao phan tu thu %d: “, i+1); scanf("%d", &rainfall[i] ); } return 0; } 16
- 1.3 Các thao tác cơ bản trên mảng • Nhập dữ liệu cho mảng o Lưu ý – Nếu số phần tử của mảng được nhập từ bàn phím và chỉ biết trước số phần tử tối đa tối đa => khai báo mảng với kích thước tối đa và sử dụng biến lưu số phần tử thực sự của mảng. – Ví dụ: Khai báo mảng số nguyên a có tối đa 100 phần tử. Nhập từ bàn phím số phần tử trong mảng và giá trị các phần tử đó…. 17
- 1.3 Các thao tác cơ bản trên mảng #include #include int main(){ int a[100]; int n, i; do{ printf(“\n Cho biet so phan tu cua mang: “); scanf(“%d”,&n); }while (n>100||n
- 1.3 Các thao tác cơ bản trên mảng • Hiển thị dữ liệu trong mảng o Dùng hàm printf() o Để hiển thị tất cả các phần tử: dùng vòng for • Ví dụ o Hiển thị một phần tử bất kì o Hiển thị tất cả các phần tử, mỗi phần tử trên một dòng o Hiển thị tất cả các phần tử trên một dòng, cách nhau 2 vị trí o Hiển thị từng k phần tử trên một dòng 19
- 1.3 Các thao tác cơ bản trên mảng #include #define MONTHS 12 int main(){ int rainfall[MONTHS], i; for ( i=0; i < MONTHS; i++ ){ printf(“Nhap vao phan tu thu %d: “, i+1); scanf("%d", &rainfall[i] ); } for ( i=0; i < MONTHS; i++ ) printf( "%2d ” , rainfall[i]); printf("\n"); return 0; } 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Ngân hàng câu hỏi trắc nghiệm môn tin học đại cương
34 p |
657
|
110
-
Giáo trình - Tìm hiểu Microsoft Excel 2007 - Tập 2 - Lê Văn Hiếu - 4
15 p |
166
|
46
-
Bài giảng Tin học đại cương (Phần 2) - Chương 4: Phần mềm bảng tính điện tử MS Excel 2010
111 p |
39
|
9
-
Bài giảng Tin học đại cương (Phần 2) - Chương 3: Microsoft Office Word 2010
94 p |
35
|
7
-
Bài giảng Tin học đại cương (Phần 2) - Chương 5: Microsoft Office PowerPoint 2010
36 p |
31
|
7
-
Bài giảng Tin học đại cương (Phần 1) - Chương 2: Hệ thống máy tính
107 p |
39
|
5
-
Microsoft Windows PowerShell và SQL Server 2005 SMO – P5
11 p |
102
|
5
-
Bài giảng Tin học đại cương (Phần 3) - Chương 7: Tệp tin
25 p |
27
|
4
-
Bài giảng Tin học đại cương (Phần 3) - Chương 3: Vào ra dữ liệu trong C
32 p |
26
|
4
-
Bài giảng Tin học đại cương (Phần 3) - Chương 6: Hàm
27 p |
29
|
3
-
Bài giảng Tin học đại cương (Phần 3) - Chương 4: Cấu trúc điều khiển trong C
49 p |
25
|
3
-
Bài giảng Tin học đại cương (Phần 3) - Chương 2: Kiểu dữ liệu và biểu thức trong C
35 p |
21
|
3
-
Bài giảng Tin học đại cương (Phần 3) - Chương 1: Tổng quan về ngôn ngữ lập trình C
41 p |
38
|
3
-
Bài giảng Tin học đại cương (Phần 1) - Chương 1: Thông tin và biểu diễn thông tin
40 p |
18
|
3
-
Bài giảng Tin học đại cương 2: Giới thiệu môn học - Nguyễn Thị Mỹ Truyền
13 p |
46
|
2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn