Xem mẫu

  1. M ng GV. GV. Nguy n Minh Huy Nh p môn l p trình - Nguy n Minh Huy 1
  2. N i dung Khái Khái ni m m ng. ng. Thao Thao tác trên m ng. ng. Chu Chu i ký t . Nh p môn l p trình - Nguy n Minh Huy 2
  3. N i dung Khái Khái ni m m ng. ng. Thao Thao tác trên m ng. ng. Chu Chu i ký t . Nh p môn l p trình - Nguy n Minh Huy 3
  4. Khái Khái ni m m ng Xét Xét chương trình sau: sau: Nh Nh p 5 s nguyên, sau đó xu t 5 s v a nh p. nguyên, p. Khai Khai báo 5 bi n int a, b, c, d, e. bi Nh Nh p 50 s nguyên, sau đó xu t 50 s v a nh p. nguyên, p. Khai Khai báo 50 bi n int!! int!! Làm Làm sao khai báo nhi u bi n cùng lúc? lúc? M ng. ng. Nh p môn l p trình - Nguy n Minh Huy 4
  5. Khái Khái ni m m ng M ng trong ngôn ng C: M ng là m t dãy bi n có cùng ki u. u. Các Các bi n trong dãy là ph n t m ng. Khai báo: Khai báo: []; u> ng>[ : ph i là m t h ng s . int m1[10]; // Dãy 10 s nguyên. nguyên. float m2[50]; m2[50] // Dãy 50 s th c. c. int N; float m3[N]; m3[N] // Sai const int K = 100; float m4[K]; m4[K] // Đúng Nh p môn l p trình - Nguy n Minh Huy 5
  6. Khái Khái ni m m ng M ng trong ngôn ng C: Sau Sau khi khai báo, ph n t m ng có giá tr bao nhiêu? báo, nhiêu? int m[5]; m ? ? ? ? ? Kh Kh i t o giá tr m ng: ng: [] = { , , u> ng>[ }; int m1[5] = { 1, 2, 3, 4, 5 }; m1 m1 // Kh i t o t t c ph n t // 1 2 3 4 5 int m2[5] = { 1, 2 }; m2 m2 // Kh i t o vài ph n t đ u // 1 2 0 0 0 // các ph n t sau t t c = 0 các sau int m3[5] = { 0 }; m3 m3 // Kh i t o t t c = 0 // 0 0 0 0 0 int m3[ ] = { 1, 2, 3, 4, 5 }; m3 m3 // T đ ng bi t s ph n t // 1 2 3 4 5 Nh p môn l p trình - Nguy n Minh Huy 6
  7. Khái Khái ni m m ng M ng trong ngôn ng C: Truy Truy xu t ph n t m ng: ng: [ ] : m t s nguyên t 0 đ n - 1. ng>: 0 1 2 3 4 5 6 7 8 9 int a[10] = { 0 }; a 0 0 0 0 0 0 0 0 0 0 a[0] = 5; a[1] = 6; a[2] = a[0] + a[1]; a[-1] = 7; // Sai a[10] = 8; // Sai Nh p môn l p trình - Nguy n Minh Huy 7
  8. Khái Khái ni m m ng M ng trong ngôn ng C: Truy Truy n tham s m ng: ng: Khai Khai báo tham s m ng gi ng bi n m ng. void foo( int a[100] ); foo( int Khai Khai báo tham s m ng có th b s ph n t . void foo( int a[ ] ); foo( int Ph Ph n t m ng có th b thay đ i sau khi ra kh i hàm. hàm. void foo( int a[ ] ) foo( int void main() { { a[2] = 9; int a[100] = { 0 }; a[5] = 8; } foo(a); foo(a); // a[2], a[5] b thay đ i. i. } Nh p môn l p trình - Nguy n Minh Huy 8
  9. N i dung Khái Khái ni m m ng. ng. Thao Thao tác trên m ng. ng. Chu Chu i ký t . Nh p môn l p trình - Nguy n Minh Huy 9
  10. Thao Thao tác trên m ng Cách Cách th c chung: chung: B1: B1: Duy t m ng. ng. Dùng Dùng vòng l p + bi n đ m. bi M i vòng l p xét xét m t ph n t . B2: B2: Thao tác trên t ng ph n t . Dùng Dùng bi n đ m truy xu t ph n t . // Duy t m ng M có kích thư c N. for (int i = 0; i < N; i++) { ; M[ } Nh p môn l p trình - Nguy n Minh Huy 10
  11. Thao Thao tác trên m ng Nh Nh p m ng: ng: #define MAX 100 // Nh p m ng s nguyên a, kích thư c n void nhapMang( int a[ ], int &n ) nhapMang void main() { { printf(“Nhap printf(“Nhap kich thuoc = “); int a[MAX], size1; scanf(“%d”, &n scanf(“%d”, &n); int b[MAX], size2; for (int i = 0; i < n; i++) nhapMang(a, size1); { nhapMang(b, size2); printf(“Nhap printf(“Nhap phan tu %d = “, i); } scanf(“%d”, &a[ scanf(“%d”, &a[ i ]); } } Nh p môn l p trình - Nguy n Minh Huy 11
  12. Thao Thao tác trên m ng Xu Xu t m ng: ng: #define MAX 100 // Xu t m ng s nguyên a, kích thư c n void xuatMang( int a[ ], int &n ) xuatMang void main() { { for (int i = 0; i < n; i++) int a[MAX], size1; printf(“%d a[ printf(“%d “, a[ i ]); int b[MAX], size2; } nhapMang(a, nhapMang(a, size1); nhapMang(b, nhapMang(b, size2); xuatMang(a, size1); xuatMang(b, size2); } Nh p môn l p trình - Nguy n Minh Huy 12
  13. Thao Thao tác trên m ng Tính Tính t ng ph n t m ng: ng: #define MAX 100 // Tính t ng m ng a, kích thư c n long tinhTong( int a[ ], int &n ) tinhTong void main() { { long tong = 0; int a[MAX], size1; int b[MAX], size2; for (int i = 0; i < n; i++) tong += a[ i ]; a[ nhapMang(a, nhapMang(a, size1); nhapMang(b, nhapMang(b, size2); return tong; } long tong1 = tinhTong(a, size1); tinhTong long tong2 = tinhTong(b, size2); tinhTong } Nh p môn l p trình - Nguy n Minh Huy 13
  14. N i dung Khái Khái ni m m ng. ng. Thao Thao tác trên m ng. ng. Chu Chu i ký t . Nh p môn l p trình - Nguy n Minh Huy 14
  15. Chu Chu i ký t Chu Chu i ký t trong C: Chu Chu i ký t = m ng ký t + ph n t cu i ‘\0’. ph Chi Chi u dài chu i = s ph n t m ng – 1; Khai Khai báo chu i: i: char [ + 1 ]; i> i> 0 1 2 34 char s1[5]; s1[5] s1 s1 ? ? ? ? \0 Kh Kh i t o chu i: char [ ] = “”; “” 0 1 2 3 45 char s2[ ] = “Hello”; s2[ s1 s1 H // Kh i t o chu i // e l l o \0 Nh p môn l p trình - Nguy n Minh Huy 15
  16. Chu Chu i ký t Thao Thao tác trên chu i ký t : #define MAX 100 Nh Nh p chu i: i: scanf scanf(“%s”, &chuoi). void main() { Ch Ch nh p t đ u tiên. tiên. char s1[MAX]; gets(chuoi); gets(chuoi); char s2[MAX]; Nh Nh p nguyên chu i. i. printf(“Nhap printf(“Nhap chuoi s1 = “); Xu Xu t chu i: i: scanf(“%s”, scanf(“%s”, &s1); printf(“%s”, chuoi). printf(“%s”, chuoi). printf(“Nhap printf(“Nhap chuoi s2 = “); puts( puts(chuoi). gets(s); printf( printf(“Chuoi s1 = %s”, s1); %s s1) puts(s2); } Nh p môn l p trình - Nguy n Minh Huy 16
  17. Chu Chu i ký t Thao Thao tác trên chu i ký t : Thư Thư vi n : string.h>: strlen strlen(chuoi): đ m chi u dài chu i. char s1[ ] = “Hello World”; s1[ char s2[ ] = “Hello World\n”; s2[ World char s3[ ] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘ ‘, ‘W’, ‘o’, ‘r’, ‘l’, ‘d’, ‘\n’, ‘\0’ }; s3[ ‘\ ‘ int chieuDai1 = strlen(s1); strlen(s1) // chieuDai1 = 11 int chieuDai2 = strlen(s2); strlen(s2) // chieuDai2 = 12 int chieuDai3 = strlen(s3); strlen // chieuDai3 = 12 Nh p môn l p trình - Nguy n Minh Huy 17
  18. Chu Chu i ký t Thao Thao tác trên chu i ký t : Vi Vi t hoa ch cái đ u m i t : #include #define MAX 100 void vietHoa( char s[ ] ) vietHoa( s[ void main() { { for (int i = 0; i < strlen(s); i++) (int strlen(s) char s[MAX]; if ( s[ i ] >= ‘A’ && s[ i ]
  19. Tóm Tóm t t Khái Khái ni m m ng: ng: Dãy Dãy bi n cùng ki u. u. Các Các bi n trong dãy là ph n t m ng. Thao Thao tác trên m ng: ng: Thao Thao tác chung: duy t + thao tác t ng ph n t . chung: Chu Chu i ký t : M ng ký t k t thúc b ng ‘\0’. Nh Nh p xu t: printf, scanf, gets, puts. t: printf, scanf, Đ m chi u dài: strlen (thư vi n ). dài: string.h>). Nh p môn l p trình - Nguy n Minh Huy 19
  20. Bài Bài t p Bài Bài t p 7.1: Vi t chương trình C (t ch c theo d ng hàm và chia làm nhi u file): (t - Nh p vào m ng N s nguyên. - Hãy cho bi t: t: a) Có bao nhiêu s ch n trong m ng. ng. b) Có bao nhiêu s âm trong m ng. ng. c) Có bao nhiêu s nguyên t trong m ng. ng. Nh p môn l p trình - Nguy n Minh Huy 20
nguon tai.lieu . vn