Bài giảng Hệ thống máy tính và ngôn ngữ C: Chương 11 - TS. Nguyễn Phúc Khải
lượt xem 3
download
Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 11: Mảng, được biên soạn gồm các nội dung chính sau: Khái niệm; Khai báo mảng; Khởi động trị của mảng; Mảng là đối số của hàm, mảng là biến toàn cục; Các ứng dụng. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Hệ thống máy tính và ngôn ngữ C: Chương 11 - TS. Nguyễn Phúc Khải
- om .c ng co an th o ng du u cu Company LOGO 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các nội dung: Khái niệm om .c Khai báo mảng ng Khởi động trị của mảng co Mảng là đối số của hàm, mảng là biến toàn cục an Các ứng dụng th o ng du u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 2
- KHÁI NIỆM Mảng là một biến cấu trúc trong đó có nhiều om phần tử cùng kiểu. Mỗi phần tử là một biến .c thành phần của mảng. Mỗi biến thành phần ng co này là một biến bình thường và có cước số an (subscript) để phân biệt giữa phần tử này và th phần tử kia. Như vậy, để truy xuất một phần tử o ng của mảng, ta cần biết được cước số của nó. du u Trong bộ nhớ, các phần tử của mảng được cấp cu phát ô nhớ có địa chỉ liên tiếp nhau. CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 3
- KHÁI NIỆM C cũng cho phép làm việc trên mảng một om chiều (singledimensional array) và mảng .c nhiều chiều (multidimensional array). ng co Số phần tử trên một chiều được gọi là kích an thước của chiều đó. th o ng du u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 4
- KHAI BÁO MẢNG Mảng một chiều: om .c Cú pháp khai báo mảng một chiều như sau: ng kiểu tên_mảng [kích_thước]; co Với kích_thước là một hằng số nguyên cụ thể, an th cho biết số phần tử trong chiều đang xét. ng Trong C, cước số các phần tử của mảng luôn o du đi từ 0 trở đi, nên mảng một chiều có n phần u cu tử thì cước số các phần tử của mảng là 0,..., n- 1. CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 5
- KHAI BÁO MẢNG Ví dụ: Cho khai báo sau: om .c int a[10], x; ng Như vậy mảng a có 10 phần tử co int, các phần tử đó là a[0], a[1], an …, a[9]. Các phần tử này được cấp phát vị trí trong bộ nhớ như th ng hình 12.1 sau. o du u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 6
- KHAI BÁO MẢNG Ví dụ : Viết chương trình nhập một dãy các số om nguyên, tìm số lớn nhất trong dãy số đó. .c #include ng co #include an main() { th ng int i, n, max, vtmax; o du int a[100]; u clrscr(); cu printf ("Chuong trinh thu mang \n"); CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 7
- KHAI BÁO MẢNG printf ("Moi ban nhap so phan tu cua mang: "); om scanf ("%d", &n); .c printf ("Moi nhap cac phan tu cua mang:"); ng for (i = 0; i < n; i++) co scanf ("%d", &a[i]); an th max = a[0]; vtmax = 0; ng for (i = 1; i < n; i++) o if (max < a[i]) du { max = a[i]; u cu vtmax = i; } printf ("Phan tu %d co tri lon nhat la %d\n", vtmax, max); getch() } CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 8
- KHAI BÁO MẢNG Mảng nhiều chiều: om .c Cú pháp khai báo mảng nhiều chiều như sau: ng kiểu tên_mảng [kích_thước_chiều1] co [kích_thước_chiều2] [...]; an th ng Khi dịch C báo lỗi: “Array size too large?” o du u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 9
- KHAI BÁO MẢNG Ví dụ: Khai báo mảng hai chiều a om .c int a[4][3]; ng Như vậy mảng a có 4x3 phần tử int, các phần co tử đó là: an th a[0][0] a[0][1] a[0][2] ng a[1][0] a[1][1] a[1][2] o du a[2][0] a[2][1] a[2][2] u cu a[3][0] a[3][1] a[3][2] CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 10
- KHAI BÁO MẢNG Các phần tử này được sắp om trong bộ nhớ theo thứ tự .c a[0][0], a[0][1], a[0][2], ng a[1][0], a[1][1], a[1][2], co a[2][0], a[2][1], a[2][2],.... an th o ng du u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 11
- KHAI BÁO MẢNG Ví dụ 1: Viết chương trình tạo và in ra màn om hình ma trận đơn vị cấp n .c ng co an th o ng du u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 12
- KHAI BÁO MẢNG #include om #include .c #define MAX 20 ng main() co { int i, j; an th int a[MAX][MAX]; ng int n; o clrscr(); du printf ("Chuong trinh thu mang \n"); u cu printf ("Moi ban nhap cap cua ma tran: "); scanf ("%d", &n); CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 13
- KHAI BÁO MẢNG for (i = 0; i < n; i++) om for (j = 0; j < n; j++) .c a[i][j] = (i == j); ng printf ("Ma tran duoc tao la: \n"); co for (i = 0; i < n; i++) an th { for (j = 0; j < n; j++) ng printf ("%d", a[i][j]); o printf(“\n”);} du getch () } u cu } CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 14
- KHAI BÁO MẢNG Ví dụ 2: om .c #define MAX 4 int a[MAX][MAX]; ng int n = 3;/* cấp thực sự cần làm việc của ma trận */ co int i, j; /* biến là chỉ số mảng */ an /* Nhập trị cho mảng*/ th ng for (i = 0; i < n; i++) for (j = 0; j < n; j++) scanf (“%d”, &a[i][j]); o du u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 15
- KHAI BÁO MẢNG a[0][0] a[0][1] a[0][2] a[0][3] om a[1][0] a[1][1] a[1][2] a[1][3] .c a[2][0] a[2][1] a[2][2] a[2][3] ng a[3][0] a[3][1] a[3][2] a[3][3] co an th o ng du u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 16
- KHAI BÁO MẢNG Ví dụ : om .c int a[10]; ng mà ta lại thực hiện lệnh co an for (i = 0; i
- KHAI BÁO MẢNG C không có sự phân biệt giữa một biến chuỗi om và một mảng các ký tự. Cả hai trường hợp đều .c được khai báo: ng co char tên [chiều_dài]; an th Hàm gets() cho phép nhập một chuỗi có tên để ng trong đối số hàm này. o du Hàm puts() cho phép xuất một chuỗi có tên để u cu trong đối số hàm này ra màn hình. Cả hai gets() và puts() đều có prototype nằm trong file stdio.h. CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 18
- KHAI BÁO MẢNG Bài tập: Viết chương trình truy xuất chuỗi om dùng hàm chuẩn của C. .c ng co an th o ng du u cu CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 19
- KHỞI ĐỘNG TRỊ CỦA MẢNG Khi khai báo mảng là biến toàn cục hoặc tĩnh om thì mảng có thể được khởi động trị bằng các .c giá trị hằng. ng co Ví dụ : an th int a[5] = {1, 3, 5, 7, 9}; ng int b[10] = {1, 2, 3, 4, 5}; o du Nếu số trị ít hơn số phần tử mảng thì các phần u cu tử còn lại không được khởi động trị, có nghĩa các phần tử này có trị là 0. CuuDuongThanCong.com © TS. Nguyễn Phúc Khải https://fb.com/tailieudientucntt 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ thống máy tính: Chương 5 - Nguyễn Kim Khánh
8 p | 131 | 16
-
Bài giảng Hệ thống máy tính: Chương 1 - Nguyễn Kim Khánh
9 p | 139 | 15
-
Bài giảng Hệ thống máy tính: Chương 2 - Nguyễn Kim Khánh
20 p | 133 | 15
-
Bài giảng Hệ thống máy tính - Chương 9: Lắp ráp và cài đặt máy tính
64 p | 122 | 14
-
Bài giảng Hệ thống máy tính: Chương 3 - Nguyễn Kim Khánh
14 p | 129 | 13
-
Bài giảng Hệ thống máy tính - Chương 1: Tổng quan về Kiến trúc máy tính
61 p | 205 | 13
-
Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 1: Ôn lại các kiến thức cơ bản về máy tính (GV. Nguyễn Nhật Nam)
58 p | 32 | 5
-
Bài giảng Hệ thống máy tính: Chương 2.2 - TS. Trần Thị Minh Khoa
23 p | 48 | 5
-
Bài giảng Hệ thống máy tính (Computer Systems): Chương 2 - Nguyễn Kim Khánh
80 p | 14 | 5
-
Bài giảng Hệ thống máy tính - Chương 8: Hệ thống file
16 p | 64 | 5
-
Bài giảng Hệ thống máy tính: Chương 2.1 - TS. Trần Thị Minh Khoa
30 p | 23 | 4
-
Bài giảng Hệ thống máy tính - Chương 5: Tổng quan hệ điều hành
8 p | 107 | 4
-
Bài giảng Hệ thống máy tính: Chương 6 - TS. Trần Thị Minh Khoa
119 p | 43 | 4
-
Bài giảng Hệ thống máy tính và ngôn ngữ lập trình - Chương 1: Ôn tập các kiến thức cơ bản về máy tính
39 p | 57 | 4
-
Bài giảng Hệ thống máy tính: Chương 3 - TS. Trần Thị Minh Khoa
78 p | 33 | 3
-
Bài giảng Hệ thống máy tính (Computer Systems): Chương 1 - Nguyễn Kim Khánh
68 p | 16 | 3
-
Bài giảng Hệ thống máy tính - Chương 0: Giới thiệu
7 p | 107 | 2
-
Bài giảng Hệ thống máy tính: Chương 1 - TS. Trần Thị Minh Khoa
15 p | 21 | 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