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