intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Quang Hải Bằng

Chia sẻ: Sơn Tùng | Ngày: | Loại File: PDF | Số trang:10

63
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

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

  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: > < > [< []; >]; 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 > ðố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
  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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
8=>2