Bài giảng Lập trình hướng đối tượng - Nguyễn Thị Điệu - Chương 1: Các phần tử cơ bản của ngôn ngữ C++
1.1. Giới thiệu về ngôn ngữ C++
1.2. Các phần tử cơ bản của ngôn ngữ C++
1.3. Cấutrúc chung của một chươngtrình C++
Tóm tắt nội dung Bài giảng Lập trình hướng đối tượng - Nguyễn Thị Điệu - Chương 1: Các phần tử cơ bản của ngôn ngữ C++, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Giảng viên: Nguyễn Thị Điệu P. 504 Khoa CNTT-ĐH Chu Vĕn An 1 LẬP TRÌNH HѬӞNG ĐỐI TѬỢNG Chѭơng 1. Các phần tử cơ bản của ngôn ngữ C++ 2 1.1. Giới thiệu về ngôn ngữ C++ 1.2. Các phần tử cơ bản của ngôn ngữ C++ 1.3. Cấu trúc chung của một chương trình C++ 1.1.Giӟi thiệu về ngôn ngữ C++ 3 1.1.1. Lịch sử phát triển của ngôn ngữ C++ 1.1.2. Tại sao ngôn ngữ C++ thông dụng? 1.1.3.Trình biên dịch Borland C++ 3.1 hoặc 5.02 1.1.4. Trình biên dịch Visual C++ 6.0, Dev-C++ 1.1.1. Lịch sử phát triển của ngôn ngữ C++ 4 Nĕm 1973 ngôn ngữ lập trình C ra đời với mục đích ban đầu là để viết hệ điều hành Unix trên máy tính mini PDP. Sau đó C đã được sử dụng rộng rãi trên nhiều loại máy tính khác nhau và đã trở thành một ngôn ngữ lập trình có cấu trúc rất được ưa chuộng. Để đưa tư tưởng lập trình hướng đối tượng vào C, nĕm 1980 nhà khoa học người Mỹ B. Stroustrup đã cho ra đời một ngôn ngữ C mới có tên ban đầu là “C có lớp”, sau đó đến nĕm 1983 thì gọi là C++. Ngôn ngữ C++ là một sự phát triển cao của C. Trong C++ không chỉ đưa vào tất cả các khái niệm, công cụ của lập trình hướng đối tượng mà còn đưa vào nhiều khả nĕng mới cho hàm. 1.1.2. Tại sao ngôn ngữ C++ thông dụng? 5 Mặc dù tư tưởng lập trình hướng đối tượng đã được đưa vào nhiều ngôn ngữ lập trình nhưng C++ vẫn là ngôn ngữ lập trình hướng đối tượng thông dụng bởi vì: C++ là ngôn ngữ kế thừa và mở rộng từ ngôn ngữ C (một ngôn ngữ cấu trúc rất được ưa chuộng). Vì có sự kế thừa nên tất cả các chương trình viết trên C đều chạy được trên C++. C++ có những đặc điểm tốt hơn C Quản lý tên hàm đã được mở rộng thông qua cơ chế chồng hàm function overloading. 1.1.2. Tại sao ngôn ngữ C++ thông dụng? 6 Tư tưởng phân vùng các biến namespaces cho phép quản lý các biến được tốt hơn. Tính hiệu quả Các phần mềm xây dựng trở nên dễ hiểu hơn Hiệu quả sử dụng của các thư viện Khả nĕng sử dụng lại mã thông qua templates Quản lý lỗi Cho phép xây dựng các phần mềm lớn hơn 1.1.3. Trình biên dịch Borland C++ 3.1 7 Là một chương trình biên dịch các chương trình C++ viết trên DOS và cả trên Windows. Borland C++ 3.1 là phần mềm của hãng Borland (Mỹ). Việc sử dụng Borland C++ 3.1 trên DOS giống như Turbo Pascal 7.0. Tất cả các thao tác mở, đóng tệp, soạn thảo chương trình, biên dịch và chạy thử chương trình giống như Turbo Pascal. 1.1.4. Trình biên dịch Visual C++ 6.0 8 Là một chương trình biên dịch các chương trình C++ viết trên DOS và cả trên Windows. Visual C++ 6.0 là phần mềm của hãng Microsoft, được tích hợp trong bộ công cụ lập trình Visual Studio 6.0. Để sử dụng Visual C++ 6.0 cho DOS, tạo một project kiểu Win32 console application. 1.2. Các phần tử cơ bản của ngôn ngữ C++ 9 1.2.1. Bộ ký tự 1.2.2. Từ khoá 1.2.3. Các tên tự đặt 1.2.4. Các tên chuẩn 1.2.5. Dấu chấm phẩy 1.2.6. Lời chú thích 1.2.1. Bӝ ký tự của ngôn ngữ C++ 10 Mọi ngôn ngữ lập trình đều được xậy dựng trên một bộ ký tự nào đó. Các ký tự được ghép lại với nhau để tạo thành các từ. Các từ lại được liết kết với nhau theo một quy tắc nào đó để tạo thành các câu lệnh. Một chương trình bao gồm nhiều câu lệnh diễn đạt một thuật toán để giải một bài toán nào đó. Bộ ký tự của ngôn ngữ C++ gồm có các ký tự sau: 26 chữ cái hoa: A, B,C,…Z và 26 chữ cái thường: a…z 10 chữ số: 0, 1, 2,…, 9 Các ký hiệu toán học: + - * / = ) ( 1.2.1. Bӝ ký tự của ngôn ngữ C++ 11 Ký tự gạch nối _ Các dấu chấm câu và các ký tự đặc biệt khác: . , ; : [] ? ! \ & | % # $ …. Dấu cách là một khoảng trống dùng để ngĕn cách giữa các từ. Chú ý: Khi viết chương trình ta không được sử dụng các ký tự không có trong tập ký tự trên. 1.2.2. Từ khoá 12 Từ khoá là những từ của riêng C++. Chúng thường được sử dụng để khai báo các kiểu dữ liệu, để viết các toán tử và các câu lệnh. Các từ khoá của C++ gồm có: asm _asm __asm auto break case cdecl _cdecl __cdecl char class const continue _cs __cs default delete do double _ds __ds else enum _es __es _export __export extern far _far 1.2.2. Từ khoá (tiếp) 13 Các từ khoá của C++ (tiếp): __far _fastcall __fastcall float for friend goto huge _huge __huge if inline int interrupt _interrupt __interrupt _loadds __loadds long near _near __near new operator pascal _pascal __pascal private protected public register return _saveregs __saveregs _seg __seg short signed sizeof _ss __ss static struct switch template this typedef union unsigned virtual void volatile while 1.2.3. Các tên tự đặt 14 Tên dùng để xác định các đại lượng khác nhau trong chương trình như tên hằng, tên biến, tên hàm, tên con trỏ, tên cấu trúc, tên tệp, tên nhãn,… Tên là một dãy ký tự có thể là chữ cái, chữ số hoặc dấu gạch nối song ký tự đầu tiên phải là chữ cái hoặc dấu gạch nối. Tên không được đặt trùng với từ khoá. Một số ví dụ về tên đặt sai: 3XYZ_7 R#3 F(x) Case Al pha 1.2.4. Tên chuẩn 15 Tên chuẩn là các tên đã được đặt trình biên dịch đặt. Tên chuẩn có thể là tên hằng, tên các hàm. Ghi nhớ: Các từ khoá, tên tự đặt, tên chuẩn: phân biệt chữ hoa chữ thường, nghĩa là viết hoa, viết thường là khác nhau. Ví dụ: Tên AB khác với tên ab Riêng từ khoá, tên chuẩn: luôn luôn dùng chữ thường. 1.2.5. Dấu chấm phẩy 16 Dấu chấm được dùng để ngĕn cách giữa các câu lệnh. Dấu chấm phẩy thường đặt ở cuối câu lệnh và không thể thiếu được. Ví dụ: float x; x = 10.5; x = 2*x – 2.5; 1.2.6. Lời giải thích 17 Lời giải thích làm cho chương trình dễ hiểu, dễ đọc. Lời giải thích có thể đặt bất kỳ đâu trong chương trình nhưng phải đặt trong cặp /* */ hoặc đặt sau // Dùng /* và */ khi lời giải thích nằm trên nhiều dòng, dùng // khi lời giải thích nằm trên một dòng. 1.3. Cấu trúc chung của mӝt chѭơng trình C++ 18 //Khai báo sử dụng thư viện chương trình con, thư viện lớp #include ……. //Mô tả lớp đối tượng (nếu có) ……. //Khai báo các hàm (chương trình con) (nếu có) ……. void main() { //Khai báo các biến, hằng, kiểu dữ liệu, đối tượng ……. Thân chương trình //Các lệnh của chương trình …….. } //Định nghĩa các hàm …….. Tương đương với BEGIN trong PASCAL Tương đương với END trong PASCAL Tương đương với USES trong PASCAL 19 Q&A? Giảng viên: Nguyễn Thị Điệu P.504 Khoa CNTT – ĐH Chu Vĕn An 1 LẬP TRÌNH HѬӞNG ĐӔI TѬỢNG Chѭơng 2. Các kiểu dữ liệu cơ bản trong C++ 2 I. Khái niệm về kiểu dữ liệu 1. Khái niệm về kiểu dữ liệu 2. Các kiểu dữ liệu trong C++ II. Các kiểu dữ liệu cơ bản 1. Kiểu ký tự 2. Kiểu số nguyên 3. Kiểu số thực (số dấu phẩy động) 1. Khái niệm về kiểu dữ liệu 3 Một kiểu dữ liệu là một tập giá trị trên đó xác định một số phép toán. Các kiểu dữ liệu trong C++ gồm có Các kiểu dữ liệu cơ bản Kiểu ký tự Kiểu số nguyên Kiểu số thực (số dấu phẩy động) Các kiểu dữ liệu có cấu trúc Kiểu mảng Kiểu xâu ký tự Kiểu cấu trúc Kiểu tệp Kiểu do người lập trình định nghĩa: Kiểu liệt kê Kiểu con trỏ II. Các kiểu dữ liệu cơ bản 4 1. Kiểu ký tự 2. Kiểu số nguyên 3. Kiểu số thực (kiểu số phẩy động) 1. Kiểu ký tự 5 Kiểu ký tự được C++ định nghĩa với tên là char, gồm 256 ký tự trong bảng mã ASCII. Kiểu ký tự có kích thước 1 byte. Hằng ký tự là một ký tự cụ thể đặt giữa 2 dấu phẩy trên (‘ ’). Ví dụ: ’A’, ’b’, ’9’ Một số hằng ký tự điều khiển: ’\n’ New line, đặt con trỏ màn hình xuống đầu dòng tiếp theo ’\t’ Tab ’\b’ Backspace ’\r’ Carriage return, đưa con trỏ màn hình về đầu dòng 1. Kiểu ký tự (tiếp) 6 Hằng xâu ký tự là một dãy ký tự đặt giữa hai dấu nháy kép. Ví dụ: ”Nhap vao mot so” Kiểu ký tự có thể được dùng như kiểu số nguyên với các tên sau: char: có giá trị -128 +127 unsigned char: có giá trị 0 +255 Tất cả các ký tự đều lưu trữ trong bộ nhớ dưới dạng số là mã ASCII của ký tự đó. 2. Kiểu sӕ nguyên 7 Kiểu số nguyên được C++ định nghĩa với nhiều tên, được chia thành hai nhóm: kiểu số nguyên có dấu và kiểu số nguyên không dấu. Kiểu số nguyên có dấu gồm có: Tên kiểu Kích thѭӟc Khoảng giá trị short 2 byte -32768 +32767 int 2 hoặc 4 byte -32768 +32767 long 4 byte -231 + 231 - 1 2. Kiểu sӕ nguyên (tiếp) 8 Kiểu số nguyên không dấu gồm có: Các hằng số nguyên viết bình thường Ví dụ: -45 2056 345 Chú ý: Các hằng số nguyên vượt ra ngoài khoảng của int được xem là hằng long Tên kiểu Kích thѭӟc Khoảng giá trị unsigned short 2 byte 0 65535 unsigned int hoặc unsigned 2 hoặc 4 byte 0 65535 unsigned long 4 byte 0 232 -1 3. Kiểu sӕ thực 9 Kiểu số thực được C++ định nghĩa với nhiều tên khác nhau: Khoảng giá trị của mỗi kiểu số thực trên là giá trị tuyệt đối của số thực mà có thể lưu trữ trên máy. Giá trị nào có giá trị tuyệt đối nhỏ hơn cận dưới được xem như bằng 0. Tên kiểu Kích thѭӟc Khoảng giá trị Đӝ chính xác float 4 byte 3.4E-383.4E38 7-8 chữ số double 8 byte 1.7E-3081.7E308 15-16 chữ số long double 10 byte 3.4E-49321.1E4932 18-18 chữ số 3. Kiểu sӕ thực (tiếp) 1 0 Hằng số thực có 2 cách viết: Dạng thập phân: gồm có phần nguyên, dấu chấm thập phân và phần thập phân. Ví dụ: 34.75 -124.25 Dạng mũ (dạng khoa học): gồm phần trị và phần mũ của cơ số 10, phần trị có thể là một số nguyên hoặc thực, phần mũ là một số nguyên âm hoặc dương. Hai phần cách nhau bởi chữ e hoặc E. Ví dụ: 125.34E-3 là số 125.34x10-3 = 0.12534 0.12E3 là số 0.12x103 = 120 1E3 là số 103 = 1000
File đính kèm:
- Bài giảng Lập trình hướng đối tượng - Nguyễn Thị Điệu - Chương 1 Các phần tử cơ bản của ngôn ngữ C++.pdf