وبلاگ بلیان

C++ Programming: Program Design Including Data Structures (MindTap Course List)

معرفی کتاب «C++ Programming: Program Design Including Data Structures (MindTap Course List)» نوشتهٔ D. (creighton University) Malik و D. (creighton University) Malik، منتشرشده توسط نشر CENGAGE Learning Custom Publishing در سال 2017. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «C++ Programming: Program Design Including Data Structures (MindTap Course List)» در دستهٔ بدون دسته‌بندی قرار دارد.

Cover 1 Brief Contents 7 Table of Contents 9 Preface 35 Features of the Book 42 Supplemental Resources 49 Acknowledgments 50 Chapter 1: AN OVERVIEW OF COMPUTERS AND PROGRAMMING LANGUAGES 51 Introduction 52 A Brief Overview of the History of Computers 52 Elements of a Computer System 54 Hardware 54 Central Processing Unit and Main Memory 54 Input/Output Devices 55 Software 55 The Language of a Computer 56 The Evolution of Programming Languages 57 Processing a C11 Program 59 Programming with the Problem Analysis–Coding–Execution Cycle 61 Programming Methodologies 70 Structured Programming 70 Object-Oriented Programming 70 ANSI/ISO Standard C11 72 Quick Review 72 Exercises 74 Chapter 2: BASIC ELEMENTS OF C++ 77 A Quick Look at a C11 Program 78 The Basics of a C11 Program 83 Comments 84 Special Symbols 85 Reserved Words (Keywords) 85 Identifiers 86 Whitespaces 87 Data Types 87 Simple Data Types 88 Floating-Point Data Types 90 Data Types, Variables, and Assignment Statements 92 Arithmetic Operators, Operator Precedence, and Expressions 93 Order of Precedence 95 Expressions 97 Mixed Expressions 98 Type Conversion (Casting) 100 string Type 103 Variables, Assignment Statements, and Input Statements 104 Allocating Memory with Constants and Variables 104 Putting Data into Variables 107 Assignment Statement 107 Saving and Using the Value of an Expression 110 Declaring and Initializing Variables 111 Input (Read) Statement 112 Variable Initialization 115 Increment and Decrement Operators 119 Output 121 Preprocessor Directives 128 namespace and Using cin and cout in a Program 129 Using the string Data Type in a Program 130 Creating a C11 Program 130 Debugging: Understanding and Fixing Syntax Errors 134 Program Style and Form 137 Syntax 137 Use of Blanks 138 Use of Semicolons, Brackets, and Commas 138 Semantics 138 Naming Identifiers 139 Prompt Lines 139 Documentation 140 Form and Style 140 More on Assignment Statements 142 Programming Example: Convert Length 144 Programming Example: Make Change 148 Quick Review 152 Exercises 154 Programming Exercises 164 Chapter 3: INPUT/OUTPUT 173 I/O Streams and Standard I/O Devices 174 cin and the Extraction Operator >> 175 Using Predefined Functions in a Program 180 cin and the get Function 183 cin and the ignore Function 184 The putback and peek Functions 186 The Dot Notation between I/O Stream Variables and I/O Functions: A Precaution 189 Input Failure 189 The clear Function 192 Output and Formatting Output 193 setprecision Manipulator 194 fixed Manipulator 195 showpoint Manipulator 196 C++14 Digit Separator 199 setw 200 Additional Output Formatting Tools 202 setfill Manipulator 202 left and right Manipulators 204 Input/Output and the string Type 206 Debugging: Understanding Logic Errors and Debugging with cout Statements 207 File Input/Output 210 Programming Example: Movie TicketsSale and Donation to Charity 214 Programming Example: Student Grade 220 Quick Review 223 Exercises 225 Programming Exercises 231 Chapter 4: CONTROL STRUCTURES I (SELECTION) 237 Control Structures 238 SELECTION: if AND if . . . else 239 Relational Operators and Simple Data Types 239 Comparing Characters 240 One-Way Selection 241 Two-Way Selection 244 int Data Type and Logical (Boolean) Expressions 248 bool Data Type and Logical (Boolean) Expressions 248 Logical (Boolean) Operators and Logical Expressions 249 Order of Precedence 251 Relational Operators and the string Type 255 Compound (Block of) Statements 257 Multiple Selections: Nested if 257 Comparing if...else Statements with a Series of if Statements 260 Short-Circuit Evaluation 261 Comparing Floating-Point Numbers for Equality: A Precaution 262 Associativity of Relational Operators: A Precaution 263 Avoiding Bugs by Avoiding Partially Understood Concepts and Techniques 265 Input Failure and the if Statement 268 Confusion between the Equality Operator (==) and the Assignment Oper-ator (=) 271 Conditional Operator (:) 273 Program Style and Form (Revisited): Indentation 274 Using Pseudocode to Develop, Test, and Debug a Program 274 switch Structures 277 Avoiding Bugs by Avoiding Partially Understood Concepts and Techniques (Revisited) 284 Terminating a Program with the assert Function 286 Programming Example: Cable Company Billing 288 Quick Review 294 Exercises 295 Programming Exercises 307 Chapter 5: CONTROL STRUCTURES II (REPETITION) 315 Why Is Repetition Needed 316 while Looping (Repetition) Structure 319 Designing while Loops 323 Case 1: Counter-Controlled while Loops 324 Case 2: Sentinel-Controlled while Loops 327 Case 3: Flag-Controlled while Loops 333 Case 4: EOF-Controlled while Loops 336 eof Function 337 More on Expressions in while Statements 342 Programming Example: Fibonacci Number 343 for Looping (Repetition) Structure 347 Programming Example: Classifying Numbers 355 do...while Looping (Repetition) Structure 359 Divisibility Test by 3 and 9 361 Choosing the Right Looping Structure 363 break and continue Statements 363 Nested Control Structures 365 Avoiding Bugs by Avoiding Patches 371 Debugging Loops 374 Quick Review 374 Exercises 376 Programming Exercises 390 Chapter 6: USER-DEFINED FUNCTIONS 397 Predefined Functions 398 User-Defined Functions 402 Value-Returning Functions 403 Syntax: Value-Returning Function 405 Syntax: Formal Parameter List 405 Function Call 405 Syntax: Actual Parameter List 406 return Statement 406 Syntax: return Statement 406 Function Prototype 410 Syntax: Function Prototype 411 Value-Returning Functions: Some Peculiarities 412 More Examples of Value-Returning Functions 414 Flow of Compilation and Execution 425 Programming Example: Largest Number 426 Void Functions 428 Value Parameters 434 Reference Variables as Parameters 436 Calculate Grade 437 Value and Reference Parameters and Memory Allocation 440 Reference Parameters and Value-Returning Functions 449 Scope of an Identifier 449 Global Variables, Named Constants, and Side Effects 453 Static and Automatic Variables 461 Debugging: Using Drivers and Stubs 463 Function Overloading: An Introduction 465 Functions with Default Parameters 467 Programming Example: Classify Numbers 470 Programming Example: Data Comparison 475 Quick Review 485 Exercises 488 Programming Exercises 503 Chapter 7: USER-DEFINED SIMPLE DATA TYPES, NAMESPACES, AND THE STRING TYPE 517 Enumeration Type 518 Declaring Variables 520 Assignment 520 Operations on Enumeration Types 521 Relational Operators 521 Input /Output of Enumeration Types 522 Functions and Enumeration Types 525 Declaring Variables When Defining the Enumeration Type 526 Anonymous Data Types 527 typedef Statement 527 Programming Example: The Game of Rock, Paper, and Scissors 528 Namespaces 537 string Type 542 Additional string Operations 546 Programming Example: Pig Latin Strings 555 Quick Review 560 Exercises 562 Programming Exercises 567 Chapter 8: ARRAYS AND STRINGS 571 Arrays 573 Accessing Array Components 575 Processing One-Dimensional Arrays 577 Array Index Out of Bounds 581 Array Initialization during Declaration 582 Partial Initialization of Arrays during Declaration 582 Some Restrictions on Array Processing 583 Arrays as Parameters to Functions 584 Constant Arrays as Formal Parameters 585 Base Address of an Array and Array in Computer Memory 587 Functions Cannot Return a Value of the Type Array 590 Integral Data Type and Array Indices 593 Other Ways to Declare Arrays 594 Searching an Array for a Specific Item 594 Sorting 597 Auto Declaration and Range-Based For Loops 601 C-Strings (Character Arrays) 602 String Comparison 605 Reading and Writing Strings 606 String Input 606 String Output 608 Specifying Input/Output Files at Execution Time 609 string Type and Input/Output Files 609 Parallel Arrays 610 Two- and Multidimensional Arrays 611 Accessing Array Components 613 Two-Dimensional Array Initialization during Declaration 614 Two-Dimensional Arrays and Enumeration Types 614 Initialization 617 Print 618 Input 618 Sum by Row 618 Sum by Column 618 Largest Element in Each Row and Each Column 619 Passing Two-Dimensional Arrays as Parameters to Functions 620 Arrays of Strings 623 Arrays of Strings and the string Type 623 Arrays of Strings and C-Strings (Character Arrays) 623 Another Way to Declare a Two-Dimensional Array 624 Multidimensional Arrays 625 Programming Example: Code Detection 627 Programming Example: Text Processing 633 Quick Review 640 Exercises 642 Programming Exercises 654 Chapter 9: RECORDS (STRUCTS) 661 Records (structs) 662 Accessing struct Members 664 Assignment 667 Comparison (Relational Operators) 668 Input/Output 668 struct Variables and Functions 669 Arrays versus structs 670 Arrays in structs 670 structs in Arrays 673 structs within a struct 674 Programming Example: Sales Data Analysis 678 Quick Review 692 Exercises 693 Programming Exercises 698 Chapter 10: CLASSES AND DATA ABSTRACTION 701 Classes 702 Unified Modeling Language Class Diagrams 706 Variable (Object) Declaration 706 Accessing Class Members 707 Built-in Operations on Classes 709 Assignment Operator and Classes 709 Class Scope 710 Functions and Classes 710 Reference Parameters and Class Objects (Variables) 710 Implementation of Member Functions 711 Accessor and Mutator Functions 716 Order of public and private Members of a Class 720 Constructors 721 Invoking a Constructor 723 Invoking the Default Constructor 723 Invoking a Constructor with Parameters 724 Constructors and Default Parameters 727 Classes and Constructors: A Precaution 727 In-line Initialization of Data Members and the Default Constructor 728 Arrays of Class Objects (Variables) and Constructors 729 Destructors 731 Data Abstraction, Classes, and Abstract Data Types 732 A struct versus a class 734 Information Hiding 735 Executable Code 739 More Examples of Classes 741 Inline Functions 750 Static Members of a Class 751 Programming Example: Juice Machine 757 Quick Review 772 Exercises 774 Programming Exercises 786 Chapter 11: INHERITANCE AND COMPOSITION 793 Inheritance 794 Redefining (Overriding) Member Functions of the Base Class 797 Constructors of Derived and Base Classes 804 Destructors in a Derived Class 813 Multiple Inclusions of a Header File 814 C11 Stream Classes 818 Protected Members of a Class 819 Inheritance as public, protected, or private 819 (Accessing protected Members in the Derived Class) 820 Composition (Aggregation) 823 Object-Oriented Design (OOD) and Object-Oriented Programming (OOP) 828 Identifying Classes, Objects, and Operations 830 Programming Example: Grade Report 831 Quick Review 852 Exercises 852 Programming Exercises 861 Chapter 12: POINTERS, CLASSES, VIRTUAL FUNCTIONS, ABSTRACT CLASSES, AND LISTS 867 Pointer Data Type and Pointer Variables 868 Declaring Pointer Variables 868 Address of Operator (&) 870 Dereferencing Operator (*) 871 Classes, Structs, and Pointer Variables 876 Initializing Pointer Variables 879 Initializing Pointer Variables Using nullptr 879 Dynamic Variables 880 Operator new 880 Operator delete 881 Operations on Pointer Variables 885 Dynamic Arrays 887 Arrays and Range-Based for Loops (Revisited) 890 Functions and Pointers 891 Pointers and Function Return Values 892 Dynamic Two-Dimensional Arrays 892 Shallow versus Deep Copy and Pointers 895 Classes and Pointers: Some Peculiarities 897 Destructor 898 Assignment Operator 899 Copy Constructor 901 Inheritance, Pointers, and Virtual Functions 908 Classes and Virtual Destructors 915 Abstract Classes and Pure Virtual Functions 916 Array-Based Lists 924 Unordered Lists 931 Ordered Lists 936 Address of Operator and Classes 937 Quick Review 939 Exercises 942 Programming Exercises 953 Chapter 13: OVERLOADING AND TEMPLATES 957 Why Operator Overloading Is Needed 958 Operator Overloading 959 Syntax for Operator Functions 960 Overloading an Operator: Some Restrictions 960 Pointer this 963 Friend Functions of Classes 968 Operator Functions as Member Functions and Nonmember Functions 971 Overloading Binary Operators 974 Overloading the Stream Insertion ( ) Operators 980 Overloading the Assignment Operator (=) 985 Overloading Unary Operators 993 Operator Overloading: Member versus Nonmember 999 Classes and Pointer Member Variables (Revisited) 1000 Operator Overloading: One Final Word 1000 Programming Example: clockType 1000 Programming Example: Complex Numbers 1009 Overloading the Array Index (Subscript) Operator ([]) 1014 Programming Example: newString 1016 Function Overloading 1023 Templates 1023 Function Templates 1023 Class Templates 1025 Array-Based Lists (Revisited) 1028 C1111 Random Number Generator 1035 Quick Review 1037 Exercises 1039 Programming Exercises 1046 Chapter 14: EXCEPTION HANDLING 1057 Handling Exceptions within a Program 1058 C11 Mechanisms of Exception Handling 1062 try/catch Block 1062 Using C11 Exception Classes 1069 Creating Your Own Exception Classes 1073 Rethrowing and Throwing an Exception 1082 Exception-Handling Techniques 1086 Terminate the Program 1086 Fix the Error and Continue 1086 Log the Error and Continue 1087 Stack Unwinding 1088 Quick Review 1091 Exercises 1093 Programming Exercises 1099 Chapter 15: RECURSION 1101 Recursive Definitions 1102 Direct and Indirect Recursion 1104 Infinite Recursion 1104 Problem Solving Using Recursion 1105 Tower of Hanoi: Analysis 1115 Recursion or Iteration 1115 Programming Example: Converting a Number from Binary to Decimal 1117 Programming Example: Converting a Number from Decimal to Binary 1121 Quick Review 1124 Exercises 1125 Programming Exercises 1130 Chapter 16: LINKED LISTS 1135 Linked Lists 1136 Linked Lists: Some Properties 1137 Deletion 1143 Building a Linked List 1144 Linked List as an ADT 1149 Structure of Linked List Nodes 1150 Member Variables of the class linkedListType 1150 Linked List Iterators 1151 Print the List 1157 Length of a List 1158 Retrieve the Data of the First Node 1158 Retrieve the Data of the Last Node 1158 Begin and End 1158 Copy the List 1159 Destructor 1160 Copy Constructor 1160 Overloading the Assignment Operator 1161 Unordered Linked Lists 1161 Search the List 1162 Insert the First Node 1163 Insert the Last Node 1164 Header File of the Unordered Linked List 1169 Ordered Linked Lists 1170 Search the List 1171 Insert a Node 1172 Insert First and Insert Last 1176 Delete a Node 1177 Header File of the Ordered Linked List 1178 Print a Linked List in Reverse Order (Recursion Revisited) 1181 printListReverse 1183 Doubly Linked Lists 1184 Default Constructor 1187 isEmptyList 1187 Destroy the List 1187 Initialize the List 1188 Length of the List 1188 Print the List 1188 Reverse Print the List 1188 Search the List 1189 First and Last Elements 1189 Circular Linked Lists 1195 Programming Example: DVD Store 1196 Quick Review 1216 Exercises 1216 Programming Exercises 1223 Chapter 17: STACKS AND QUEUES 1229 Stacks 1230 Stack Operations 1232 Implementation of Stacks as Arrays 1234 Initialize Stack 1237 Empty Stack 1238 Full Stack 1238 Push 1238 Return the Top Element 1240 Pop 1240 Copy Stack 1242 Constructor and Destructor 1242 Copy Constructor 1243 Overloading the Assignment Operator (=) 1243 Stack Header File 1244 Programming Example: Highest GPA 1248 Linked Implementation of Stacks 1252 Default Constructor 1255 Empty Stack and Full Stack 1255 Initialize Stack 1256 Push 1256 Return the Top Element 1258 Pop 1258 Copy Stack 1260 Constructors and Destructors 1261 Overloading the Assignment Operator (=) 1261 Stack as Derived from the class unorderedLinkedList 1264 Application of Stacks: Postfix Expressions Calculator 1265 Main Algorithm 1268 Function evaluateExpression 1268 Function evaluateOpr 1270 Function discardExp 1272 Function printResult 1272 Removing Recursion: Nonrecursive Algorithm to Print a Linked List Backward 1275 Queues 1279 Queue Operations 1280 Implementation of Queues as Arrays 1282 Linked Implementation of Queues 1291 Queue Derived from the class unorderedLinkedListType 1296 Application of Queues: Simulation 1297 Designing a Queuing System 1298 Customer 1299 Server 1302 Server List 1305 Waiting Customers Queue 1309 Main Program 1311 Quick Review 1315 Exercises 1316 Programming Exercises 1325 Chapter18: SEARCHING AND SORTING ALGORITHMS 1329 Searching and Sorting Algorithms 1330 Search Algorithms 1330 Sequential Search 1331 Binary Search 1333 Performance of Binary Search 1338 Binary Search Algorithm and the class ordered ArrayListType 1339 Asymptotic Notation: Big-O Notation 1339 Lower Bound on Comparison-Based Search Algorithms 1347 Sorting Algorithms 1347 Sorting a List: Bubble Sort 1347 Analysis: Bubble Sort 1351 Bubble Sort Algorithm and the class unorderedArrayListType 1352 Selection Sort: Array-Based Lists 1353 Analysis: Selection Sort 1355 Insertion Sort: Array-Based Lists 1355 Analysis: Insertion Sort 1359 Lower Bound on Comparison-Based Sort Algorithms 1360 Quick Sort: Array-Based Lists 1361 Analysis: Quick Sort 1367 Merge Sort: Linked List–Based Lists 1368 Divide 1370 Merge 1372 Analysis: Merge Sort 1375 Programming Example: Election Results 1378 Quick Review 1399 Exercises 1400 Programming Exercises 1406 Chapter19: BINARY TREES 1411 Binary Trees 1412 Copy Tree 1417 Binary Tree Traversal 1418 Implementing Binary Trees 1423 Binary Search Trees 1431 Binary Search Tree: Analysis 1442 Nonrecursive Binary Tree Traversal Algorithms 1443 Nonrecursive Inorder Traversal 1443 Nonrecursive Preorder Traversal 1445 Nonrecursive Postorder Traversal 1446 Binary Tree Traversal Algorithms and Functions as Parameters 1447 Programming Example: DVD Store (Revisited) 1451 Quick Review 1459 Exercises 1460 Programming Exercises 1464 Chapter20: GRAPHS 1467 Introduction 1468 Graph Definitions and Notations 1469 Graph Representation 1472 Adjacency Matrix 1472 Adjacency Lists 1473 Operations on Graphs 1473 Graphs as ADTs 1474 Graph Traversals 1478 Depth First Traversal 1478 Breadth First Traversal 1480 Shortest Path Algorithm 1482 Shortest Path 1484 Minimal Spanning Tree 1490 Quick Review 1497 Exercises 1499 Programming Exercises 1502 Chapter 21: STANDARD TEMPLATE LIBRARY (STL) 1505 Components of the STL 1506 Container Types 1507 Sequence Containers 1507 Sequence Container: vector 1507 Member Functions Common to All Containers 1516 Member Functions Common to Sequence Containers 1518 The copy Algorithm 1519 Range-Based for Loops 1522 Initializing vector Objects during Declaration 1525 Sequence Container: deque 1526 Sequence Container: list 1530 Iterators 1537 Types of Iterators 1537 Stream Iterators 1543 istream_iterator 1543 ostream_iterator 1543 Associative Containers 1543 Associative Containers: set and multiset 1544 Declaring set or multiset Associative Containers 1544 Item Insertion and Deletion from set/multiset 1546 Container Adapters 1550 Stack 1550 Queue 1552 Containers, Associated Header Files, and Iterator Support 1553 Algorithms 1554 STL Algorithm Classification 1555 Function Objects 1557 Insert Iterator 1563 STL Algorithms 1565 The Functions fill and fill_n 1565 The Functions generate and generate_n 1567 The Functions find, find_if, find_end, and find_first_of 1569 The Functions remove, remove_if, remove_copy,and remove_copy_if 1574 The Functions replace, replace_if, replace_copy, and replace_copy_if 1577 The Functions swap, iter_swap, and swap_ranges 1581 The Functions search, search_n, sort, and binary_search 1584 The Functions adjacent_find, merge, and inplace_merge 1588 The Functions reverse, reverse_copy, rotate, and rotate_copy 1592 The Functions count, count_if, max, max_element, min, min_element, and random_shuffle 1595 The Functions for_each and transform 1599 The Functions includes, set_intersection, set_union, set_difference, and set_symmetric_difference 1602 The Functions accumulate, adjacent_difference, inner_product, and partial_sum 1610 Quick Review 1615 Exercises 1619 Programming Exercises 1624 APPENDIX A: Reserved Words 1625 APPENDIX B: Operator Precedence 1627 APPENDIX C: Character Sets 1629 ASCII (American Standard Code for Information Interchange) 1629 EBCDIC (Extended Binary Coded Decimal Interchange Code) 1630 APPENDIX D: OPERATOR OVERLOADING 1633 APPENDIX E: ADDITIONAL C++ TOPICS 1635 Binary (Base 2) Representation of a Nonnegative Integer 1635 Converting a Base 10 Number to a Binary Number (Base 2) 1635 Converting a Binary Number (Base 2) to Base 10 1637 Converting a Binary Number (Base 2) to Octal (Base 8) and Hexadecimal (Base 16) 1638 More on File Input/Output 1640 Binary Files 1640 Random File Access 1646 Naming Conventions of Header Files in ANSI/ISO Standard C++ and Standard C++ 1654 APPENDIX F: HEADER FILES 1657 Header File cassert (assert.h) 1657 Header File cctype (ctype.h) 1658 Header File cfloat (float.h) 1659 Header File climits (limits.h) 1660 Header File cmath (math.h) 1662 Header File cstddef (stddef.h) 1663 Header File cstring (string.h) 1663 APPENDIX G: MEMORY SIZE ON A SYSTEM 1667 APPENDIX H: REFERENCES 1669 APPENDIX I: ANSWERS TO ODD-NUMBERED EXERCISES 1671 Chapter 1 1671 Chapter 2 1674 Chapter 3 1678 Chapter 4 1679 Chapter 5 1682 Chapter 6 1684 Chapter 7 1687 Chapter 8 1689 Chapter 9 1691 Chapter 10 1693 Chapter 11 1697 Chapter 12 1700 Chapter 13 1702 Chapter 14 1704 Chapter 15 1707 Chapter 16 1708 Chapter 17 1709 Chapter 18 1712 Chapter 19 1714 Chapter 20 1716 Chapter 21 1718 INDEX 1719 Learn How To Program With C++ Using Today’s Definitive Choice For Your First Programming Language Experience -- C++ Programming: Program Design Including Data Structures, 8e. D.s. Malik’s Time-tested, User-centered Methodology Incorporates A Strong Focus On Problem-solving With Full-code Examples That Vividly Demonstrate The Hows And Whys Of Applying Programming Concepts And Utilizing C++ To Work Through A Problem. Thoroughly Updated End-of-chapter Exercises, More Than 20 Extensive New Programming Exercises, And Numerous New Examples Drawn From Dr. Malik’s Experience Further Strengthen The Reader’s Understanding Of Problem Solving And Program Design In This New Edition. This Book Highlights The Most Important Features Of C++ 14 Standard With Timely Discussions That Ensure This Edition Equips You To Succeed In Your First Programming Experience And Well Beyond. Important Notice: Media Content Referenced Within The Product Description Or The Product Text May Not Be Available In The Ebook Version. Learn how to program with C using today’s definitive choice for your first programming language experience -- C PROGRAMMING: FROM PROBLEM ANALYSIS TO PROGRAM DESIGN, 8E. D.S. Malik’s time-tested, student-centered methodology incorporates a strong focus on problem-solving with full-code examples that vividly demonstrate the hows and whys of applying programming concepts and utilizing C to work through a problem. Thoroughly updated end-of-chapter exercises, more than 20 extensive new programming exercises, and numerous new examples drawn from Dr. Malik’s experience further strengthen your understanding of problem solving and program design in this new edition. You review the important features of C 14 Standard with timely discussions that ensure this edition equips you to succeed in your CS1 course and beyond.
Important Notice: Media content referenced within the product description or the product text may not be available in the ebook version.
C++ PROGRAMMING: FROM PROBLEM ANALYSIS TO PROGRAM DESIGN, 6E, International Edition remains the definitive text for a first programming language course. D.S. Malik's time-tested, student-centered methodology uses a strong focus on problem-solving and full-code examples to vividly demonstrate the how and why of applying programming concepts and utilizing C++ to work through a problem. This new edition includes updated end-of-chapter exercises, new debugging exercises, an earlier introduction to variables and a streamlined discussion of user-discussion of user-defined functions to best meet the needs of the modern CS1 course.An optional CourseMate brings C++ PROGRAMMING: FROM PROBLEM ANALYSIS TO PROGRAM DESIGN, 6E, International Edition to life with interactive study tools including videos, quizzing, flashcards, and games. The Course Mate's digital Lab Manual offers additional hands-on exercises, allowing students to reinforce critical thinking through practice Learn how to program with C++ using today's definitive choice for your first programming language experience -- C++ PROGRAMMING: PROGRAM DESIGN INCLUDING DATA STRUCTURES, 8E. D.S. Malik's time-tested, student-centered methodology incorporates a strong focus on problem-solving with full-code examples that vividly demonstrate the hows and whys of applying programming concepts and utilizing C++ to work through a problem. Thoroughly updated end-of-chapter exercises, more than 20 extensive new programming exercises, and numerous new examples drawn from Dr. Malik's experience further strengthen your understanding of problem solving and program design in this new edition. You review the important features of C++ 14 Standard with timely discussions that ensure this edition equips you to succeed in your CS1 course and beyond.
دانلود کتاب C++ Programming: Program Design Including Data Structures (MindTap Course List)