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

Ngôn ngữ lập trình C - Chương 1

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:0

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

Tài liệu tham khảo bài giảng về Ngôn ngữ lập trình C++ gồm 7 chương - Chương 1 Tổng quan về Ngôn ngữ lập trình C++

Chủ đề:
Lưu

Nội dung Text: Ngôn ngữ lập trình C - Chương 1

  1. Ch−¬ng 1 Ch Tæng quan vÒ ng«n ng÷ lËp tr×nh nh C++
  2. 1.1 Giíi thiÖu chung vÒ C++ 1.1.1 Lịch sử hình thành và phát triển – Đầu những năm 70, tại phòng thí nghiệm Bell Telephone (thuộc công ty viễn thông AT&T, Hoa Kỳ): • Nhu cầu phát triển hệ điều hành UNIX cần ngôn ngữ thay thế cho hợp ngữ (assembly). • Dennis M. Ritchie đã đề xuất ra ngôn ngữ C : – BCPL,Martin Richards B, Ken Thompsons, 1970. – ALGOL 68. – 1972, C chính thức ra đời, Brian W. Kernighan và Dennis. M. Ritchie cùng xây dựng và phát triển. – 1978, xuất bản "The C Programming Language“. – 1988, chuẩn ANSI C chính thức được ban hành. 2 Bài giảng C++. 14/10/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD
  3. 1.1 Giíi thiÖu chung vÒ C++ 1.1.1 Lịch sử hình thành và phát triển – Đầu những năm 80, cũng tại Bell Telephone: • Bjarne Stroustrup phát triển, bổ sung C ngôn ngữ hướng đối tượng: “C với các lớp”. – SIMULA 66, SmallTalk 71. • 1983, đổi tên thành C++. – Chính thức công bố phiên bản đầu tiên của C++ vào năm 1986. Kí hiệu ++: • Một số khả năng mở rộng so với C. • Khả năng lập trình hướng đối tượng. – C++ vẫn liên tục được cải thiện và hoàn chỉnh. • 1.0 1.1 (1986), 2.0 (1989) và 3.0 (1991). • Chuẩn mới nhất cho C++ là ISO/IEC 14882:2002. 3 Bài giảng C++. 14/10/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD
  4. 1.1 Giíi thiÖu chung vÒ C++ 1.1.2 Đặc điểm ngôn ngữ – C: lập trình chuyên nghiệp! • Không cung cấp cơ chế vào/ra, không có phương pháp truy nhập tập tin (được thực hiện bằng cách gọi hàm trong thư viện). • Cấp phát bộ nhớ: chỉ cấp phát tĩnh/động theo nguyên tắc xếp chồng cho biến cục bộ. • Phạm vi và cấp lưu trữ, con trỏ và địa chỉ, … có những điểm đặc trưng và mạnh mẽ. – Mạnh: trung gian giữa các ngôn ngữ bậc cao - bậc thấp – Mềm dẻo: tự do? • Mức độ mềm dẻo: PASCAL, Algol 68 C PL/I. (tăng dần!) – Hiệu quả khi dịch ra mã máy: 80-90% Assembly. – Khả chuyển (dễ thích nghi): phần cứng, hệ điều hành, … – Ít từ khóa, có cấu trúc môđun, ... 4 Bài giảng C++. 14/10/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD
  5. 1.1 Giíi thiÖu chung vÒ C++ 1.1.2 Đặc điểm ngôn ngữ – Khuyết điểm: • Thứ tự thực hiện một số phép toán, cú pháp, kí hiệu. • Hơi quá tự do (điểm mạnh ?) lạm dụng bất ổn! – C++: thừa hưởng tất cả điểm mạnh của C. – Một số cải tiến tăng cường sức mạnh cho C. • Thay đổi, thêm mới phù hợp hơn. – Khả năng lập trình hướng đối tượng. • Ưu điểm của phương pháp lập trình hướng đối tượng. • Lớp, đối tượng, … • Kế thừa, đóng gói, … – Là ngôn ngữ lai : SmallTalk, Java, … 5 Bài giảng C++. 14/10/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD
  6. 1.1 Giíi thiÖu chung vÒ C++ 1.1.3 Trình biên dịch – Trình dịch C : • Ban đầu là các trình dịch theo chế độ dòng lệnh. • Sau đó: Turbo C, Microsoft C, Quick C, Think C, … • Môi trường phát triển tích hợp. • 1987, Turbo C với môi trường tích hợp bắt đầu thông dụng ở VN, đặc biệt là phiên bản 2.0. – Trình dịch C++ : • 1988, Zortech cung cấp trình dịch theo chế độ dòng lệnh. • Sau đó: Borland, Microsoft, HP, Compaq, IBM, Intel, Sun, … – Trình dịch ngày nay: IDE, trực quan, … • Borland: C++ Builder với VCL. Hiện nay là phiên bản 6.0. • Microsoft: VC++ với MFC. Hiện nay là phiên bản 6.0. • Công nghệ .NET: C++.NET, C#.NET. 6 Bài giảng C++. 14/10/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD
  7. 1.2 C++ trong lËp tr×nh thñ tôc vµ lËp tr×nh h−íng ®èi t−îng ng 1.2.1 Tổng quan về các phương pháp lập trình – Ứng dụng tin học đơn giản lập trình tuần tự. – Ứng dụng phức tạp tổ chức thành các chương trình con lập trình thủ tục. • Ngôn ngữ: FoxPro, Pascal, C/C++, … • PASCAL: thủ tục, hàm C/C++: hàm. – Hệ thống lớn, nhiều thành phần lập trình hướng đối tượng tổ chức chương trình thành các đối tượng. • Lớp: thành phần dữ liệu + hàm đóng gói. • Thừa kế, hàm ảo, đa hình, đa thừa kế, … • Ngôn ngữ: • Thuần túy hướng đối tượng: SmallTalk, Java, … • Ngôn ngữ lai (sử dụng được hàm tự do): C++, … 7 Bài giảng C++. 14/10/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD
  8. 1.2 C++ trong lËp tr×nh thñ tôc vµ lËp tr×nh h−íng ®èi t−îng ng 1.2.2 Chương trình thủ tục trong C++ – Chương trình ví dụ: hello1.cpp //Program Hello1 #include #include void main() { // viết ra màn hình printf("Hello, World !\n"); getch(); } 8 Bài giảng C++. 14/10/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD
  9. 1.2 C++ trong lËp tr×nh thñ tôc vµ lËp tr×nh h−íng ®èi t−îng ng 1.2.2 Chương trình thủ tục trong C++ – Phân tích cấu trúc chương trình. – Thực hiện chương trình: (Turbo C++ 3.0, Dev-C++ 5.0, …): – Soạn thảo. – Gỡ rối. – Dịch, chạy, … – Ghi chú giải thích chương trình: – // … – /* … */ – Khai báo tệp tiêu đề: #include. – C++ bắt buộc phải khai báo tệp tiêu đề nếu sử dụng các hàm trong thư viện tương ứng. – C không bắt buộc phải khai báo. 9 Bài giảng C++. 14/10/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD
  10. 1.2 C++ trong lËp tr×nh thñ tôc vµ lËp tr×nh h−íng ®èi t−îng ng 1.2.2 Chương trình thủ tục trong C++ – Phân tích cấu trúc chương trình (tiếp). – Hàm printf(): – Dữ liệu và quy cách: %d, %s, %c, … – Hàm main: – Khai báo: kiểu_giá_trị_trả_về main (tham_số) { mã_lệnh } – Chú ý về hàm main: – Là điểm bắt đầu trong chương trình (mọi chương trình đều phải có). – Chú ý: trong C hàm main không nhất thiết phải khai báo kiểu giá trị trả về (trong C++ nếu không khai báo kiểu giá trị trả về, chương trình ngầm hiểu là kiểu int, do đó phải có câu lệnh return!). 10 Bài giảng C++. 14/10/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD
  11. 1.2 C++ trong lËp tr×nh thñ tôc vµ lËp tr×nh h−íng ®èi t−îng ng 1.2.2 Chương trình hướng đối tượng trong C++ – Chương trình ví dụ: hello2.cpp //Program Hello2 #include #include class Print { void display() { cout
  12. 1.2 C++ trong lËp tr×nh thñ tôc vµ lËp tr×nh h−íng ®èi t−îng ng 1.2.2 Chương trình hướng đối tượng trong C++ – Phân tích cấu trúc chương trình. – Hình thức tương tự chương trình thủ tục. – Khai báo tệp tiêu đề. – Lớp Print. – Định nghĩa hàm display. – Đối tượng cout. Khai báo đối tượng print của lớp Print ~ biến print của kiểu Print. – Thực hiện hàm display của lớp print gắn hàm với đối tượng. – Đóng gói hàm trong lớp ≠ cấu trúc. – … – 12 Bài giảng C++. 14/10/2008 V.S.Nam. B/m KTHT, khoa CNTT, ĐHXD
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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