2 c++motsomorongsoc

4 81 0
2 c++motsomorongsoc

Đang tải... (xem toàn văn)

Thông tin tài liệu

HỌC VIỆN KỸ THẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN ĐỀ CƯƠNG BÀI GIẢNG HỌC PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Bộ môn: Công nghệ phần mềm Giáo viên: 1) Phạm Thị Bích Vân Bài II: Ngôn ngữ C++, mở rộng so với C Thời lượng: tiết (GV giảng: 3) Mục đích, yêu cầu: Giới thiệu cho sinh viên lịch sử phát triển ngôn ngữ C++, giới thiệu lại cho sinh viên qua cấu trúc chương trình C++, số mở rộng C++ so với ngôn ngữ C Nội dung: a Nội dung chi tiết: • Lịch sử C++ − − − Ý tưởng cấu trúc C++ xuất phát vào năm 1970 từ Simula 70 Algol 68 Vào năm đầu thập niên 1980, người dùng biết C++ với tên gọi "C with Classes" Trong năm 1983, 1984, ngôn ngữ "C with Classes" thiết kế lại, mở rộng trình • • biên dịch đời Và từ đó, xuất tên gọi "C++" Các mở rộng C++ Các từ khóa Để bổ sung tính vào C, số từ khóa (keyword) đưa vào C++ từ khóa có C asm new This catch operator throw class private try delete protected virtual friend public inline template • Cách ghi C++ chấp nhận hai kiểu thích − Kiểu thích /*…*/ dùng cho khối thích lớn gồm nhiều dòng, − Kiểu // dùng cho thích dòng • Dòng xuất nhập − Trong C++ dùng dòng nhập/xuất chuẩn (standard input/output stream) để • nhập/xuất liệu thông qua hai biến đối tượng dòng (stream object) cout cin Ví dụ: cout>X; Cách chuyển đổi kiểu liệu − Hình thức chuyển đổi kiểu C tương đối tối nghĩa, C++ trang bị thêm cách • − chuyển đổi kiểu giống lệnh gọi hàm Ví dụ 2.4: int X = 200; long Y = (long) X; //Chuyen doi kieu theo cach cua C long Z = long(X); //Chuyen doi kieu theo cach moi cua C++ Khai báo biến Trong C++ cho phép khai báo linh hoạt vị trí phạm vi cho trước (không − thiết phải đầu phạm vi), xen kẽ việc khai báo liệu với câu lệnh thực Khi khai báo biến chương trình, biến có hiệu lực phạm vi chương trình • kể từ vị trí xuất Vì sử dụng biến khai báo bên Các biến const Bộ môn Công nghệ phần mềm − − Có thể dùng const để quy định kích thước mảng đoạn mã sau: const int ArraySize = 100; int X[ArraySize]; Khi khai báo biến const C++ phải khởi tạo giá trị ban đầu biến • const hiểu mặc định static Struct union − Trong C++ tên struct union xem tên kiểu giống khai báo lệnh typedef Trong C, có đoạn mã sau : struct Complex { float Real; float Imaginary; }; ………………… struct Complex C Trong C++, vấn đề trở nên đơn giản hơn: struct Complex { float Real; float Imaginary; }; ………………… Complex C; − Quy định áp dụng cho union enum Tuy nhiên để tương thích với C, C++ • chấp nhận cú pháp cũ Toán tự định phạm vi − Toán tử định phạm vi (scope resolution operator) ký hiệu ::, dùng truy xuất phần • tử bị che phạm vi thời Toán tử new delete − C++ định nghĩa phương thức để thực việc cấp phát động nhớ cách dùng hai toán tử new delete Cú pháp: new type_name; new ( type_name ) new type_name initialize; new ( type_name ) initializer − Nếu toán tử new cấp phát không thành công trả giá trị NULL − Còn toán tử delete thay hàm free() C, có cú pháp sau : delete pointer; delete [] pointer • Hàm inline − Với hàm thông thường phải chứa loạt xử lý điểm vào (entry point): tham số phải − đẩy vào stack, lệnh gọi phải thực sau việc quay trở phải thực cách giải phóng tham số khỏi stack Khi phải chép lập lại đoạn chương trình muốn tăng hiệu Để tránh khỏi phải xử lý điểm vào, C++ trang bị thêm từ khóa inline để loại việc gọi hàm Cú • pháp hàm inline sau : inline data_type function_name ( parameters ) { } Các giá trị tham số mặc định − Một đặc tính bật C++ khả định nghĩa giá trị tham số mặc định − cho hàm Chẳng hạn có đoạn chương trình sau: void MyDelay(long Loops); //prototype Chẳng hạn muốn gán giá trị mặc định cho tham số Loops 1000 Khi đoạn mã viết lại sau: void MyDelay(long Loops = 1000); //prototype − Mỗi gọi hàm MyDelay() mà không gởi tham số tương ứng trình biên dịch tự động Bộ môn Công nghệ phần mềm • − − gán cho tham số Loops giá trị 1000 Tham chiếu Biến tham chiếu có cú pháp sau : data_type & variable_name; Khi dùng biến tham chiếu cho tham số có địa gởi toàn cấu trúc hay đối tượng điều hữu dụng gởi cấu trúc đối tượng lớn cho hàm • Phép nạp chồng Với ngôn nạp chồng hàm toán tử (operator) − Nạp chồng hàm ngữ C++, Trong ngôn ngữ C ngôn ngữ máy tính khác, hàm phải có tên phân biệt Đôi điều phiền toái, C++ giải điều cách cho phép tạo hàm khác có tên Đây nạp chồng hàm Ví dụ: int abs(int i); long abs(long l); double abs(double d); − Nạp chồng toán tử Một hàm định nghĩa toán tử có cú pháp sau: cocdata_type operator operator_symbol ( parameters ) { ……………………………… } Hầu hết toán tử C++ nạp chồng Các toán tử sau không nạp chồng là: Toán tử :: * ?: sizeof Ý nghĩa Toán tử định phạm vi Truy cập đến trỏ trường struct hay thành viên class Truy cập đến trường struct hay thành viên class Toán tử điều kiện b Nội dung thảo luận: So sánh kiểu liệu tham trị, kiểu liệu tham chiếu kiểu liệu trỏ c Nội dung tự học: Tìm hiểu kỹ thêm trỏ, mở rộng C++ Luyện tập thông qua tập d Bài tập (bắt buộc, mở rộng): Bài 1: Viết chương trình nhập tọa độ tâm O bán kính r hình tròn Nhập vào từ bàn phím tọa độ điểm M (trên mặt phẳng) Cho biết vị trí tương đối M so với đường tròn: trong, hay đường tròn? (Cho nhập tọa độ đỉnh kiểm tra nhiều lần) Bài 2: Viết chương trình tính ước số chung lớn số nguyên dương nhập vào từ bàn phím Dùng vòng lặp – while để tính nhiều lần, muốn kết thúc nhấn ESC Bài 3: Viết chương trình kiểm tra tính đối xứng số, dùng vòng lặp - while phép nhập kiểm tra nhiều lần, muốn thoát người dùng nhấn ESC Bộ môn Công nghệ phần mềm Bài 4: Nhập số thực a, b, c Giải biện luận phương trình trùng phương ax + bx2 + c = Bài 5: Giải phương trình bậc 2, kiểm tra không cho nhập hệ số a=0 Bài 6: Lập trình cho biết mã ký tự vừa nhập từ bàn phím ấn ESC Bài 7: Tìm giá trị x, y, z (< 100) thoả mãn điều kiện: x2 + y2 = z2 Bài 8: Nhập số nguyên dương n m Tìm hai chữ số cuối n luỹ thừa m Bài 9: Tính tổng hai số thời gian, số gồm:giờ, phút, giây (Dung struct) Bài 10: Viết hàm xác định độ dài xâu kí tự Bài 11: In tất ước số n Bài 12: Tìm k nhỏ để 2k >=n Bài 13: Tìm k lớn để 4k bé n Bài 14: In năm âm lịch tương ứng với năm nhập vào ví dụ năm 2009 năm “Kỷ Sửu” (case:) Bài 15: Nhập vào hai số ký hiệu phép toán, tính giá trị biểu thức thành lập từ hai số phép toán Bài 16: Biểu diễn số lẻ dương dạng 2p -1 (p nguyên dương) Tài liệu tham khảo • Lập trình hướng đối tượng với C++ / Lê Đăng Hưng, Tạ Tuấn Anh, Nguyễn Hữu Đức, Nguyễn Thanh Thủy (Chủ biên), - Hà Nội : Khoa học Kỹ thuật, 2009 -346 trang Chương II • Giáo trình C++ & lập trình hướng đối tượng / Phạm Văn Ất (Chủ biên), Lê Trường Thông – Hà Nội : Hồng Đức, 2009 -495 trang Phần • Object-Oriented Programming in C++ (4th Edition) / Robert Lafore Sams Publishing, 2002 Chapters 2, 3, 4, 5 Câu hỏi ôn tập - Lịch sử phát triển C++? - Cấu trúc chương trình C++? - Một số mở rộng C++? - Ý nghĩa từ khóa? - Thế kiểu liệu tham chiếu? - Thế nập chồng? Có kiểu nạp chồng ? Bộ môn Công nghệ phần mềm ... Lê Trường Thông – Hà Nội : Hồng Đức, 20 09 -495 trang Phần • Object-Oriented Programming in C++ (4th Edition) / Robert Lafore Sams Publishing, 20 02 Chapters 2, 3, 4, 5 Câu hỏi ôn tập - Lịch sử... xâu kí tự Bài 11: In tất ước số n Bài 12: Tìm k nhỏ để 2k >=n Bài 13: Tìm k lớn để 4k bé n Bài 14: In năm âm lịch tương ứng với năm nhập vào ví dụ năm 20 09 năm “Kỷ Sửu” (case:) Bài 15: Nhập vào... ký tự vừa nhập từ bàn phím ấn ESC Bài 7: Tìm giá trị x, y, z (< 100) thoả mãn điều kiện: x2 + y2 = z2 Bài 8: Nhập số nguyên dương n m Tìm hai chữ số cuối n luỹ thừa m Bài 9: Tính tổng hai số

Ngày đăng: 18/10/2017, 04:42

Từ khóa liên quan

Mục lục

  • Bài II: Ngôn ngữ C++, các mở rộng so với C

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan