Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 156 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
156
Dung lượng
4,65 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ ĐỒNG NAI KHOA CÔNG NGHỆ -o0o- Giáo Trình K Ỹ TH U Ậ T LẬ P TR ÌN H C/C++ THÁNG 10/2020 Giáo trình Kỹ Thuật Lập Trình MỤC LỤC Chương 1: Lời Mở Đầu Chương 1: Tổng quan ngôn ngữ lập trình C/C++ Lịch sử ngơn ngữ lập trình C/C++ Phương pháp để giải toán Các bước chu trình phát triển chương trình Khảo sát chương trình C/C++ đơn giản Các thích (comments) 11 Cấu trúc chương trình C/C++ 12 Các tập tin thư viện thông dụng 13 Các tập tin thư viện thông dụng 13 Chương 2: Biểu thức 16 Kiểu liệu (data types) 16 Các định danh (Identifier names) 17 Từ khóa (keywords) 18 Biến (variables) 18 Từ khóa const 22 Hằng (constants) 22 Hằng chuổi ký tự (string constants) 23 Hằng ký tự đặc biệt (escape sequences) 23 Toán tử (operators) 24 10 Các toán tử số học (arithmetic operators) 28 11 Toán tử ++ (increment and decrement operators) 29 12 Toán tử quan hệ & luận lý (relational & logical operators) 30 13 Toán tử ? (? operator) 32 14 Toán tử sizeof 32 15 Toán tử dấu phẩy (comma operator) 33 16 Biểu thức (expressions) 35 17 Chuyển đổi kiểu biểu thức 35 18 Ép kiểu (casting) 36 19 Dạng viết tắt câu lệnh gán (shorthand assignments) 37 Chương 3: CÁC CẤU TRÚC ĐIỀU KHIỂN 40 Giới thiệu 40 Cấu trúc lựa chọn if 41 Cấu trúc lựa chọn switch case 45 Khoa Công Nghệ Thông Tin-Đại Học Cơng Nghệ Đồng Nái 2/156 Giáo trình Kỹ Thuật Lập Trình Các cấu trúc lặp (Loop structures) 50 Các lệnh rẽ nhánh nhảy 56 Chương 4: MẢNG 69 Giới thiệu Mảng 69 Mảng chiều 69 Mảng nhiều chiều 72 Chương 5: CON TRỎ 79 Giới thiệu Con trỏ 79 Biến trỏ (pointer variables) 80 Một số ví dụ trỏ 83 Cấp phát nhớ động 83 Con trỏ void (void pointers) 86 Con trỏ null (Null pointers) 87 Con trỏ mảng 88 Mảng trỏ 89 Chương 6: HÀM 91 Khái niệm hàm 91 Dạng tổng quát hàm 92 Các qui tắc phạm vi hàm 93 Tham số hình thức tham số thực 93 Truyền mảng vào hàm 96 Đối số hàm main 97 Lệnh return 99 Đệ qui 100 Nguyên mẫu hàm (function prototypes) 101 10 Cấu trúc chương trình viết dạng hàm 102 Chương 7: CHUỖI KÝ TỰ 107 Giới thiệu Chuổi 107 Khai báo khởi tạo chuổi 107 Nhập chuổi 108 Xuất chuổi 108 Một số hàm thư viện thao tác chuổi 108 Một số ví dụ chuổi 109 Mảng chuổi 110 Mảng trỏ đến chuổi 112 Chương 8: STRUCTURES – ENUM - typedef 116 Structures 116 Kiểu liệt kê (Enumerations, enum) 122 typedef 123 Khoa Công Nghệ Thông Tin-Đại Học Cơng Nghệ Đồng Nái 3/156 Giáo trình Kỹ Thuật Lập Trình Chương 9: TẬP TIN 126 Streams Files 126 Streams (dòng nhập xuất) 126 Files 127 Truy xuất file ngẫu nhiên 136 Các stream chuẩn 136 Chương 10: QUY ƯỚC VÀ MỘT SỐ LỖI THƯỜNG GẶP 141 1.Quy ước định dạng mã nguồn 141 2.Một số lỗi thường gặp 144 Chương 11: THUẬT TOÁN VÀ KỸ THUẬT CƠ BẢN 153 Khoa Công Nghệ Thông Tin-Đại Học Công Nghệ Đồng Nái 4/156 Giáo trình Kỹ Thuật Lập Trình LỜI MỞ ĐẦU Giáo trình biên soạn nhằm phục vụ cho mơn học Kỹ Thuật Lập Trình trường Đại Học Cơng Nghệ Đồng Nai Tài liệu tập trung vào kỹ thuật lập trình cho người bắt đầu tìm hiểu lập trình, sử dụng ngơn ngữ lập trình C/C++ Do đó, nội dung giáo trình khơng q sâu vào ngơn ngữ C/C++ Sau chương có tập thực hành Để đạt hiệu cao nhất, học viên cần thực hành máy tính làm tập giáo trình Ngồi ra, hai chương cuối giáo trình tập trung thuật tốn lỗi thường gặp người bắt đầy lập trình Nội dung hai chương triển khai rải xuyên suốt trình học Khoa Công Nghệ Thông Tin-Đại Học Công Nghệ Đồng Nái 5/156 Giáo trình Kỹ Thuật Lập Trình Chương TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH C/C++ Lịch sử ngơn ngữ lập trình C/C++ C tạo Dennis Ritchie Bell Telephone Laboratories vào năm 1972 phép lập trình viên phát triển ứng dụng hiệu ngơn ngữ lập trình có thời điểm Điểm mạnh mềm dẻo C cho phép nhà phát triển Bell Labs tạo nên ứng dụng phức tạp hệ điều hành Unix Vào năm 1983, học viện chuẩn quốc gia Mỹ (American National Standards Institute - ANSI) thành lập tiểu ban để chuẩn hóa C biết đến ANSI Standard C Ngày nay, tất trình biên dịch C/C++ tuân theo ANSI Standard C C++ xây dựng tảng ANSI Standard C C++ ngơn ngữ lập trình hướng đối tượng mà bao hàm ngơn ngữ C Trong giáo trình chưa khảo sát phần lập trình hướng đối tượng C++ Phương pháp để giải tốn Một chương trình máy tính thiết kế để giải tốn Vì vậy, bước cần để tìm kiếm lời giải cho toán giống bước cần để viết chương trình Các bước gồm: - Xác định yêu cầu toán - Nghĩ phương cách (algorithm) để tìm lời giải - Thực phương cách - Kiểm tra kết để xem lời giải có với u cầu tốn Khoa Cơng Nghệ Thơng Tin-Đại Học Cơng Nghệ Đồng Nái 6/156 Giáo trình Kỹ Thuật Lập Trình Khi viết chương trình C/C++, bước đề nghị: Xác định mục đích chương trình Nghĩ thuật toán phù hợp để giải toán (dùng mã giả, lưu đồ, ) Cài đặt (viết) thuật toán dùng ngơn ngữ lập trình C/C++ Thực thi chương trình kiểm thử (testing) Các bước chu trình phát triển chương trình Chu trình phát triển chương trình (program development cycle) có bước sau Một trình soạn thảo văn dùng để nhập mã nguồn (source code) Mã nguồn biên dịch (compile) để tạo nên tập tin đối tượng (object file) Các tập tin đối tượng liên kết (link) để tạo nên tập tin thực thi (executable file) Thực (run) chương trình để chương trình có làm việc định khơng Use editor (C-free, Borland C/C++ editor) Source code (.c; cpp files) Compile source file (bc.exe) Object code (.h files) Library files (.exe file) Link object file Executable program Khoa Công Nghệ Thông Tin-Đại Học Công Nghệ Đồng Nái 7/156 Giáo trình Kỹ Thuật Lập Trình 3.1 Soạn thảo mã nguồn (source code editor) Mã nguồn tập lệnh dùng để dẫn máy tính thực cơng việc mong muốn Tập tin mã nguồn lưu trữ với phần phân loại c (C) cpp (C++) 3.2 Biên dịch (compile) Tập tin mã nguồn viết từ giống tiếng Anh nên dễ dàng để đọc hiểu Tuy nhiên, máy tính khơng thể hiểu từ Máy tính yêu cầu dẫn nhị phân (binary) dạng thức ngôn ngữ máy (machine language) Trước chương trình viết ngơn ngữ cấp cao C/C++ thực thi máy tính, phải biên dịch từ mã nguồn sang mã máy Việc dịch thực chương trình gọi trình biên dịch (compiler) Các dẫn ngơn ngữ máy tạo trình biên dịch gọi mã đối tượng (object code) tập tin chứa chúng gọi tập tin đối tượng Tập tin đối tượng có tên tập tin mã nguồn có phần phân loại obj Một compiler khơng dùng để viết code, thường xây dựng dạng ứng dụng command line Có nhiều compiler khác nhau, phục vụ tốt cho người lập trình phổ thơng Việc so sánh đánh giá compiler nằm ngồi nội dung chương trình, học viên tự tìm hiểu thêm Một số compiler thơng dụng: MS Visual C++ Compiler (Windows), GCC (Linux), MingW (Windows), Intel C++ Compiler (Linux, Windows, OS X), Borland C++ Compiler (Windows), … 3.3 Tạo tập tin thực thi (executable files) C/C++ có thư viện hàm chứa mã đối tượng cho hàm tạo sẵn Những hàm thực tác vụ thường dùng xóa hình (clrscr()), nhập chuổi ký tự từ bàn phím Khoa Cơng Nghệ Thông Tin-Đại Học Công Nghệ Đồng Nái 8/156 Giáo trình Kỹ Thuật Lập Trình (gets()), tính bậc hai (sqrt()), mà chương trình viết sử dụng mà viết lại Tập tin đối tượng tạo trình biên dịch kết hợp với mã đối tượng hàm thư viện để tạo nên tập tin thực thi Quá trình gọi liên kết (linking), thực chương trình gọi liên kết (linker) 3.4 Thực thi chương trình Khi chương trình nguồn biên dịch liên kết để tạo nên tập tin thực thi (có phần phân loại exe), thực thi máy tính dấu nhắc hệ thống Nếu chương trình hoạt động khơng u cầu, vấn đề lỗi lập trình Trong trường hợp này, chỉnh sửa chương trình nguồn, biên dịch lại liên kết lại để tạo nên phiên tập tin chương trình Quá trình bốn bước lập lập lập tập tin thực thi thực yêu cầu toán Quá trình soạn thảo chương trình-thực thi thường phải nhờ đến thành phần trợ giúp gỡ rối chương trình có lỗi, gọi debugger Debugger giúp khảo sát phân tích chương trình thực thi, cho phép tạo điểm dừng chương trình (breakpoints) để xem giá trị biến chương trình… Khảo sát chương trình C/C++ đơn giản Khảo sát chương trình đơn giản dùng để xuất hình dòng chữ Hello World! // my first program in C/C++ #include #include int main() { cout