具体描述
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++ 主题或相关领域(如系统编程、游戏开发或高性能计算)的深入探索。