Kỹ thuật lập trình C/C++-Chương mở đầu ppt

18 381 1
Kỹ thuật lập trình C/C++-Chương mở đầu ppt

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Giới thiệu mơn học EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Giới thiệu Kỹ thuật lập trình C/C++ (EE3490) Lý thuyết + Bài tập (0.1) + Bài tập lớn (0.2) + Thi cuối kỳ (0.7) Trình biên dịch: MS Visual C++ Sách tham khảo:       The C Programming Language – 2nd Edition, Brian W Kerninghan & Dennis M Ritchie, Prentice-Hall,1998 The C++ Programming Language – 3rd Edition, Bjarne Stroustrup, Addison-Wesley, 1997 EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Nội dung môn học Mở đầu (1 tuần)    Quá trình phát triển ngơn ngữ lập trình (NNLT) Giới thiệu ngơn ngữ C C++ Lập trình cấu trúc (7 tuần)         Phân tích thiết kế Biến, liệu, kiểu, tốn tử Cấu trúc điều khiển Quản lý nhớ Hàm, thư viện Cấu trúc liệu Lập trình vào EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Nội dung môn học (tiếp) Lập trình hướng đối tượng (5 tuần)       Khái niệm OOP Lớp đối tượng Kế thừa Cấu trúc liệu Lập trình vào Lập trình khái quát (2 tuần)    Khuôn mẫu hàm, lớp Thư viện STL EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Tổng quan EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Khái niệm chương trình lập trình Chương trình: tập lệnh máy tính phải tuân theo Phần mềm: tập hợp chương trình Hệ điều hành (HĐH):        phần mềm cho phép người dùng thao tác với máy tính quản lý tài nguyên (CPU, nhớ, phần cứng/mềm,…) chạy chương trình Thuật tốn: chuỗi lệnh có thứ tự để giải vấn đề định Trình biên dịch: chương trình cho phép chuyển đổi mã nguồn thành mã máy   EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Mã lệnh liệu Máy tính hiểu mã nhị phân (byte, bit)     Một mã lệnh có mã 01000001 Chữ ‘A’ có mã 01000001 Số 65 có mã 01000001 Làm máy tính hiểu 01000001 biểu diễn gì:    Phụ thuộc vào mã lệnh chạy Người viết chương trình phải hiểu vùng nhớ truy xuất chứa Bộ nhớ máy tính chứa liệu mã lệnh chương trình chạy  EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Ngơn ngữ lập trình Là ngôn ngữ thiết kế dùng để tạo chương trình chạy máy tính theo ý đồ mong muốn Quá trình phát triển:       Mã máy: dùng trực tiếp mã nhị phân, không cần biên dịch, phụ thuộc vi xử lý Thế hệ thứ (hợp ngữ): cần biên dịch, đọc hiểu được, phụ thuộc vi xử lý Thế hệ thứ (cấu trúc): cấu trúc điều khiển, kiểu liệu, đóng gói VD: Fortran, C, C++, Basic, Pascal, COBOL,… Thế hệ thứ 4: nâng cao hiệu giảm yếu tố dễ gây lỗi, cú pháp gần gũi với ngơn ngữ nói VD: SQL, LabVIEW, ColdFusion,… EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Q trình phát triển phần mềm Vịng đời phần mềm:       Phân tích yêu cầu toán (problem definition) Thiết kế phần mềm (design) Cài đặt thuật tốn (coding) Bảo trì, cập nhật phát triển tiếp Lỗi thời Thử nghiệm: q trình kiểm tra hoạt động tính phần mềm Gỡ lỗi: trình tìm nguyên nhân lỗi, sửa   EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Lỗi chương trình  Lỗi cú pháp (lỗi biên dịch):     Lỗi chạy:    Do viết chương trình khơng tn theo cú pháp quy định Được phát trình biên dịch Chú ý: đơi lỗi khơng phát bị hiểu sai sang cú pháp khác Khi chương trình chạy vi phạm điều kiện cho phép Được phát chạy Lỗi logic:   10 Do thuật tốn sai Máy tính khơng phát EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Giới thiệu ngôn ngữ C C++ 11 EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Lịch sử ngôn ngữ C   Ra đời năm 1970, gắn liền với phát triển HĐH Unix Tác giả: Dennis Ritchie Mục tiêu:     C ngôn ngữ trung gian cấp thấp…    Đề cao tính hiệu Có khả truy xuất phần cứng cấp thấp Ngơn ngữ có cấu trúc (thay cho lập trình hợp ngữ) Có khả truy xuất nhớ trực tiếp Cú pháp ngắn gọn, từ khố … cấp cao    12 Khơng phụ thuộc phần cứng Cấu trúc, hàm, khả đóng gói Kiểm tra kiểu liệu EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Lịch sử ngôn ngữ C++   Ra đời năm 1979 việc mở rộng ngôn ngữ C Tác giả: Bjarne Stroustrup Mục tiêu:    Thêm tính Khắc phục số nhược điểm C Bổ sung tính so với C:    13 Lập trình hướng đối tượng (OOP) Lập trình tổng qt (template) Nhiều tính nhỏ giúp lập trình linh hoạt (thêm kiểu bool, khai báo biến đâu, kiểu mạnh, định nghĩa chồng hàm, namespace, xử lý ngoại lệ,…) EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Biên dịch chương trình C/C++  Là trình chuyển đổi từ mã nguồn (do người viết) thành chương trình dạng mã máy để thực thi Mã nguồn file1.c Trình biên dịch Mã biên dịch file1.obj Mã nguồn file2.c Trình biên dịch Mã biên dịch file2.obj Thư viện Trình liên kết Chương trình chạy a.exe 14 EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Biên dịch chương trình C/C++ (tiếp)  Cho phép dịch file riêng rẽ giúp:   Dễ phân chia quản lý phần chương trình Khi cần thay đổi, cần sửa đổi file liên quan  giảm thời gian bảo trì, sửa đổi  Chỉ cần dịch lại file có thay đổi cần thiết  giảm thời gian dịch   Các trình biên dịch đại cịn cho phép tối ưu hố liệu mã lệnh Một số trình biên dịch thông dụng: MS Visual C++, gcc, Intel C++ Compiler, Watcom C/C++,… 15 EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Tại chọn C/C++  Ưu điểm:    Hiệu Linh hoạt, khả tuỳ biến cao Được hỗ trợ rộng rãi    môi trường khác nhiều thư viện công cụ sẵn có Nhược điểm:   16 Ngơn ngữ [q] phức tạp Khó kiểm sốt lỗi so với ngôn ngữ bậc cao (Java, NET, script,…), nguyên nhân từ sử dụng trỏ EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Một vài điểm ý ngôn ngữ C/C++       Cú pháp có phân biệt chữ hoa/thường: int, Int, INT hồn toàn khác Dấu ; dùng để phân tách câu lệnh đơn Dấu { … } để quy định khối câu lệnh Không đặt tên biến/hằng/hàm… trùng với từ khố có sẵn (void, int, char, struct, const,…) Trong khối lệnh khơng có cấu trúc định hướng (if, for, while,…) lệnh thực từ xuống Chú thích:   17 C bằng: /* … */ C++ có thêm ký hiệu // để thích thuật lậphết–dịng đến trình HK1 2011/2012 EE3490: Kỹ Đào Trung Kiên – ĐH Bách khoa Hà Nội Giới thiệu MS Visual C++  Là mơi trường tích hợp (IDE), trợ giúp:     Viết chương trình Biên dịch Gỡ lỗi (debug) Làm ví dụ… 18 EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội ... liệu Lập trình vào Lập trình khái qt (2 tuần)    Khn mẫu hàm, lớp Thư viện STL EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Tổng quan EE3490: Kỹ thuật lập trình. .. EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Nội dung môn học Mở đầu (1 tuần)    Quá trình phát triển ngơn ngữ lập trình (NNLT) Giới thiệu ngơn ngữ C C++ Lập trình. .. lý nhớ Hàm, thư viện Cấu trúc liệu Lập trình vào EE3490: Kỹ thuật lập trình – HK1 2011/2012 Đào Trung Kiên – ĐH Bách khoa Hà Nội Nội dung môn học (tiếp) Lập trình hướng đối tượng (5 tuần)  

Ngày đăng: 16/03/2014, 09:20

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

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

Tài liệu liên quan