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

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (Võ Hồng Bảo Châu) - Chương 2

Chia sẻ: Đặng Duy Nhật | Ngày: | Loại File: PDF | Số trang:12

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

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.

Chủ đề:
Lưu

Nội dung Text: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG (Võ Hồng Bảo Châu) - Chương 2

  1. 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
  2. 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
  3. 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
  4. 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
  5. • 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
  6. 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
  7. 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
  8. 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 = &num; int *ptr = new int; 2000 1000 ptr1 char *str = new char[10]; //... cout
  9. 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
  10. 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ử
  11. 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
  12. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
9=>0