Xem mẫu
- N i dung
• Các khái ni m cơ b n trong C++
Chương 2 • C u trúc ñi u khi n
• Hàm và c u trúc chương trình
CÁC ð C ðI M C A C++ • Con tr và chu i ký t
• Tham s m c nhiên c a hàm
• Tái ñ nh nghĩa hàm
• Các khái ni m cơ b n c a C++ • Hàm t i ch (inline)
• L p trình c u trúc trong C++ • Truy n tham s
• Các ñ c ñi m m i c a C++
• Tham chi u
• Struct
1 2
Các khái ni m cơ b n Các khái ni m cơ b n
• T khóa • Ki u d li u
– Dành riêng cho ngôn ng không ñư c ñ t tên
trùng v i t khóa. Tên ki u Kích thư c Ph m vi
– Là ch thư ng char 1 byte -128 127
Vd : char, int, return, for, else, const, unsigned char 1 byte 0 255
static
int 2 bytes -32768 32767
• Tên unsigned int 2 bytes 0 65535
– Phân bi t ch HOA và ch thư ng short 2 bytes 0 65535
31 31
– G m ch , s , ‘_’ và ph i b t ñ u b ng ch cái. long 4 bytes -2 2 -1
32
– ð dài t i ña là 32 unsigned long 4 bytes 0 2 -1
-38 38
– Nên theo quy cách ñ t tên. float 4 bytes 1.2e 3.4e
-308 308
Vd: x, hoten, a1, num_of_var, Delta, TEN, ...
3
double 8 bytes 2.2e 1.8e 4
- Các khái ni m cơ b n Các khái ni m cơ b n
• Bi n • Bi n
– Khai báo: b t kỳ v trí nào trong chương trình – Bi n toàn c c: có tác d ng trong toàn b CT.
– Kh i t o: có th v a khai báo và kh i t o – Bi n ñ a phương (c c b ): ch có tác d ng trong
Vd: int x=5, y=10; ph m vi c a nó.
for( int i=0, tong =0 ; i0 ) {
int c = 2;
float x1= (-b + sqrt(delta)) / (2*a);
int so = x/c ;
float x2= (-b - sqrt(delta)) / (2*a);
... return so;
} }
5 6
Các khái ni m cơ b n Các khái ni m cơ b n
• H ng • Ki u: Chuy n ñ i ki u :
– Khai báo: Vd: #define MAX 100 – M c nhiên (t ñ ng) :
const int MAX=100; float x = 3.1416;
– M t s h ng quan tr ng : int y = x ; float sole = x - y;
• S nguyên: 10 , -5, 300000, 1000L, ... – Do ngư i l p trình s d ng :
• S th c : 3.1416, .5 , 123E-5, ... Cú pháp: ( Ki u ) bi u th c
• Ký t : char ch1 = ‘A’ , ch2=97; ho c Ki u ( bi u th c )
• Chu i ký t : Vd: int a=10, b=3;
char *str=“Chuoi Ky Tu”; float c1 = a / b ;
char chuoi[50]; strcpy(chuoi,“ ”); float c2 = float (a/b);
if ( strcmp(chuoi,“”)==0) float c3 = (float) a / b ;
cout
- Các khái ni m cơ b n Các khái ni m cơ b n
• Các phép toán • M ng
– S h c: + , - , * , / , % – Khai báo: [];
u> [];
Vd: int m[10]; float ds[MAX];
– Lu n lý: ==, !=, >, =, Bi n
chú thích trên nhi u dòng – Xu t : cout
- Các khái ni m cơ b n Các khái ni m cơ b n
• Nh p xu t • C u trúc 1 chương trình ñơn gi n
– M t s hàm ñ nh d ng toàn c c:
• cin.width(n)
• cout.width(n)
– Ký t ñ c bi t : \n, \t, \0, \b, \r
– ð nh d ng khác: endl, ends, flush, …
13 14
C u trúc ñi u khi n C u trúc ñi u khi n
• Tu n t • R nhánh
– Câu l nh: vi t trên m t hay nhi u dòng – if (bi u th c)
– Kh i l nh: L nh 1;
• Là dãy các l nh vi t trong c p { } else
• Tương ñương v i 1 câu l nh L nh 2;
• Giá tr c a bi u th c ñi u ki n – switch (bi u th c) {
– B ng 0 : SAI case ‘giá tr 1’ : L nh 1; ... [ break; ]
– Khác 0 : ñúng case ‘giá tr 2’ : L nh 2; ... [ break; ]
Vd: int x=0; ...
if(x==2) case ‘giá tr n’ : L nh n; ... [ break; ]
cout
- C u trúc ñi u khi n C u trúc ñi u khi n
• L p • T khóa break
– while (bi u th c) – Thoát ra kh i c u trúc switch
L nh ; – Thoát ra kh i vòng l p : while, do while, for
– do • T khóa continue: Tr v ñ u vòng l p
L nh ;
• L nh nh y goto
while (bi u th c);
– Dùng chung v i nhãn l nh
– for ( e1 ; e2 ; e3 ) – Không nên s d ng vì s phá v c u trúc CT
L nh; – Ưu ñi m : thoát kh i các vòng l p l ng sâu
e1 : bi u th c kh i t o
e2 : bi u th c ñi u ki n
17 18
e3 : bi u th c l p
Hàm và c u trúc chương trình Hàm và c u trúc chương trình
• Hàm - Cú pháp : • Hàm - Khai báo prototype :
(Danh sách ki u và tham s ) ( Danh sách ki u );
{ [ Khai báo d li u c c b ] Vd: int Max ( int , int );
[ Thân hàm ] Khai báo hàm
int Min ( int , int );
[ Câu l nh return ] void main() {
} int a =10 , b =5;
Vd: int Max ( int x, int y) { cout
- Hàm và c u trúc chương trình Hàm và c u trúc chương trình
• C u trúc chương trình
• Hàm – Chương trình theo d ng l p trình c u trúc g m
– Cách g i : t p h p nhi u hàm ñ c l p nhau.
Tên hàm(tham s theo th t t trái sang) – Hàm main() là hàm th c thi.
– Tham s và ñ i s : Tham s – M t chương trình ch có th có 1 hàm main() duy
int Max ( int x, int y) {
(hình th c) nh t.
if(x>y) return x; – D ng chung :
return y; #include < Thư vi n hàm >
ð is
} (Tham s th c t ) Khai báo prototype;
void main() {
Khai báo d li u toàn c c.
int a =10 , b = 5;
cout
- Con tr Con tr
• Con tr và m ng Phân bi t m ng con tr và con tr ñ n m ng
– Con tr là 1 m ng ñ ng => kích thư c có th thay ñ i.
– M ng như là 1 con tr nhưng ñ l n vùng nh c ñ nh.
Cách s d ng m ng và con tr g n như gi ng nhau
C p vùng nh
v añ
cho con tr
Con tr ñ n 1 m ng
Thu h i l i vùng 10 ph n t ki u int
nh
M ng g m 10 con tr
25 26
Tham s m c nhiên
• Khái ni m
– Gán các giá tr m c nhiên cho các tham s c a hàm.
• Ưu ñi m
– Không c n ph i hi u rõ ý nghĩa t t c các tham s .
– Có th gi m ñư c s lư ng hàm c n ñ nh nghĩa.
• Khai báo tham s m c nhiên
– T t c các tham s m c nhiên ñ u ph i ñ t cu i hàm.
– Ch c n ñưa vào khai báo, không c n trong ñ nh nghĩa.
• G i hàm có tham s m c nhiên
– N u cung c p ñ tham s => dùng tham s truy n vào.
– N u không ñ tham s => dùng tham s m c nhiên
27 28
- Tham s m c nhiên Tham s m c nhiên
• Ví d Hàm th hi n 1 c a s thông báo trong Visual C++ • Ví d
MessageBox( LPCTSTR lpszText,
LPCTSTR lpszCaption = NULL, void Ham1 (int a=0, int b=1) {
UINT nType = MB_OK ) cout
- Tái ñ nh nghĩa hàm Hàm inline
Vd • Gi m th i gian th c thi chương trình.
int F (int a=0, int b=1) • Tăng kích thư c c a mã l nh th c thi.
{ … } • Ch nên ñ nh nghĩa inline khi hàm có kích thư c nh .
float F (float a=5, float b=9) • Cú pháp : thêm t khóa inline vào trư c hàm.
{ … } VD: inline float sqr(float x) {
void main() { return (x*x);
int x1=1, y1=2; }
float x2=3, y2=4; inline int Max(int a, int b) {
long x3=5, y3=6; return ((a>b) ? a : b) ;
cout
- Struct Struct
• Khái ni m • Bi n ki u struct :
Struct là 1 d ng c u trúc d li u mà b n thân có th ch a SinhVien a, b, ds1[20], *ds2;
nhi u lo i d li u có ki u khác nhau. • Truy xu t các thành ph n c a struct :
• Khai báo cin >> a.masosv;
cout hoten = new char[50];
namsinh 2 bytes
diemtb 4 bytes • Gán struct :
SinhVien c = a;
SinhVien a;
• Con tr struct :
SinhVien *ds= new SinhVien[100];
37 38
Bài t p
• Vi t struct cho qu n lý kho hàng hóa (t n kho) g m các
thông tin tên hàng,
» Tên hàng
» S lư ng,
• Khi nh p hàng s cho bi t tên hàng,
» s lư ng,
• Khi xu t s ch n hàng có trong kho
» s lư ng bán
39 40
nguon tai.lieu . vn