CÁC ðC ðIM CA C++CÁC ðC ðIM CA C++
Chương 2
1
Các khái nim cơbn ca C++
Lp trình cu trúc trong C++
Các ñcñim mi ca C++
Ni dungNi dung
Các khái nim cơbn trong C++
Cu trúc ñiu khin
Hàm cu trúc chương trình
Con tr chui t
Tham
s
mc
nhiên
ca
hàm
Tham
s
mc
nhiên
ca
hàm
Tái ñnh nghĩa hàm
Hàm ti ch(inline)
Truyn tham s
Tham chiu
Struct
2
CácCác kháikhái nimnim cơcơbnbn
Tkhóa
Dành riêng cho ngôn ngkhông ñưcñt tên
trùng vi tkhóa.
chthưng
Vd : char, int, return, for, else, const,
Tên
Phân bit chHOA chthưng
Gmch, s, ‘_ phi btñu bng chcái.
ð dài tiña 32
Nên theo quy cách ñt tên.
Vd: x, hoten, a1, num_of_var, Delta, TEN, ...
3
Các khái nim cơ bnCác khái nim cơ bn
Kiu dliu
TênTên kiukiu KíchKích thưcthưc PhmPhm vivi
char 1 byte -128 127
unsigned char 1 byte 0 255
int 2 bytes -32768 32767
unsigned int 2 bytes 0 65535
short 2 bytes 0 65535
long 4 bytes -231 231 - 1
unsigned long 4 bytes 0 232 - 1
float 4 bytes 1.2e-38 3.4e38
double 8 bytes 2.2e-308 1.8e308
4
Các khái nim cơ bnCác khái nim cơ bn
Bin
Khai báo: bt kvtrí nào trong chương trình
Kh!i to: có thva khai báo và kh!i to
Vd: int x=5, y=10;
for(
int
i
=0, tong =0 ;
i
<10 ;
i
++)
for(
int
i
=0, tong =0 ;
i
<10 ;
i
++)
tong +=i ;
Bin khai báo trong 1 khi lnh: ch" phm vi
hotñng trong khi lnh ñó.
Vd: if( delta >0 ) {
float x1= (-b + sqrt(delta)) / (2*a);
float x2= (-b - sqrt(delta)) / (2*a);
...
}5
Các khái nim cơ bnCác khái nim cơ bn
Bin
Bin toàn c#c: có tác d#ng trong toàn bCT.
Binña phương (c#c b): ch" tác d#ng trong
phm vi ca nó.
Vd
:
int
so = 5;
Vd
:
int
so = 5;
void GanSo(int x) {
so = x;
}
int NuaSo(int x) {
int c = 2;
int so = x/c ;
return so;
}
6
Các khái nim cơ bnCác khái nim cơ bn
Hng
Khai báo: Vd: #define MAX 100
const int MAX=100;
Mt shng quan tr$ng :
S
nguyên
:
10 ,
-
5, 300000, 1000L, ...
S
nguyên
:
10 ,
-
5, 300000, 1000L, ...
Sthc : 3.1416, .5 , 123E-5, ...
t: char ch1 = ‘A’ , ch2=97;
Chui t:
char *str=“Chuoi Ky Tu”;
char chuoi[50]; strcpy(chuoi,“ ”);
if ( strcmp(chuoi,“”)==0)
cout << “Chuoi rong”; 7
Các khái nim cơ bnCác khái nim cơ bn
Kiu: Chuynñi kiu :
Mc nhiên (t ñng) :
float x = 3.1416;
int y = x ; float sole = x - y;
Do
ngưi
lp
trình
s%
d#ng
:
Do
ngưi
lp
trình
s%
d#ng
:
pháp: ( ( KiuKiu ) ) biubiu thcthc
hocKiuKiu ( ( biubiu thcthc ))
Vd:int a=10, b=3;
float c1 = a / b ;
float c2 = float (a/b);
float c3 = (float) a / b ;
float c4 = float (a)/b; 8
Các khái nim cơ bnCác khái nim cơ bn
Các phép toán
Sh$c: + , - , * , / , %
Lun : ==, !=, >, <, >=, <=, &&, ||, !
Gán : =
Ly
kích
thưc
:
Ly
kích
thưc
:
sizeof (ñi tưng dliu )
ðiu kin: e1 ? e2 : e3
Lyña ch": &(bin)
Tăng gim : x++ , x-- , ++x , --x
tong+= i ; tich *= i;
/= , %= , -= , &= , |= , ^=
9
Các khái nim cơ bnCác khái nim cơ bn
Mng
Khai báo: <<KiuKiu> <> <TênTên mngmng> [<> [<KíchKích thưcthưc>];>];
Vd: int m[10]; float ds[MAX];
Th'tphn t%: t0 ñn (kích thưc -1)
Vd
:
Vd
:
//CT tính tng ca 10 sFibonacci ñu tiên
long a[10]; a[0] = a[1] = 1;
for (int i = 2; i < 10 ; i++)
a[i] = a[i-1] + a[i-2];
long tong = 0;
for(i=0 ; i<10 ; i++)
tong += a[i]; 10
Các khái nim cơ bnCác khái nim cơ bn
Chú thích
Trên 1 dòng: //chú thích trên 1 dòng
Trên nhiu dòng: /*
chú thích trên nhiu dòng
*/
Các chthtin biên dch:
#define #undefine #include
#if #else #endif
#if #elif #else #endif
#ifdef #else #endif
#ifndef #else #endif
#error 11
Các khái nim cơ bnCác khái nim cơ bn
Nhp xut
Thưvin hàm : #include <iostream.h>
Nhp: cincin >> >> BinBin
Xut: coutcout << (<< (BiuBiu thcthc))
Các
kiu
d
liu
th
nhp
xut
:
Các
kiu
d
liu
có
th
nhp
xut
:
char , int, unsigned, long, unsigned long, …
float, double, char* , char []
(void*): lyña ch ñu ca chui
thnhp xut liên t#c trên mt dòng.
Vd:
cout << “Gia tri x = “ << x << “ , y = “ <<y;
cout << “Nhap n = “; cin >> n; 12
Các khái nim cơ bnCác khái nim cơ bn
Nhp xut
Mt shàm ñnh dng toàn c#c:
cin.width(n)
cout.width(n)
t ñc bit : \n, \t, \0, \b, \r
ðnh dng khác: endl, ends, flush, …
13
Các khái nim cơ bnCác khái nim cơ bn
Cu trúc 1 chương trình ñơn gin
14
Cu trúc ñiu khinCu trúc ñiu khin
Tun t
Câu lnh: vit trên mt hay nhiu dòng
Khi lnh:
dãy các lnh vit trong cp{ }
Tương
ñương
vi
1
câu
lnh
Tương
ñương
vi
1
u
lnh
Giá trca biu thcñiu kin
Bng 0 : <=> SAI
Khác 0 : <=> ñúng
Vd: int x=0;
if(x==2)
cout<< “ x bang 2 “;
else
cout<< “ x khac 2 “; 15
Cu trúc ñiu khinCu trúc ñiu khin
Rnhánh
if (biu thc)
Lnh 1;
else
Lnh
2;
Lnh
2;
switch (biu thc) {
case ‘giá tr1’ :Lnh 1; ... [ break; ]
case ‘giá tr2’ :Lnh 2; ... [ break; ]
...
case ‘giá trn’ :Lnh n; ... [ break; ]
default : Lnh n+1;
}16
Cu trúc ñiu khinCu trúc ñiu khin
Lp
while (biu thc)
Lnh ;
do
do
Lnh ;
while (biu thc);
for ( e1 ; e2 ; e3 )
Lnh;
e1 : biu th'c kh!i to
e2 : biu th'cñiu kin
e3 : biu th'c lp17
Cu trúc ñiu khinCu trúc ñiu khin
Tkhóa break
Thoát ra khi cu trúc switch
Thoát ra khi vòng lp : while, do while, for
Tkhóa
continue
:Tr!v ñu vòng lp
Lnh nhygoto
Dùng chung vinhãn lnh
Không nên s%d#ng s(phá v!cu trúc CT
Ưuñim : thoát khi các vòng lp lng sâu
18
Hàm và cu trúc chương trìnhHàm và cu trúc chương trình
Hàm - pháp :
<Kiu trv> <Tên hàm> (Danh sách kiu tham s)
{[ Khai báo dliu cc b]
[ Thân hàm ]
[
Câu
lnh
return
]
[
Câu
lnh
return
]
}
Vd: int Max ( int x, int y) {
int somax;
somax = (x>y) ? x : y;
return somax;
}
19
Hàm và cu trúc chương trìnhHàm và cu trúc chương trình
Hàm - Khai báo prototype :
<Kiu trv> <Tên hàm> ( Danh sách kiu );
Vd: int Max ( int , int );
int Min ( int , int );
void
main() {
Khai báo hàm
void
main() {
int a =10 , b =5;
cout<<“So max= “<< Max(a,b)<<endl;
cout<<“So min= “<< Min(a,b)<<endl;
}
int Max (int x , int y) { ... }
int Min (int x , int y) { ... }
20
ðnh nghĩa
hàm