Xem mẫu

Nội dung Chương 2 CÁC ðẶC ðIỂM CỦA C++ • Các khái niệm cơ bản của C++ • Lập trình cấu trúc trong C++ • Các ñặc ñiểm mới của C++ • Các khái niệm cơ bản trong C++ • Cấu trúc ñiều khiển • Hàm và cấu trúc chương trình • Con trỏ và chuỗi ký tự • Tham số mặc nhiên của hàm • Tái ñịnh nghĩa hàm • Hàm tại chổ (inline) • Truyền tham số • 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 – Dành riêng cho ngôn ngữ không ñược ñặt tên trùng với từ khóa. • Kiểu dữ liệu 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, static • Tên unsigned char 1 byte int 2 bytes unsigned int 2 bytes 0255 -32768 32767 0 65535 – Phân biệt chữ HOA và chữ thường – Gồm chữ, số, ‘_’ và phải bắt ñầu bằng chữ cái. – ðộ dài tối ña là 32 – Nên theo quy cách ñặt tên. short 2 bytes long 4 bytes unsigned long 4 bytes float 4 bytes 0 65535 -231 231 - 1 0232 - 1 1.2e-38 3.4e38 Vd: x, hoten, a1, num_of_var, Delta, TEN, ... double 8 bytes 2.2e-308 1.8e308 4 Các khái niệm cơ bản Các khái niệm cơ bản • Biến – Khai báo: bất kỳ vị trí nào trong chương trình – Khởi tạo: có thể vừa khai báo và khởi tạo Vd: int x=5, y=10; for( int i=0, tong =0 ; i<10 ; i++) tong +=i ; – Biến khai báo trong 1 khối lệnh: chỉ có phạm vi hoạt ñộng trong khối lệnh ñó. Vd: if( delta >0 ) { float x1= (-b + sqrt(delta)) / (2*a); float x2= (-b - sqrt(delta)) / (2*a); ... } 5 • Biến – Biến toàn cục: có tác dụng trong toàn bộ CT. – Biến ñịa phương (cục bộ): chỉ có tác dụng trong phạm vi của nó. 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 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; – Một số hằng quan trọng : float x = 3.1416; int y = x ; float sole = x - y; • Số nguyên: 10 , -5, 300000, 1000L, ... • Số thực : 3.1416, .5 , 123E-5, ... • Ký tự : char ch1 = ‘A’ , ch2=97; • Chuỗi ký tự: char *str=“Chuoi Ky Tu”; char chuoi[50]; strcpy(chuoi,“ ”); if ( strcmp(chuoi,“”)==0) cout << “Chuoi rong”; 7 – Do người lập trình sử dụng : Cú pháp: ( Kiểu ) biểu thức hoặc Kiểu ( biểu thức ) 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 niệm cơ bản Các khái niệm cơ bản • Các phép toán – Số học: + , - , * , / , % – Luận lý: ==, !=, >, <, >=, <=, &&, ||, ! – Gán : = – Lấy kích thước: sizeof (ñối tượng dữ liệu ) – ðiều kiện : e1 ? e2 : e3 – Lấy ñịa chỉ : &(biến) • Mảng – Khai báo: []; Vd: int m[10]; float ds[MAX]; – Thứ tự phần tử: từ 0 ñến (kích thước -1) Vd: //CT tính tổng của 10 số Fibonacci ñầu tiên long a[10]; a[0] = a[1] = 1; for (int i = 2; i < 10 ; i++) – Tăng giảm : x++ , x-- , ++x , --x a[i] = a[i-1] + a[i-2]; tong+= i ; tich *= i; long tong = 0; /= , %= , -= , &= , |= , ^= 9 Các khái niệm cơ bản for(i=0 ; i<10 ; i++) tong += a[i]; 10 Các khái niệm cơ bản • Chú thích – Trên 1 dòng: //chú thích trên 1 dòng • Nhập xuất – Thư viện hàm : #include – Trên nhiều dòng: /* chú thích trên nhiều dòng */ • Các chỉ thị tiền biên dịch: – Nhập : cin >> Biến – Xuất : cout << (Biểu thức) – Các kiểu dữ liệu có thể nhập xuất : char , int, unsigned, long, unsigned long, … #define #undefine #include float, double, char* , char [] #if #else #endif (void*): lấy ñịa chỉ ñầu của chuỗi #if #elif #ifdef #else #ifndef #else #error #else #endif #endif #endif 11 – Có thể nhập xuất liên tục trên một dòng. Vd: cout << “Gia tri x = “ << x << “ , y = “ <> n; 12 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ự – Câu lệnh: viết trên một hay nhiều dòng – Khối lệnh: • Rẽ nhánh – if (biểu thức) 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 • Giá trị của biểu thức ñiều kiện Lệnh 2; – switch (biểu thức) { – Bằng 0 : <=> SAI – Khác 0 : <=> ñúng Vd: int x=0; if(x==2) cout<< “ x bang 2 “; else cout<< “ x khac 2 “; 15 case ‘giá trị 1’ : Lệnh 1; ... [ break; ] case ‘giá trị 2’ : Lệnh 2; ... [ break; ] ... case ‘giá trị n’ : Lệnh n; ... [ break; ] default : Lệnh n+1; } 16 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 ; while (biểu thức); • Lệnh nhảy goto – 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; e1 : biểu thức khởi tạo e2 : biểu thức ñiều kiện e3 : biểu thức lặp 17 – Ưu ñiểm : thoát khỏi các vòng lặp lồng sâu 18 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 : (Danh sách kiểu và tham số) • Hàm - Khai báo prototype : ( Danh sách kiểu ); { [ Khai báo dữ liệu cục bộ ] [ Thân hàm ] [ Câu lệnh return ] } Vd: int Max ( int x, int y) { int somax; somax = (x>y) ? x : y; return somax; } Vd: ðịnh nghĩa hàm int Max ( int , int ); int Min ( int , int ); void main() { int a =10 , b =5; cout<<“So max= “<< Max(a,b)< nguon tai.lieu . vn