Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Quang Hải Bằng
lượt xem 3
download
Bài giảng "Kỹ thuật lập trình - Chương 2: Đặc điểm của C++" cung cấp cho người học các kiến thứ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++. Mời các bạn cùng tham khảo nội dung chi tiết.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Quang Hải Bằng
- 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: > < > [< []; >]; 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 > ðối số } (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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kỹ thuật lập trình - Phạm Thế Bảo
0 p | 220 | 32
-
Bài giảng Kỹ thuật lập trình: Chương I - Lưu Hồng Việt
48 p | 194 | 23
-
Bài giảng Kỹ thuật lập trình: Chương IV - Lưu Hồng Việt
32 p | 151 | 17
-
Bài giảng Kỹ thuật lập trình: Chương III - Lưu Hồng Việt
51 p | 148 | 15
-
Bài giảng Kỹ thuật lập trình: Chương V - Lưu Hồng Việt
19 p | 128 | 15
-
Bài giảng Kỹ thuật lập trình: Phần 1 - ĐH CNTT&TT
37 p | 114 | 10
-
Bài giảng Kỹ thuật lập trình - Bài 1: Tổng quan về kỹ thuật lập trình
65 p | 165 | 8
-
Bài giảng Kỹ thuật lập trình: Bài 1 - Phạm Đình Sắc
9 p | 130 | 7
-
Bài giảng Kỹ thuật lập trình nâng cao: Chương 4 - ThS. Dương Thành Phết
26 p | 93 | 7
-
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 p | 15 | 4
-
Bài giảng Kỹ thuật lập trình: Chương 1 - Trần Quang
39 p | 8 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Quang
25 p | 10 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 3 - Trần Quang
52 p | 10 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 4 - Trần Quang
32 p | 7 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 6 - Trần Quang
37 p | 11 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 7 - Trần Quang
28 p | 7 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 8 - Trần Quang
34 p | 8 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 9 - Trần Quang
33 p | 4 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn