书籍详情

C++程序设计(英文版·第3版)

C++程序设计(英文版·第3版)

作者:(美)Y.Daniel Liang 著

出版社:机械工业出版社

出版时间:2013-06-01

ISBN:9787111425052

定价:¥79.00

购买这本书可以去
内容简介
  梁勇编著的《C++程序设计(英文版第3版)》保持了liang博士系列丛书中一贯的标志性的教与学的哲学:以实例教,由实践学。通过使用他所提出的已经经过实践检验的“基础先行”的方法,liang博士在本书中通过大量实例阐明了基本的C++特性,使得学生可以通过实践来更有效地进行学习。在引入面向对象程序设计思想之前,liang博士使用清晰简明的语言介绍了C++语言的基础概念和基本的程序设计技术,如循环、逐步求精等。这些概念都是使用简短且吸引人的实例来进行阐明的。他还在实例研究中给出了一些较大规模的例子,对这些实例,进行了整体的分析讨论和详细的逐行注解。《C++程序设计(英文版第3版)》可以帮助学生循序渐进地学习所有必须和重要的基本概念,然后再进入到面向对象程序设计方法的学习,最终掌握构建具有异常处理和输入输出功能的有意义的应用程序的方法。贯穿全书的实例和练习都以问题求解为中心,试图培养学生开发可重用组件并创建实际项目的意识。
作者简介
  梁勇(Y.DanielLiang),普度大学终身教授,阿姆斯特朗亚特兰大州立大学计算机科学系教授他所编写的Java教程在美国大学Java课程中采用率极高,同时他还兼任PrenticeHall Java系列丛书的编辑。
目录
Chapter 1 Introduction to Computers, Programs, and C++ 1.1 introduction 1.2 What is a Computer? 1.3 Programming Languages 1.4 Operating Systems 1.5 History of C++ 1.6 A Simple C++ Program 1.7 C++ Program-Development cycle 1.8 Programming Style and Documentation 1.9 Programming Errors Chapter 2 Elementary Programming 2.1 Introduction 2.2 Writing a Simple Program 2.3 Reading Input from the Keyboard 2.4 Identifiers 2.5 Variables 2.6 Assignment Statements and Assignment Expressions 2.7 Named Constants 2,8 Numeric Data Types and Operations 2.9 Evaluating Expressions and Operator Precedence 2.10 Case Study: Displaying the Current Time 2,11 Augmented Assignment Operators 2.12 Increment and Decrement Operators 2.13 Numeric Type Conversions 2.14 Software Development Process 2.15 Case Study: Counting Monetary Units 2.16 Common Errors Chapter 3 Selections 3,1 Introduction 3.2 The boo] Data Type 3.3 if Statements 3,4 Two-Way if-else Statements 3,5 Nested if and Multi-Way if-else Statements 3.6 Common Errors and Pitfalls 3.7 Case Study: Computing Body Mass Index 3.8 Case Study: Computing Taxes 3.9 Generating Random Numbers 3.10 Logical Operators 3.11 Case Study: Determining Leap Year 3.12 Case Study: Lottery 3.13 switch Statements 3.14 Conditional Expressions 3.15 Operator Precedence and Associativity 3.16 Debugging Chapter 4 Mathematical Functions, Characters, and Strings 4.1 Introduction 4.2 Mathematical Functions 4.3 Character Data Type and Operations 4.4 Case Study: Generating Random Characters 4.5 Case Study: Guessing Birthdays 4.6 Character Functions 4.7 Case Study: Converting a Hexadecimal Digit to a Decimal Value 4.8 The string Type 4.9 Case Study: Revising the Lottery Program Using Strings 4.10 Formatting Console Output 4.11 Simple File Input and Output Chapter 5 Loops 5.1 Introduction 5.2 The while Loop 5.3 The do-while Loop 5.4 The for Loop 5.5 Which Loop to Use? 5.6 Nested Loops 5.7 Minimizing Numeric Errors 5.8 Case Studies 5.9 Keywords break and continue 5.10 Case Study: Checking Palindromes 5.11 Case Study: Displaying Prime Numbers Chapter 6 Functions 6.1 Introduction 6.2 Defining a Function 6.3 Calling a Function 6.4 void Functions 6.5 Passing Arguments by Value 6.6 Modularizing Code 6.7 Overloading Functions 6.8 Function Prototypes 6.9 Default Arguments 6.10 Inline Functions 6.11 Local, Global, and Static Local Variables 6.12 Passing Arguments by Reference 6.13 Constant Reference Parameters 6.14 Case Study: Converting Hexadecimals to Decimals 6.15 Function Abstraction and Stepwise Refinement Chapter 7 Single-Dimensional Arrays and C-Strings 7.1 Introduction 7.2 Array Basics 7.3 Problem: Lotto Numbers. 7.4 Problem: Deck of Cards 7.5 Passing Arrays to Functions 7.6 Preventing Changes of Array Arguments in Functions 7.7 Returning Arrays from Functions 7.8 Problem: Counting the Occurrences of Each Letter 7.9 Searching Arrays 7.10 Sorting Arrays 7.11 C-Strings Chapter 8 Multidimensional Arrays 8.1 Introduction 8.2 Declaring Two-Dimensional Arrays 8.3 Processing Two-Dimensional Arrays 8.4 Passing Two-Dimensional Arrays to Functions 8.5 Problem: Grading a Multiple-Choice Test 8.6 Problem: Finding a Closest Pair 8.7 Problem: Sudoku 8.8 Multidimensional Arrays Chapter 9 Objects and Classes 9.1 Introduction 9.2 Defining Classes for Objects 9.3 Example: Defining Classes and Creating Objects 9.4 Constructors 9.5 Constructing and Using Objects 9.6 Separating Class Definition from Implementation 9.1 Preventing Multiple Inclusions 9.8 Inline Functions in Classes 9.9 Data Field Encapsulation 9.10 The Scope of Variables 9.11 Class Abstraction and Encapsulation Chapter 10 Object-Oriented Thinking 10.1 Introduction 10.2 The string Class 10.3 Passing Objects to Functions 10.4 Array of Objects 10.5 Instance and Static Members 10.6 Constant Member Functions I0.7 Thinking in Objects 10.8 Object Composition 10.9 Case Study: The StackOfIntegers Class 10.10 Class Design Guidelines Chapter H Pointers and Dynamic Memory Management 11.1 Introduction 11.2 Pointer Basics 11.3 Defining Synonymous Types Using the typedef Keyword 11.4 Using const with Pointers 11.5 Arrays and Pointers 11.6 Passing Pointer Arguments in a Function Call 11.7 Returning a Pointer from Functions 11.8 Useful Array Functions 11.9 Dynamic Persistent Memory Allocation 1.10 Creating and Accessing Dynamic Objects 1.11 The this Pointer 1.12 Destructors 1.13 Case Study: The Course Class 1.14 Copy Constructors 1.15 Customizing Copy Constructors Chapter 12 Templates, Vectors, and Stacks 12.1 Introduction 12.2 Templates Basics 12.3 Example: A Generic Sort 12.4 Class Templates 12.5 Improving the Stack Class 12.6 The C++ vector Class 12.7 Replacing Arrays Using the vector Class 12.8 Case Study: Evaluating Expressions Chapter 13 File Input and Output 13.1 Introduction 13.2 Text I/O 13.3 Formatting Output 13.4 Functions: getline, get, and put 13.5 fstream and File Open Modes 13.6 Testing Stream States 13.7 Binary IIO 13.8 Random Access File 13.9 Updating Files Chapter 14 Operator Overloading 14.1 Introduction 14.2 The Rational Class 14.3 Operator Functions 14.4 Overloading the Subscript Operator [] 14.5 Overloading Augmented Assignment Operators 14.6 Overloading the Unary Operators 14.7 Overloading the ++ and -- Operators 14.8 friend Functions and friend Classes 14.9 Overloading the << and >> Operators 14.10 Automatic Type Conversions 14.11 Defining Nonmember Functions for Overloading Operators 14.12 The Rational Class with Overloaded Function Operators 14.13 Overloading the = Operators Chapter 15 Inheritance and Polymorphism 15.1 Introduction 15.2 Base Classes and Derived Classes 15.3 Generic Programming 15.4 Constructors and Destructors 15.5 Redefining Functions 15.6 Polymorphism 15.7 Virtual Functions and Dynamic Binding 15.8 The protected Keyword 15.9 Abstract Classes and Pure Virtual Functions 15.10 Casting: stati ccast versus dynami c_cast Chapter 16 Exception Handling 16.1 Introduction 16.2 Exception-Handling Overview 16.3 Exception-Handling Advantages 16.4 Exception Classes 16.5 Custom Exception Classes 16.6 Multiple Catches 16.7 Exception Propagation 16.8 Rethrowing Exceptions 16.9 Exception Specification 16.10 When'to Use Exceptions Chapter 17 Recursion. 17.1 Introduction 17.2 Example: Factorials 17.3 Case Study: Fibonacci Numbers 17.4 Problem Solving Using Recursion 17.5 Recursive Helper Functions 17.6 Towers of Hanoi 17.7 Eight Queens 17.8 Recursion versus Iteration 17.9 Tail Recursion The following bonus chapters are on the book's Companion Website at www.pearsonhighered.com/liang. Chapter 18 Devdoping Efficient Algorithms Chapter 19 Sorting Chapter 20 Linked Lists, Queues, and Priority Queues Chapter 21 Binary Search Trees Chapter 22 STL Containers Chapter 23 STL Algorithms Chapter 24 Graphs and Applications Chapter 25 Weighted Graphs and Applications Chapter 26 AVL Trees and Splay Trees APPENDIXES Appendix A C++ Keywords Appendix B The ASCII Character Set Appendix C Operator Precedence Chart Appendix D Number Systems Appendix E Bitwise Operations INDEX CREDIT
猜您喜欢

读书导航