NGÔN NGỮ LẬP TRÌNH C HCMC University of Technology and Education Số tiết : 45 tiết Biên soạn : ThS . Trương Ngọc Hà BÀI GIẢNG MÔN HỌC :
NỘI DUNG MÔN HỌC CHƯƠNG 1: GIỚI THIỆU CHƯƠNG 2: LỆNH RẼ NHÁNH CÓ ĐIỀU KIỆN CHƯƠNG 3: LỆNH VÒNG LẶP CHƯƠNG 4: MẢNG VÀ CHUỖI CHƯƠNG 5: CON TRỎ CHƯƠNG 6: HÀM CHƯƠNG 7: KIỂU CẤU TRÚC
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.1 Mảng 4.2 Chuỗi và mảng chuỗi
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.1 Mảng 4.1.1. Mảng 1 chiều Cú pháp 1: kiểu dư ̃ liệu tên mảng [ sô ́ phần tư ̉]; Ví dụ 4.1a: int a[10]; Mỗi phần tử trong mảng có kiểu int
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.1 Mảng 4.1.1. Mảng 1 chiều Cú pháp 2: kiểu dư ̃ liệu tên mảng [ sô ́ phần tư ̉]= { gia ́ trị}; Ví dụ 4.2: int a[10] = {5,7,9};
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.1 Mảng 4.1.1. Mảng 1 chiều Cú pháp 3: kiểu dư ̃ liệu tên mảng [ ] = { gia ́ trị}; Ví dụ 4.3: int a[] = {5,7,9,3,4,6,8,1,2,5};
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.1 Mảng 4.1.1. Mảng 1 chiều Các thao tác cơ bản trên mảng 1 chiều : Nhập gia ́ trị cho các phần tư ̉ mảng : Ví dụ 4.4: Nhập giá trị cho mảng từ bàn phím int a[10], i ; for ( i =0; i <10; i ++) { printf (“ nhap phan tu thu : %d”, i ); scanf (“%d”, &a[ i ]); }
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.1 Mảng 4.1.1. Mảng 1 chiều Các thao tác cơ bản trên mảng 1 chiều : Xuất gia ́ trị các phần tư ̉ mảng : Ví dụ 4.5: Xuất ra màn hình các giá trị của một mảng cho trước int a[5]={1,2,3}; for ( i =0; i <5; i ++) { printf (“%d”, a[ i ]); }
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.1 Mảng 4.1.1. Mảng 1 chiều : Ví dụ 4.5a: Tìm giá trị lớn nhất trong một mảng cho trước và in ra giá trị này : int a[6]={1,7,9,6,8,2}; int max, i ; max = a[0]; for ( i =1; i <6; i ++) { if(max < a[ i ]) max = a[ i ]; } printf ( “ gia tri lon nhat la %d”, max);
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.1 Mảng 4.1.1. Mảng 1 chiều: Ví dụ 4.5b: Tìm phần tử nhỏ nhất trong mảng int a[6]={1,7,9,6,8,2}; int max, i , j; max = a[0]; for ( i =1; i <6; i ++) { if(max < a[ i ]) { max = a[ i ]; j= i ; } } printf ("phan tu lon nhat mang la a[%d] ", j); printf (“\ ngia tri cua a[%d] la %d”, j,max );
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.1 Mảng 4.1.2. Mảng 2 chiều Khai báo : Cú pháp : kiểu dư ̃ liệu tên mảng [ sô ́ hàng ][ sô ́ cột ]; Ví dụ 4.8: int a[5][10]; Mỗi phần tử trong mảng có kiểu int
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.1 Mảng 4.1.2. Mảng 2 chiều Ví dụ 4.9a: Gán giá trị cho các phần tử trong mảng : Gán đầy đủ các giá trị cho các phần tử : int b[ 2 ][ 2 ] = { { 1, 2 }, { 3, 4 } }; Như vậy ta sẽ được các giá trị của từng phần tử mảng hai chiều như sau : b[0][0]=1 b[0][1]=2 b[1][0]=3 b[1][1]=4
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.1 Mảng 4.1.2. Mảng 2 chiều Ví dụ 4.9b: Gán các giá trị cho các phần tử trong mảng cách 2: int a1[ 2 ][ 3 ] = { 1, 2, 3, 4, 5 }; Khi đó kết quả các phần tử của mảng này sẽ là : a1[0][0]=1 a1[0][1]=2 a1[0][2]=3 a1[1][0]=4 a1[1][1]=5 a1[1][2]=0
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.1 Mảng 4.1.2. Mảng 2 chiều Các thao tác cơ bản trên mảng 2 chiều : Nhập gia ́ trị cho mảng : Ví dụ 4.10: int a[5][10]; int i , j; for ( i =0; i <5; i ++) for(j=0; j<10; j++ ) { printf (“ Nhap phan tu %d %d”, i , j); scanf (“%d”, &a[ i ][j]) ; }
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.1 Mảng 4.1.2. Mảng 2 chiều Các thao tác cơ bản trên mảng 2 chiều : Thứ tự nhập dữ liệu vào mảng 2 chiều:
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.1 Mảng 4.1.2. Mảng 2 chiều Các thao tác cơ bản trên mảng 2 chiều : In gia ́ trị các phần tử mảng ra màn hình : Ví dụ 4.11: int a[3][2]={{1,2},{2,3},{3,4}}; int i,j ; for ( i =0;i<3;i++) { for(j= 0;j < 2;j ++) printf (“%d”, a[ i ][j ]); printf (“\n ”); }
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.2 Chuỗi và mảng chuỗi 4.2.1. Chuỗi Khai báo chuỗi : Cú pháp 1: char tên chuỗi [ sô ́ phần tư ̉]; Ví dụ 4.13: char s[10]; Mỗi phần tử trong chuỗi có kiểu char
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.2 Chuỗi và mảng chuỗi 4.2.1. Chuỗi Khai báo chuỗi : Cú pháp 2: char tên chuỗi []= “ Nội dung”; Ví dụ 4.14: char s[] = “ HelloDTVT ”; Mỗi phần tử trong chuỗi có kiểu char
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.2 Chuỗi và mảng chuỗi 4.2.1. Chuỗi : Xuất , nhập chuỗi Hàm nhập chuỗi : gets ( biến chuỗi ); Hàm xuất chuỗi : puts ( biến chuỗi ); Các thao tác trên từng phần tư ̉ của chuỗi Tương tư ̣ như thao tác trên từng phần tư ̉ mảng 1 chiều
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.2 Chuỗi và mảng chuỗi 4.2.2. Mảng chuỗi Khai báo mảng chuỗi : Cú pháp 1: char tên mảng chuỗi [ sô ́ hàng ][ sô ́ cột ]; Ví dụ 4.15: char s[5][10]: Mỗi phần tử trong mảng chuỗi có kiểu char
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.2 Chuỗi và mảng chuỗi 4.2.2. Mảng chuỗi Khai báo mảng chuỗi : Cú pháp 2: char tên mảng chuỗi [ sô ́ hàng ][ sô ́ cột ]= {“ nội dung”}; Ví dụ 4.16: char s[5][10]={“Mot”, “Hai”, “Ba”, “Bon”, “Nam”}: Mỗi phần tử trong mảng chuỗi có kiểu char
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.2 Chuỗi và mảng chuỗi 4.2.2. Mảng chuỗi : Các thao tác trên mảng chuỗi Thao tác trên từng hàng : Mỗi hàng được xem làm một chuỗi , việc thao tác trên từng hàng tương tư ̣ như thao tác trên từng chuỗi Ví dụ 4.17 : char s[5][10]; int i ; for ( i =0;i<5;i++) { puts (“ Nhap chuoi ”); gets (s[ i ]); }
CHƯƠNG 4: MẢNG VÀ CHUỖI 4.2 Chuỗi và mảng chuỗi 4.2.2. Mảng chuỗi : Các thao tác trên mảng chuỗi Thao tác trên từng phần tư ̉ : mỗi phần tư ̉ trong mảng chuỗi có kiểu char, việc thao tác trên từng phần tư ̉ mảng chuỗi tương tư ̣ như thao tác trên từng phần tư ̉ mảng 2 chiều . Ví dụ 4.18: char s[5][10]={“Mot”, “Hai”, “Ba”, “Bon”, “Nam”}; for ( i = 0; i < 5; i ++) for (j=0; j <10; j++ ) printf (“% c”,s [ i ][j]);
TÀI LIỆU THAM KHẢO Deitel , “C: How to Program”, Bài giảng : Ngôn ngữ lập trình C
THÔNG TIN LIÊN LẠC Trương Ngọc Hà : Phone Number: 0903698741 Email : [email protected]