Xem mẫu
- M ng
GV.
GV. Nguy n Minh Huy
Nh p môn l p trình - Nguy n Minh Huy 1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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 ]
- 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
- 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