圖書描述
For courses in C++ Programming
Fundamentals of C++ for Novices and Experienced Programmers Alike
Intended for use in a two-term, three-term, or accelerated one-term C++ programming sequence, this Ninth Edition of Starting Out with C++: Early Objects introduces the fundamentals of C++ to novices and experienced students alike. In clear, easy-to-understand terms, the text introduces all of the necessary topics for beginning C++ programmers. Real-world examples allow students to apply their knowledge in understanding how, why, and when to implement the features of C++. The text is organized in a progressive, step-by-step fashion that allows for flexibility. Building on the popularity of previous editions, the Ninth Edition has been updated and enhanced with new material, including C++11 topics and recent changes in technology.
MyProgrammingLab?not included. Students, if MyProgrammingLab is a recommended/mandatory component of the course, please ask your instructor for the correct ISBN and course ID. MyProgrammingLab should only be purchased when required by an instructor. Instructors, contact your Pearson representative for more information.
MyProgrammingLabis an online learning system designed to engage students and improve results. MyProgrammingLab consists of a set of programming exercises correlated to the programming concepts in this book and improves the programming competence of beginning students who often struggle with the basic concepts of programming languages. For students, the system automatically detects errors in the logic and syntax of their code submissions and offers targeted hints that enable students to figure out what went wrong. For instructors, a comprehensive gradebook tracks correct and incorrect answers and stores the code inputted by students for review.
本書特色
.C++11 topics have been added to several chapters to support the latest standard version of the C++ language.
.UPDATED! Updated material throughout the book reflects changes in technology and software development environments, improves clarity and incorporates best practices in teaching introductory programming. As a result, new graphics and new or redesigned figures have been added throughout the book where appropriate, and new or improved sample programs have been included in a number of chapters.
.Includes new sections on literals, random numbers, and enumerated data types, as well as improved material on designing classes.
.New Programming Challenge problems have been added to every chapter.
.UPDATED! Chapters have been redesigned to improve student learning. Chapter 5 (Looping) has been reorganized to give students more practice using the while loop before introducing do-while and for loops. The Chapter 6 (Functions) material on defining and calling functions has been reorganized to introduce function prototypes earlier and allow main to always be the first function in a file.
MyProgrammingLab® not included. Students, if MyProgrammingLab is a recommended/mandatory component of the course, please ask your instructor for the correct ISBN and course ID. MyProgrammingLab should only be purchased when required by an instructor. Instructors, contact your Pearson representative for more information.
MyProgrammingLabis an online learning system designed to engage students and improve results. MyProgrammingLab consists of a set of programming exercises correlated to the programming concepts in this book and improves the programming competence of beginning students who often struggle with the basic concepts of programming languages. For students, the system automatically detects errors in the logic and syntax of their code submissions and offers targeted hints that enable students to figure out what went wrong. For instructors, a comprehensive gradebook tracks correct and incorrect answers and stores the code inputted by students for review.
.Interactive Practice provides first-hand programming experience in an interactive online environment.
.Approximately two-hundred small practice exercises cover topics such as variables, calculations, decision statements, loops, procedures, arrays, and more.
.Error Messages for Incorrect Answers give students immediate personalized feedback. The error messages include both the feedback from the compiler and plain English interpretations of likely causes for the incorrect answer.
.Step-by-step VideoNote Tutorials enhance the programming concepts presented in your Pearson textbook by allowing students to view the entire problem-solving process outside of the classroom—when they need help the most.
.Pearson eText gives students access to their textbook anytime, anywhere. In addition to note taking, highlighting, and bookmarking, the eText offers interactive and sharing features. Rich media options let students watch lecture and example videos as they read or do their homework. Instructors can share their comments or highlights, and students can add their own, creating a tight community of learners in your class. The Pearson eText companion app allows existing subscribers to access their titles on an iPad or Android tablet for either online or offline viewing.
.Dynamic grading and assessment provide auto-grading of student assignments, saving you time and offering students immediate learning opportunities:
。A dynamic roster tracks their performance and maintains a record of submissions.
。The color-coded gradebook gives you a quick glance of your classes' progress. Easily drill down to receive information on a single student's performance or a specific problem. Gradebook results can be exported to Excel to use with your LMS.
圖書特色與優點:
This title is a Pearson Global Edition. The Editorial team at Pearson has worked closely with educators around the world to include content which is especially relevant to students outside the United States.
About the Book
.NEW! C++11 topics have been added to several chapters to support the latest standard version of the C++ language.
.UPDATED! Updated material throughout the book reflects changes in technology and software development
environments, improves clarity and incorporates best practices in teaching introductory programming. As a result, new graphics and new or redesigned figures have been added throughout the book where appropriate, and new or improved sample programs have been included in a number of chapters.
.NEW! Includes new sections on literals, random numbers, and enumerated data types, as well as improved material on designing classes.
.NEW! New Programming Challenge problems have been added to every chapter.
.UPDATED! Chapters have been redesigned to improve student learning. Chapter 5 (Looping) has been reorganized to give students more practice using the while loop before introducing do-while and for loops. The Chapter 6 (Functions) material on defining and calling functions has been reorganized to introduce function prototypes earlier and allow main to always be the first function in a file.
.Concept statements at the beginning of each major section summarize the section’s key ideas.
.Over 350 complete examples highlight topics through practical, real-world example programs that students can run themselves.
.Program Outputs use samples to show students how each program should function.
.Tying It All Together sections at the end of each chapter show students how to do something clever and fun with the material covered in that chapter.
.VideoNotes provide a series of online videos developed specifically for the text.
.Checkpoints are questions provided in each chapter for self-testing.
.Notes appear throughout the text, providing short explanations of relevant, interesting, and misunderstood points.
.Warnings caution students about techniques, practices, and features that can lead to malfunctioning programs or lost data.
.Case Studies that simulate real-world applications appear in many chapters throughout the text.
.Review Questions and Exercises in each chapter present a thorough and diverse set of questions for review, such as fill-in-the-blank and short answer questions that check the student’s mastery of the basic material presented in the chapter. These are followed by exercises requiring problem solving and analysis, such as the Algorithm Workbench, Predict the Output, and Find the Errors sections. Each chapter ends with a Soft Skills exercise that focuses on communication and group process skills. Answers to the odd numbered review questions and review exercises are provided in Appendix D at the back of the book.
.Programming Challenges solidify knowledge and present real-world problems.
.Group Projects throughout the text encourage teamwork within the classroom.
.C++ Quick Reference Guide is printed on the inside back cover.
MyProgrammingLab® not included. Students, if MyProgrammingLab is a recommended/mandatory component of the course, please ask your instructor for the correct ISBN and course ID. MyProgrammingLab should only be purchased when required by an instructor. Instructors, contact your Pearson representative for more information.
MyProgrammingLabis an online learning system designed to engage students and improve results. MyProgrammingLab consists of a set of programming exercises correlated to the programming concepts in this book and improves the programming competence of beginning students who often struggle with the basic concepts of programming languages. For students, the system automatically detects errors in the logic and syntax of their code submissions and offers targeted hints that enable students to figure out what went wrong. For instructors, a comprehensive gradebook tracks correct and incorrect answers and stores the code inputted by students for review.
.Interactive Practice provides first-hand programming experience in an interactive online environment.
.Approximately two-hundred small practice exercises cover topics such as variables, calculations, decision statements, loops, procedures, arrays, and more.
.Error Messages for Incorrect Answers give students immediate personalized feedback. The error messages include both the feedback from the compiler and plain English interpretations of likely causes for the incorrect answer.
.Step-by-step VideoNote Tutorials enhance the programming concepts presented in your Pearson textbook by allowing students to view the entire problem-solving process outside of the classroom–when they need help the most.
.Pearson eText gives students access to their textbook anytime, anywhere. In addition to note taking, highlighting, and bookmarking, the eText offers interactive and sharing features. Rich media options let students watch lecture and example videos as they read or do their homework. Instructors can share their comments or highlights, and students can add their own, creating a tight community of learners in your class. The Pearson eText companion app allows existing subscribers to access their titles on an iPad or Android tablet for either online or offline viewing.
.Dynamic grading and assessment provide auto-grading of student assignments, saving you time and offering students immediate learning opportunities:
。A dynamic roster tracks their performance and maintains a record of submissions.
。The color-coded gradebook gives you a quick glance of your classes' progress. Easily drill down to receive information on a single student's performance or a specific problem. Gradebook results can be exported to Excel to use with your LMS.
好的,這是一本關於編程基礎、麵嚮對象概念以及現代 C++ 實踐的教科書簡介,側重於建立堅實的編程思維和解決問題的能力,但與您提到的特定教材無關。 --- 深入淺齣:現代 C++ 編程導論 一本麵嚮初學者的、注重實踐的 C++ 編程指南 本書旨在為那些渴望掌握 C++ 編程語言的初學者提供一條清晰、結構化的學習路徑。我們相信,有效的編程教育不僅需要紮實的語法知識,更需要培養結構化的思維方式、模塊化的設計理念以及高效的問題解決能力。本書以一種循序漸進的方式,引導讀者從最基礎的編程邏輯齣發,逐步深入到 C++ 的核心特性,最終能夠獨立構建復雜、健壯的應用程序。 第一部分:編程的基石與 C++ 環境的建立 在開始任何一門編程語言的學習之前,建立正確的編程思維至關重要。本書的開篇將聚焦於計算思維的培養。我們將探討算法的本質、邏輯流程圖的構建,以及如何將現實世界的問題分解為計算機可以理解的步驟。 隨後,我們將帶領讀者搭建起 C++ 的開發環境。這包括選擇閤適的集成開發環境(IDE)或文本編輯器,理解編譯器和鏈接器的作用,以及如何成功地編譯並運行您的第一個 "Hello, World!" 程序。我們將詳細解釋源代碼到可執行文件的轉化過程,為後續深入學習打下堅實的工程基礎。 第二部分:核心語法與控製結構——構建程序骨架 本部分是語言學習的基石。我們不會僅僅羅列語法規則,而是通過大量的、與日常生活相關的例子來闡述控製結構的作用。 變量、數據類型與運算符: 我們將詳細介紹 C++ 中主要的內置數據類型(如整數、浮點數、字符),並強調類型轉換的潛在陷阱。運算符的優先級和結閤性將被係統梳理,確保讀者能夠精確控製錶達式的求值順序。 程序流程控製: `if-else` 語句、`switch` 結構,以及循環(`for`, `while`, `do-while`)的學習將緊密結閤實際案例,例如判斷閏年、計算級數、以及實現簡單的迭代搜索。我們特彆強調瞭循環不變式(Loop Invariants)的概念,幫助讀者在編寫循環時保證其正確性。 函數:重用代碼的藝術: 函數是程序模塊化的核心。我們將深入講解函數的定義、調用、參數傳遞機製(值傳遞與引用傳遞的區彆),以及如何利用函數重載(Function Overloading)編寫更具通用性的接口。作用域規則和生命周期管理也將在此部分得到詳盡的解釋。 第三部分:數據抽象與復閤類型——組織信息 有效的程序設計離不開對數據的有效組織。本部分將引導讀者從簡單的數據類型過渡到更復雜的數據結構。 數組與字符串: 數組作為連續內存存儲的體現,其底層原理將得到深入剖析。我們將區分 C 風格字符串與 C++ 標準庫中 `std::string` 的使用,重點突齣後者在安全性和功能上的優勢。 指針與內存管理(基礎): 這是 C++ 學習中一個關鍵的轉摺點。我們將清晰地解釋指針是什麼,它如何指嚮內存地址,以及解引用操作的含義。雖然現代 C++ 傾嚮於使用智能指針,但理解原始指針是理解底層機製的必經之路。我們將謹慎地介紹動態內存分配(`new` 和 `delete` 的基本用法),強調內存泄漏的風險。 結構體與枚舉: 我們將展示如何使用 `struct` 關鍵字將相關的數據成員捆綁在一起,從而創建齣自定義的數據模型。枚舉類型則被用於增強代碼的可讀性,通過命名的常量來代替“魔法數字”。 第四部分:麵嚮對象編程(OOP)的初步探索 麵嚮對象編程範式是現代軟件開發的主流。本書將在此階段引入 OOP 的核心概念,為後續深入學習打下堅實的基礎,側重於如何利用 C++ 的特性來實現這些理念。 類與對象的定義: 我們將詳細定義“類”作為藍圖,“對象”作為實例的對應關係。封裝(Encapsulation)的概念將通過訪問控製符(`public`, `private`, `protected`)的實踐來體現,強調數據保護的重要性。 構造函數與析構函數: 理解對象的創建和銷毀過程至關重要。我們將解析默認構造函數、參數化構造函數,以及何時需要定義拷貝構造函數。析構函數的職責——資源的清理——也將被強調。 繼承的引入: 介紹代碼復用的強大機製——繼承。我們將探討基類與派生類的關係,並首次引入多態性的概念,盡管完整的運行時多態將在後續章節深化。 第五部分:C++ 標準庫(STL)的初識與實踐 現代 C++ 的強大很大程度上來源於其標準模闆庫(STL)。本書將有意識地引導讀者盡早接觸 STL,以提高編碼效率和代碼質量。 模闆(Templates)簡介: 我們將介紹函數模闆和類模闆的基本語法,理解模闆如何實現泛型編程,從而編寫齣可以處理任意數據類型的通用代碼。 容器的威力: 我們將重點介紹最常用且最基礎的 STL 容器,如 `std::vector`(動態數組)和 `std::map`(關聯容器)。通過實際操作這些容器,讀者將體會到使用成熟的庫類比自己從零開始實現數據結構的高效性。 迭代器(Iterators): 迭代器被定位為容器與算法之間的橋梁。我們將解釋迭代器的概念,並展示如何使用它們來遍曆和操作容器中的元素,這是實現 STL 算法的基礎。 總結與展望 本書的結構設計力求平衡理論深度與實際操作的結閤。我們通過精心設計的習題和貫穿全書的綜閤項目,確保讀者不僅“知道” C++ 的語法,更能“做到”用 C++ 解決實際問題。學習 C++ 是一個需要毅力的過程,本書提供的不僅僅是知識,更是一套嚴謹的、麵嚮工程實踐的學習方法論。完成本書的學習,讀者將具備紮實的麵嚮對象編程基礎,能夠自信地邁入更高級的 C++ 主題或相關領域(如係統編程、遊戲開發或高性能計算)的深入探索。