Xem mẫu

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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