Nội dung text Tai lieu BDHSG C .pdf
TÀI LIỆU DƯỠNG HỌC SINH GIỎI C++
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI – NGÔN NGỮ LẬP TRÌNH C++ GIỚI THIỆU Trong những năm qua, ngành giáo dục và đào tạo đã tổ chức và triển khai nhiều cuộc thi học sinh giỏi môn Tin học. Về cơ bản, đa số các thầy / cô giáo đang hướng dẫn sử dụng ngôn ngữ lập trình Pascal – Đây là ngôn ngữ đã quá cổ điển và không còn nhận được sự hỗ trợ trên các hệ điều hành mới, đặc biệt là với những màn hình có độ phân giải cao, việc sử dụng công cụ này ngày càng trở lên khó khăn hơn rất nhiều. Tài liệu được xây dựng dựa trên cơ sở các nguồn dữ liệu do các đồng nghiệp cung cấp và một số dữ liệu từ Internet cũng như các kiến thức tác giả đã tìm hiểu, nghiên cứu và phát triển trong quá trình giảng dạy. Hiện tại, công tác thi học sinh giỏi ở Việt Nam đang sử dụng phần mềm Themis để chấm điểm với các ngôn ngữ lập trình được sử dụng là Pascal, C++, Python và Java. Các nội dung INPUT và OUPUT được ghi lại vào tệp *.INP và *.OUT, vì vậy tất cả các bài tập thực hành chúng tôi trình bày theo kiểu đề thi để các em học sinh có thể dễ dàng tiếp cận và tránh được những sai sót trong quá trình làm bài. C++ là ngôn ngữ lập trình hướng đối tượng. Tuy nhiên, tác giả không đề cập đến vấn đề hướng đối tượng, chỉ tập trung vào phần lập trình hướng cấu trúc. Về cơ bản, môn Tin học cũng giống như môn Toán. Chúng ta tập trung chủ yếu vào phần thực hành. Tác giả cũng không đi sâu vào khai thác các vấn đề về lý thuyết mà thông qua các bài tập sẽ giúp cho các em học sinh có thể dễ dàng nắm bắt được các kiến thức thông qua việc giải quyết các bài toán cụ thể. Tài liệu được xây dựng từ những vấn đề đơn giản đến phức tạp theo các nội dung cơ bản của ngôn ngữ lập trình C++. Tác giả rất mong nhận được sự đóng góp ý kiến của quý thầy / cô cũng như các em học sinh tham gia ôn luyện và thi học sinh giỏi bộ môn Tin học khối THCS. Xin trân trọng cảm ơn./.
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI – NGÔN NGỮ LẬP TRÌNH C++ MỤC LỤC 1. Giới thiệu ngôn ngữ lập trình C++ ................................................................................................................1 2. Môi trường lập trình C++ ....................................................................................................................................1 3. Các kiểu dữ liệu.........................................................................................................................................................2 4. Biến, hằng, các phép toán và toán tử....................................................................................................3 5. Hàm ...................................................................................................................................................................................4 6. Tệp và ghi tệp............................................................................................................................................................5 7. Cấu trúc điều kiện...................................................................................................................................................9 8. Vòng lặp.......................................................................................................................................................................18 9. Mảng..............................................................................................................................................................................35 10. Xâu ký tự (string)...............................................................................................................................................55
1. Giới thiệu ngôn ngữ lập trình C++ C++ là ngôn ngữ lập trình phổ biến nhất trên thế giới được phát triển bởi Bjarne Stroustrup. C++ là một phần mở rộng của ngôn ngữ C. Về cơ bản C và C++ gần như là sự tương đồng. C++ cung cấp cho người lập trình khả năng kiểm soát và tối ưu hóa đối với tài nguyên hệ thống và bộ nhớ, được sử dụng để phát triển các hệ điều hành phổ biến như hệ điều hành windows, linus, ios..., phát triển giao diện người dùng đồ họa và các hệ thống nhúng. C++ là một ngôn ngữ lập trình hướng đối tượng mang lại cấu trúc rõ ràng cho các chương trình và cho phép mã được sử dụng lại, giảm chi phí phát triển. C++ là nền tảng để phát triển các ngôn ngữ ứng dụng bậc cao hơn như PHP, Java, javascript, C#, ... 2. Môi trường lập trình C++ Để làm việc với C++ bạn cần phải có trình soạn thảo và cài đặt môi trường để biên dịch mã. Ở đây, có một số công cụ hoàn toàn miễn phí và sử dụng phổ biến như Dev C++, Eclipse, Code::Block, Visual Studio... Các phần mềm này có sự hỗ trợ cho việc soạn thảo cũng như tạo sẵn môi trường để biên dịch mã C++. Để bắt đầu với C++, chúng ta đến với chương trình Hello World: #include using namespace std; int main() { cout << "Hello World!"; return 0; } Trong đó: - Dòng #include là thư viện được khai báo trong mỗi chương trình C++. Đây là môi trường nhập / xuất (input / output) dữ liệu trong C++. Ngoài ra, với các bài toán chúng ta cần quan tâm đến 2 thư viện toán học đặc biệt quan trọng là cmath và algorithm ngoài ra chúng ta cũng cần bổ sung thêm thư viện cstring để xử lý các bài toán về xâu ký tự. - Dòng using namespace std là không gian tên. Nếu ko có dòng này bạn cần nhập std::cout << “Hello World!”; - Toàn bộ chương trình chính sẽ nằm trong phần: int main() { // Nội dung lệnh return 0; } Lưu ý: - Mọi câu lệnh trong C++ đều kết thúc bằng dấu “;”.