Ngôn ngữ lập trình C - Chương 1
lượt xem 32
download
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++
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Ngôn ngữ lập trình C - Chương 1
- Ch−¬ng 1 Ch Tæng quan vÒ ng«n ng÷ lËp tr×nh nh C++
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài tập ngôn ngữ lập trình C (Phần 1)
0 p | 1169 | 525
-
Giáo trình Ngôn ngữ lập trình C (Phần 1) - ThS.Tiêu Kim Cương
21 p | 571 | 201
-
Ngôn ngữ lập trình C++ từ cơ bản đến hướng đối tượng part 1
51 p | 558 | 124
-
Ngôn ngữ lập trình C++và cấu trúc dữ liệu part 1
27 p | 284 | 72
-
Giáo trình Ngôn ngữ lập trình C: Phần 1
152 p | 147 | 40
-
Hệ thống lập trình ngôn ngữ C#: Phần 1
175 p | 158 | 33
-
Giáo trình Ngôn ngữ lập trình C: Phần 2
143 p | 95 | 29
-
Học và sử dụng với ngôn ngữ lập trình C: Phần 1
140 p | 107 | 24
-
Bài giảng Ngôn ngữ lập trình C++: Phần 1 - TS. Nguyễn Duy Phương
138 p | 45 | 16
-
Bài giảng Ngôn ngữ lập trình C++: Phần 2 - TS. Nguyễn Duy Phương
159 p | 53 | 15
-
Ngôn ngữ lập trình C++: Phần 2
296 p | 67 | 13
-
Nhập môn ngôn ngữ lập trình C part 1
25 p | 108 | 9
-
Xây dựng ứng dụng với ngôn ngữ lập trình C#: Phần 1
193 p | 60 | 8
-
Xây dựng ứng dụng với ngôn ngữ lập trình C#: Phần 2
192 p | 46 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++: Bài 1 - TS. Đỗ Đăng Khoa
53 p | 112 | 7
-
Bài giảng Ngôn ngữ lập trình C/C++ (Bài giảng tuần 1) – Nguyễn Hải Châu
7 p | 142 | 5
-
Giáo trình Ngôn ngữ lập trình C: Phần 2 - Trường ĐH Công nghệ GTVT
317 p | 11 | 5
-
Bài giảng Ngôn ngữ lập trình: Bài 1 - Lý Anh Tuấn
30 p | 82 | 4
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