Bài giảng Nguyên lý lập trình hướng đối tượng: Bài 1 Giới thiệu ngôn ngữ lập trình C++, cung cấp cho người học những kiến thức như: Giới thiệu C++; Biến, Biểu thức, Lệnh gán; Xuất nhập dữ liệu; Phong cách lập trình; Thư viện và Không gian tên. Mời các bạn cùng tham khảo!
NGUYÊN LÝ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bài 1: Giới thiệu ngơn ngữ lập trình C++ Giảng viên: TS Lý Anh Tuấn Email: tuanla@tlu.edu.vn Nội dung Giới thiệu C++ Biến, Biểu thức, Lệnh gán Xuất nhập liệu Phong cách lập trình Thư viện Không gian tên Giới thiệu C++ Nguồn gốc C++ ◦ Ngôn ngữ bậc thấp: Mã máy, Assembly ◦ Ngôn ngữ bậc cao: C, C++, FORTRAN, COBOL ◦ Lập trình hướng đối tượng C++ Thuật ngữ C++ ◦ Chương trình (Program), Hàm (Function), Thư viện (Library) ◦ Xuất nhập (IO) với cin/cout Sự khác C C++ C ngơn ngữ lập trình hướng thủ tục, C++ ngơn ngữ lập trình hướng đối tượng C hỗ trợ trỏ, C++ hỗ trợ trỏ tham chiếu C nạp chồng hàm (function overloading), C++ hỗ trợ tính C sử dụng nhập (scanf), xuất (printf) C++ sử dụng cin cout dễ dùng C khơng có kiểu (string, bool) C++ có kiểu liệu Đi mở rộng C c, cịn mở rộng C++ cpp Chương trình C++ mẫu (1/2) Chương trình C++ mẫu (2/2) Tình kết 1: Xin chao Chao mung den voi C++ Ban biet bao nhieu ngon ngu lap trinh? Ban nen hoc lop lap trinh co ban hon Người dùng nhập vào Tình kết 2: Xin chao Chao mung den voi C++ Ban biet bao nhieu ngon ngu lap trinh? Chuc ban hoc tot Người dùng nhập vào Biến C++ Định danh C++ ◦ Không trùng với từ khóa từ dành riêng ◦ Phân biệt chữ hoa, chữ thường ◦ Nên tên có nghĩa Biến C++ ◦ Là vùng nhớ để lưu trữ liệu cho chương trình ◦ Phải khai báo trước sử dụng chương trình Các kiểu liệu (1/2) Loại liệu Kiểu liệu Số ô nhớ Miền giá trị Boolean bool byte Trong => FALSE => TRUE Ký tự char byte -128 tới 127 unsigned char byte tới 255 int byte -2147483648 tới 2147483647 unsigned int byte tới 4294967295 short int byte -32768 tới 32767 long int byte -2147483648 tới 2147483647 Số nguyên Các kiểu liệu (2/2) Số thực float byte +/- 3.4e +/- 38 (~7 chữ số) double byte +/- 1.7e +/- 308 (~15 chữ số) long double byte +/- 1.7e +/- 308 (~15 chữ số) Lưu ý: Kích thước biến khác với kích thước bảng, tùy thuộc vào trình biên dịch máy tính bạn mà sử dụng Gán liệu cho biến Khởi tạo liệu câu lệnh khai báo ◦ Nếu chưa khởi tạo, biến có giá trị "undefined"! int myVar = 0; Gán liệu chạy chương trình ◦ Cú pháp: Vế trái = Vế phải Vế trái phải biến Vế phải biểu thức ◦ Ví dụ: distance = rate * time; Vế trái distance Vế phải rate * time 10 Ép kiểu Ép kiểu cho biến ◦ Có thể thêm ".0" vào literal để ép độ xác phép tốn, với biến? Không thể sử dụng "myInt.0"! ◦ static_cast intVar: ◦ Ép chuyển intVar sang kiểu double cách tường minh Kết chuyển đổi sau sử dụng VD: doubleVar=static_castintVar1/intVar2; Ép thực phép chia số thực hai biến nguyên 20 Ép kiểu Hai cách ép kiểu ◦ Ép kiểu ngầm tự động: 17/ 5.5 tự động chuyển 17 thành 17.0 ◦ Chuyển kiểu tường minh: Người lập trình rõ việc chuyển kiểu toán tử ép kiểu (double)17/ 5.5 Tương tự, sử dụng toán tử ép kiểu (double)myInt / myDouble để ép kiểu biến 21 Các toán tử viết tắt Các toán tử tăng giảm ◦ Toán tử tăng, ++ intVar++; tương đương với intVar = intVar + 1; ◦ Toán tử giảm, -intVar ; tương đương với intVar = intVar – 1; ◦ Tăng hậu tố: intVar++ Sử dụng giá trị biến, sau tăng biến ◦ Tăng tiền tố: ++intVar Trước hết tăng biến, sau sử dụng giá trị 22 Tăng hậu tố vs Tăng tiền tố VD 1: Giá trị valueProduced n ? int n = 2, valueProduced; valueProduced = * (n++); cout