LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (Võ Hồng Bảo Châu) - Chương 2
lượt xem 27
download
Tài liệu tham khảo dành cho giáo viên, sinh viên chuyên ngành công nghệ thông tin - Giáo trình lập trình hướng đối tượng.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (Võ Hồng Bảo Châu) - Chương 2
- MỤC TIÊU LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG • Sử dụng được một trình biên dịch C/C++ nào đó để viết chương trình. Chương 2: • Viết được chương trình cơ bản dùng các cấu trúc điều NGÔN NGỮ C++ khiển trên các kiểu dữ liệu cơ bản Giáo viên: Võ Hồng Bảo Châu Khoa CNTT trường ĐH Lạc Hồng OOP-CHƯƠNG 2-NGÔN NGỮ C++ 2 NỘI DUNG CHI TIẾT KHÁI QUÁT VỀ C++ • Khái quát về ngôn ngữ C++ • 1970, Denis Ritchie (Bell Lab.) phát triển ngôn ngữ C. – Dạng System Implementation Language (SIL) • Kiểu dữ liệu cơ bản, phép toán – Phát triển từ ngôn ngữ CPL (Combined Programming Language), • Nhập xuất dữ liệu BCPL (Basic CPL) và ngôn ngữ B. – Brian Kernighan, D. Ritchie (1978), The C Programming • Các cấu trúc điều khiển Language, Prentice-Hall • Hàm • Mảng và mẫu tin • Con trỏ và tham chiếu • Nhập xuất và tập tin OOP-CHƯƠNG 2-NGÔN NGỮ C++ OOP-CHƯƠNG 2-NGÔN NGỮ C++ 3 4 1
- KHÁI QUÁT VỀ C++ CẤU TRÚC CHƯƠNG TRÌNH C++ Hello.cpp • Đầu 1980, Bjarne Stroustrup phát triển ngôn ngữ C++ #include – Trên sơ sở ngôn ngữ Simula 67 void main (void) – Tương thích hoàn toàn với C { – Mở rộng C với cấu trúc OOP cout
- LỆNH ĐƠN & LỆNH PHỨC NHẬP XUẤT DỮ LIỆU C++ cung cấp các lệnh nhập xuất dữ liệu trong thư • Lệnh đơn là một Ví dụ: viện , trong đó có các đối tượng sự tính toán được kết thúc bằng dấu Để lấy dữ liệu từ bàn phím vào biến ta dùng lệnh sau: { chấm phẩy. int min, i = 10, j = 20; cin>>Biến 1>>Biến 2>>....; min = (i < j ? i : j); Toán tử >> của đối tượng cin lấy dữ liệu từ bàn phím đặt min + 5; cout intVar >> floatVar; Lệnh rỗng Lệnh vô dụng rào chúng bên trong các dấu ngoặc xoắn. OOP-CHƯƠNG 2-NGÔN NGỮ C++ OOP-CHƯƠNG 2-NGÔN NGỮ C++ 9 10 NHẬP XUẤT DỮ LIỆU • Để nhập dữ liệu cho một chuỗi n ký tự • Để đưa dữ liệu ra màn hình ta dùng lệnh sau: cout
- VÍ DỤ NHẬP XUẤT • Các hàm xử lý nhập xuất: thư viện “iomanip.h” • Để thiết lập độ rộng cho giá trị cần in – Hàm cout.width(Số_cột) – Hàm setw(Số_cột) Ví dụ: cout
- • Phép toán điều kiện Phép toán tăng, giảm int n, m = 10; int n, m = 10; n = m++; if ( a > 100.0 ) n = m; cout
- Phép Mô tả Ưu Thứ tự trong Toán hạng Ví dụ Phép Mô tả Ưu Thứ tự trong Toán Ví dụ toán tiên biểu thức toán tiên biểu thức hạng Bit shift left 11 - nt - - nt - > Thu hồi bộ nhớ 15 - nt - - nt - delete delete p Nhỏ hơn 10 - nt - - nt - < x= x >= y Truy cập đến thành phần của con 14 - nt - - nt - ->* p->*ptr trỏ đối tượng (hoặc mẩu tin) So sánh bằng 9 - nt - - nt - == x == y Không bằng 9 - nt - 2 Nhân 13 - nt - - nt - != x != y * a*b Chia 13 - nt - - nt - Bitwise AND 8 - nt - - nt - / m/n & m&n Chia lấy phần dư 13 - nt - - nt - Bitwise XOR 7 - nt - - nt - % m%n ^ m^n Bitwise OR 6 - nt - - nt - Cộng 12 - nt - - nt - | m|n + m+n Trừ 12 - nt - - nt - Phép toán AND 5 - nt - - nt - - m-n && p && q Phép toán OR 4 - nt - - nt - || p || q OOP-CHƯƠNG 2-NGÔN NGỮ C++ OOP-CHƯƠNG 2-NGÔN NGỮ C++ 21 22 CẤU TRÚC ĐIỀU KIỆN Phép Mô tả Ưu Thứ tự trong Toán Ví dụ toán tiên biểu thức hạng • Tuần tự Điều kiện 3 Phải sang - nt - ?: q?x:y • Cấu trúc điều kiện Gán 2 - nt - - nt - = n = 10 Gán cộng dồn 2 - nt - - nt - += n += 10 • Cấu trúc lặp Gán trừ dồn 2 - nt - - nt - -= n -= 10 Gán nhân 2 - nt - - nt - *= n *= 2 Gán chia 2 - nt - - nt - /= n /= 5 Gán modulo 2 - nt - - nt - %= n %= 2 Gán Bitwise AND 2 - nt - - nt - &= n &= mask Gán Bitwise XOR 2 - nt - - nt - ^= n ^= mask Gán Bitwise OR 2 - nt - - nt - |= n |= mask Gán Bit shift left 2 - nt - - nt - = 1 Throw exception 1 - nt - 1 throw throw(20) Dấu phẩy 0 Trái sang 2 , ++m,--n OOP-CHƯƠNG 2-NGÔN NGỮ C++ OOP-CHƯƠNG 2-NGÔN NGỮ C++ 23 24 6
- CẤU TRÚC ĐIỀU KIỆN CẤU TRÚC LẶP • Lệnh if và if-else • Lệnh while; do-while Lệnh switch Lệnh for if (biểu th ức) switch (biểu th ức) { while (biểu th ức) for (biểu th ức1; biểu th ức2; biểu th ức3) lệnh; case h ằng 1: lệnh; lệnh ; các lệnh; break; ... if (biểu th ức) do khởi tạo case h ằng n: lệnh 1; lệnh; các lệnh; break; else while (biểu th ức); điều kiện dừng default: lệnh 2; các lệnh; điều khiển lặp } Khi nào chúng ta nên sử dụng if-else và khi nào Sử dụng từng kiểu lệnh lặp để in ra các số từ 0 đến 9 ? chúng ta nên sử dụng switch? OOP-CHƯƠNG 2-NGÔN NGỮ C++ OOP-CHƯƠNG 2-NGÔN NGỮ C++ 25 26 LỆNH NHẢY • Lưu ý, trong C/C++ không có kiểu luận lý, nên các biểu thức có giá trị nguyên. • Lệnh continue Lệnh goto dừng lần lặp hiện tại của một nhảy trực tiếp đến nhãn được vòng lặp và nhảy tới lần lặp chỉ định. • Giá trị khác không, mang ý nghĩa đúng. Ngược lại, mang ý kế tiếp nghĩa sai Ví dụ: int a=3
- CON TRỎ CẤP PHÁT BỘ NHỚ ĐỘNG • Trong C++: sử dụng các toán tử • Con trỏ đơn giản chỉ là địa chỉ của một vị trí bộ nhớ và cung cấp cách gián tiếp để truy xuất dữ liệu trong bộ nhớ – Cấp phát: dùng toán tử new – Hủy bỏ: dùng toán tử delete • Ví dụ Ví dụ: float *p,*q; p=new float; q= new float[10]; delete p; 1000 num 10 it num = 10; void Foo (void) { int *ptr1 = # int *ptr = new int; 2000 1000 ptr1 char *str = new char[10]; //... cout
- TRUYỀN GIÁ TRỊ CHO HÀM VÍ DỤ • Truyền tham chiếu: (by reference) int main (void) // Truyền bằng trị (đối tượng) – Tham số được khai báo như biến tham chiếu { 1 void Swap1 (int x, int y) int i = 10, j = 20; 2 { – Địa chỉ của đối số được truyền cho hàm có thể thay đổi giá trị Swap1(i, j); cout
- XỬ LÝ TẬP TIN XỬ LÝ TẬP TIN • Để làm việc với các file chúng ta tạo ra các đối tượng • ĐỌC FILE: Mặc định file được đọc ghi dạng văn bản nếu ofstream và ifstream sử dụng thư viện “fstream .h” muốn chuyển sang dạng nhị phân ta dùng – Ghi: ofstream fout(“đường dẫn tên file”,ios::binary); • Mở file – Đọc: ifstream fin(“đường dẫn tên file”, ios::binary); – Ghi dữ liệu: ofstream fout(“đường dẫn tên file”); • GHI FILE: Để ghi dữ liệu ra file ta dùng toán tử
- DÙNG VISUAL C++ 6.0 Chọn chức năng • Sau khi đưa vào File/New/Projects Project Name và Location, hộp hội Đưa vào tên của thoại xuất hiện Project • Chọn Finish Và vị trí lưu trữ trên đĩa Lưu ý, chọn W in32 Console Application OOP-CHƯƠNG 2-NGÔN NGỮ C++ OOP-CHƯƠNG 2-NGÔN NGỮ C++ 41 42 • Đưa các tập tin • Sau khi chọn, có màn hình để soạn thảo tập tin nguồn vào để sử One.cpp. dụng, bằng cách • Vào menu Build để biên dịch và thực thi chương • Project/Add to trình. Project/New/Files. • Chọn C++ Source file • Đưa vào tên file OOP-CHƯƠNG 2-NGÔN NGỮ C++ 44 OOP-CHƯƠNG 2-NGÔN NGỮ C++ 43 11
- BÀI TẬP TỰ HỌC BÀI TẬP TẠI LỚP • NÊU NHỮNG ĐẶC TÍNH MỞ RỘNG CỦA C++ SO VỚI C • CÁC BÀI TẬP SAU ViẾT DẠNG HÀM VÀ CẤU TRÚC • HIỆN THỰC HÓA 1 LỚP BẤT KỲ Ở BÀI TRƯỚC BẰNG 1) Viết chương trình tính tổng, hiệu, tích, thương của hai NGÔN NGỮ C++ phân số. Trong đó phân số thuộc kiểu cấu trúc có 2 thành phần số nguyên tử và mẫu. 2) Xây dựng cấu trúc điểm để lưu trữ hoành độ, tung độ của 1 điểm trong mặt phẳng. Nhập vào toạ độ 2 điểm. Tính khoảng cách giữa 2 điểm đó. 3) Xây dựng cấu trúc Số phức gồm 2 thành phần: phần thực và phần ào. Tính tổng, hiệu 2 số phức. OOP-CHƯƠNG 2-NGÔN NGỮ C++ OOP-CHƯƠNG 2-NGÔN NGỮ C++ 45 46 BÀI TẬP TẠI LỚP 4) Xây dựng cấu trúc nhiệt độ gồm 2 thành phần: giá trị (số nguyên) và loại (kí tự C hoặc F). Viết chương trình nhập vào 1 loại nhiệt độ, đổi sang loại nhiệt độ kia. 5) Xây dựng cấu trúc hình chữ nhật gồm 2 thành phần: chiều dài và chiều rộng. Nhập vào 2 hình chữ nhật. In ra thông THANK YOU tin của hình chữ nhật nào có diện tích lớn hơn. 6) Viết chương trình nhập hồ sơ học sinh của lớp học gồm: tên, tuổi, điểm trung bình cả năm. In ra tuổi lớn nhất, điểm trung bình cao nhất của lớp. OOP-CHƯƠNG 2-NGÔN NGỮ C++ OOP-CHƯƠNG 2-NGÔN NGỮ C++ 47 48 12
CÓ THỂ BẠN MUỐN DOWNLOAD
-
CHƯƠNG 5: CÂY VÀ CÂY KHUNG CỦA ĐỒ THỊ
9 p | 808 | 49
-
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (Võ Hồng Bảo Châu) - Chương 1
12 p | 113 | 41
-
Chi tiết cài đặt và sử dụng total Video convert
7 p | 234 | 27
-
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (Võ Hồng Bảo Châu) - Chương 3
12 p | 102 | 23
-
Bài giảng Lập trình Java cơ bản: Chương 5 Nhập xuất - GV. Võ Hoàng Phương Dung
19 p | 116 | 16
-
Hướng dẫn cơ bản Automator tự động hoá công việc của bạn Trong Mac OS X, có
19 p | 109 | 12
-
Xử lý ảnh hàng loạt với Photoshop Actions
6 p | 100 | 11
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