معرفی کتاب «C How to Program, Global Edition» نوشتهٔ Deitel, Harvey M.; Deitel, Paul J، منتشرشده توسط نشر Pearson Higher Education & Professional Group در سال 2015. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «C How to Program, Global Edition» در دستهٔ بدون دستهبندی قرار دارد.
For courses in computer programming C How to Program is a comprehensive introduction to programming in C. Like other texts of the Deitels' How to Program series, the book serves as a detailed beginner source of information for college students looking to embark on a career in coding, or instructors and software-development professionals seeking to learn how to program with C. The Eighth Edition continues the tradition of the signature Deitel "Live Code" approach--presenting concepts in the context of full-working programs rather than incomplete snips of code. This gives readers a chance to run each program as they study it and see how their learning applies to real world programming scenarios. Cover......Page 1 Title Page......Page 4 Copyright Page......Page 5 Contents......Page 8 Preface......Page 24 1 Introduction to Computers, the Internet and the Web 33......Page 34 1.1 Introduction 34......Page 35 1.2.1 Moore’s Law 35......Page 36 1.2.2 Computer Organization 36......Page 37 1.3 Data Hierarchy 37......Page 38 1.4 Machine Languages, Assembly Languages and High-Level Languages 40......Page 41 1.5 The C Programming Language 41......Page 42 1.6 C Standard Library 42......Page 43 1.7 C++ and Other C-Based Languages 43......Page 44 1.8 Object Technology 44......Page 45 1.8.4 Reuse 45......Page 46 1.8.8 Inheritance 46......Page 47 1.9 Typical C Program-Development Environment 47......Page 48 1.9.3 Phase 4: Linking 48......Page 49 1.10 Test-Driving a C Application in Windows, Linux and Mac OS X 49......Page 50 1.10.1 Running a C Application from the Windows Command Prompt 50......Page 51 1.10.2 Running a C Application Using GNU C with Linux 53......Page 54 1.10.3 Running a C Application Using the Teminal on Mac OS X 56......Page 57 1.11.2 Linux—An Open-Source Operating System 59......Page 60 1.11.4 Google’s Android 60......Page 61 1.12.2 The World Wide Web: Making the Internet User-Friendly 61......Page 62 1.12.3Web Services 62......Page 63 1.13 Some Key Software Terminology 64......Page 65 1.14 Keeping Up-to-Date with Information Technologies 66......Page 67 2 Introduction to C Programming 71......Page 72 2.2 A Simple C Program: Printing a Line of Text 72......Page 73 2.3 Another Simple C Program: Adding Two Integers 76......Page 77 2.4 Memory Concepts 80......Page 81 2.5 Arithmetic in C 81......Page 82 2.6 Decision Making: Equality and Relational Operators 85......Page 86 2.7 Secure C Programming 89......Page 90 3 Structured Program Development in C 101......Page 102 3.3 Pseudocode 102......Page 103 3.4 Control Structures 103......Page 104 3.5 The if Selection Statement 105......Page 106 3.6 The if...else Selection Statement 106......Page 107 3.7 The while Iteration Statement 110......Page 111 3.8 Formulating Algorithms Case Study 1: Counter-Controlled Iteration 111......Page 112 3.9 Formulating Algorithms with Top-Down, Stepwise Refinement Case Study 2: Sentinel-Controlled Iteration 114......Page 115 3.10 Formulating Algorithms with Top-Down, Stepwise Refinement Case Study 3: Nested Control Statements 120......Page 121 3.11 Assignment Operators 124......Page 125 3.12 Increment and Decrement Operators 125......Page 126 3.13 Secure C Programming 127......Page 128 4 C Program Control 145......Page 146 4.2 Iteration Essentials 146......Page 147 4.3 Counter-Controlled Iteration 147......Page 148 4.4 for Iteration Statement 148......Page 149 4.5 for Statement: Notes and Observations 151......Page 152 4.6 Examples Using the for Statement 152......Page 153 4.7 switch Multiple-Selection Statement 155......Page 156 4.8 do...while Iteration Statement 161......Page 162 4.9 break and continue Statements 162......Page 163 4.10 Logical Operators 164......Page 165 4.11 Confusing Equality (==) and Assignment (=) Operators 167......Page 168 4.12 Structured Programming Summary 169......Page 170 4.13 Secure C Programming 174......Page 175 5 C Functions 189......Page 190 5.2 Modularizing Programs in C 190......Page 191 5.3 Math Library Functions 191......Page 192 5.5 Function Definitions 193......Page 194 5.5.1 square Function 194......Page 195 5.5.2 maximum Function 197......Page 198 5.6 Function Prototypes: A Deeper Look 198......Page 199 5.7 Function Call Stack and Stack Frames 200......Page 201 5.8 Headers 204......Page 205 5.9 Passing Arguments By Value and By Reference 205......Page 206 5.10 Random Number Generation 206......Page 207 5.11 Example: A Game of Chance; Introducing enum 210......Page 211 5.12 Storage Classes 214......Page 215 5.13 Scope Rules 216......Page 217 5.14 Recursion 219......Page 220 5.15 Example Using Recursion: Fibonacci Series 222......Page 223 5.16 Recursion vs. Iteration 226......Page 227 5.17 Secure C Programming 227......Page 228 6 C Arrays 246......Page 247 6.2 Arrays 247......Page 248 6.4.1 Defining an Array and Using a Loop to Set the Array’s Element Values 249......Page 250 6.4.2 Initializing an Array in a Definition with an Initializer List 250......Page 251 6.4.3 Specifying an Array’s Size with a Symbolic Constant and Initializing Array Elements with Calculations 252......Page 253 6.4.4 Summing the Elements of an Array 253......Page 254 6.4.5 Using Arrays to Summarize Survey Results 254......Page 255 6.4.6 Graphing Array Element Values with Histograms 256......Page 257 6.5 Using Character Arrays to Store and Manipulate Strings 257......Page 258 6.5.4 Inputting into a Character Array 258......Page 259 6.5.6 Demonstrating Character Arrays 259......Page 260 6.6 Static Local Arrays and Automatic Local Arrays 260......Page 261 6.7 Passing Arrays to Functions 262......Page 263 6.8 Sorting Arrays 266......Page 267 6.9 Case Study: Computing Mean, Median and Mode Using Arrays 268......Page 269 6.10.1 Searching an Array with Linear Search 273......Page 274 6.10.2 Searching an Array with Binary Search 274......Page 275 6.11.1 Illustrating a Double-Subcripted Array 278......Page 279 6.11.2 Initializing a Double-Subcripted Array 279......Page 280 6.11.4 Totaling the Elements in a Two-Dimensional Array 281......Page 282 6.11.5 Two-Dimensonal Array Manipulations 282......Page 283 6.12 Variable-Length Arrays2 285......Page 286 6.13 Secure C Programming 288......Page 289 7 C Pointers 306......Page 307 7.1 Introduction 307......Page 308 7.2 Pointer Variable Definitions and Initialization 308......Page 309 7.3 Pointer Operators 309......Page 310 7.4 Passing Arguments to Functions by Reference 311......Page 312 7.5 Using the const Qualifier with Pointers 315......Page 316 7.5.1 Converting a String to Uppercase Using a Non-Constant Pointer to Non-Constant Data 316......Page 317 7.5.2 Printing a String One Character at a Time Using a Non-Constant Pointer to Constant Data 317......Page 318 7.5.3 Attempting to Modify a Constant Pointer to Non-Constant Data 319......Page 320 7.5.4 Attempting to Modify a Constant Pointer to Constant Data 320......Page 321 7.6 Bubble Sort3 Using Pass-by-Reference 321......Page 322 7.7 sizeof Operator 324......Page 325 7.8.2 Aiming a Pointer at an Array 327......Page 328 7.8.5 Incrementing and Decrementing a Pointer 328......Page 329 7.8.9 Comparing Pointers 329......Page 330 7.9.1 Pointer/Offset Notation 330......Page 331 7.9.4 Demonstrating Pointer Indexing and Offsets 331......Page 332 7.9.5 String Copying with Arrays and Pointers 332......Page 333 7.10 Arrays of Pointers 334......Page 335 7.11 Case Study: Card Shuffling and Dealing Simulation 335......Page 336 7.12.1 Sorting in Ascending or Descending Order 340......Page 341 7.12.2 Using Function Pointers to Create a Menu-Driven System 343......Page 344 7.13 Secure C Programming 345......Page 346 8 C Characters and Strings 365......Page 366 8.2 Fundamentals of Strings and Characters 366......Page 367 8.3.1 Functions isdigit, isalpha, isalnum and isxdigit 368......Page 369 8.3.2 Functions islower, isupper, tolower and toupper 371......Page 372 8.3.3 Functions isspace, iscntrl, ispunct, isprint and isgraph 372......Page 373 8.4.1 Function strtod 374......Page 375 8.4.2 Function strtol 375......Page 376 8.5 Standard Input/Output Library Functions 376......Page 377 8.5.1 Functions fgets and putchar 377......Page 378 8.5.2 Function getchar 378......Page 379 8.5.3 Function sprintf 379......Page 380 8.5.4 Function sscanf 380......Page 381 8.6 String-Manipulation Functions of the String-Handling Library 381......Page 382 8.6.2 Functions strcat and strncat 382......Page 383 8.7 Comparison Functions of the String-Handling Library 383......Page 384 8.8 Search Functions of the String-Handling Library 385......Page 386 8.8.1 Function strchr 386......Page 387 8.8.3 Function strpbrk 387......Page 388 8.8.4 Function strrchr 388......Page 389 8.8.6 Function strstr 389......Page 390 8.8.7 Function strtok 390......Page 391 8.9 Memory Functions of the String-Handling Library 391......Page 392 8.9.1 Function memcpy 392......Page 393 8.9.2 Function memmove 393......Page 394 8.9.4 Function memchr 394......Page 395 8.10 Other Functions of the String-Handling Library 395......Page 396 8.10.2 Function strlen 396......Page 397 8.11 Secure C Programming 397......Page 398 9 C Formatted Input/Output 409......Page 410 9.3 Formatting Output with printf 410......Page 411 9.4 Printing Integers 411......Page 412 9.5 Printing Floating-Point Numbers 412......Page 413 9.5.2 Conversion Specifiers g and G 413......Page 414 9.6 Printing Strings and Characters 414......Page 415 9.7 Other Conversion Specifiers 415......Page 416 9.8.1 Specifying Field Widths for Printing Integers 416......Page 417 9.8.2 Specifying Precisions for Integers, Floating-Point Numbers and Strings 417......Page 418 9.8.3 Combining Field Widths and Precisions 418......Page 419 9.9.1 Right and Left Justification 419......Page 420 9.9.3 Using the Space Flag 420......Page 421 9.9.5 Using the 0 Flag 421......Page 422 9.11 Reading Formatted Input with scanf 422......Page 423 9.11.2 scanf Conversion Specifiers 423......Page 424 9.11.3 Reading Integers with scanf 424......Page 425 9.11.5 Reading Characters and Strings with scanf 425......Page 426 9.11.6 Using Scan Sets with scanf 426......Page 427 9.11.7 Using Field Widths with scanf 427......Page 428 9.11.8 Skipping Characters in an Input Stream 428......Page 429 9.12 Secure C Programming 429......Page 430 10 C Structures, Unions, Bit Manipulation and Enumerations 436......Page 437 10.2 Structure Definitions 437......Page 438 10.2.1 Self-Referential Structures 438......Page 439 10.2.4 Operations That Can Be Performed on Structures 439......Page 440 10.4 Accessing Structure Members with . and -> 440......Page 441 10.5 Using Structures with Functions 442......Page 443 10.7 Example: High-Performance Card Shuffling and Dealing Simulation 443......Page 444 10.8.1 Union Declarations 446......Page 447 10.8.4 Demonstrating Unions 447......Page 448 10.9 Bitwise Operators 448......Page 449 10.9.1 Displaying an Unsigned Integer in Bits 449......Page 450 10.9.2 Making Function displayBits More Generic and Portable 451......Page 452 10.9.3 Using the Bitwise AND, Inclusive OR, Exclusive OR and Complement Operators 452......Page 453 10.9.4 Using the Bitwise Left- and Right-Shift Operators 455......Page 456 10.9.5 Bitwise Assignment Operators 456......Page 457 10.10.1 Defining Bit Fields 457......Page 458 10.10.2 Using Bit Fields to Represent a Card’s Face, Suit and Color 458......Page 459 10.11 Enumeration Constants 460......Page 461 10.13 Secure C Programming 462......Page 463 11 C File Processing 473......Page 474 11.2 Files and Streams 474......Page 475 11.3 Creating a Sequential-Access File 475......Page 476 11.3.3 Using feof to Check for the End-of-File Indicator 477......Page 478 11.3.5 Using fclose to Close the File 478......Page 479 11.3.6 File Open Modes 479......Page 480 11.4 Reading Data from a Sequential-Access File 481......Page 482 11.4.2 Credit Inquiry Program 482......Page 483 11.6 Creating a Random-Access File 486......Page 487 11.7 Writing Data Randomly to a Random-Access File 488......Page 489 11.7.1 Positioning the File Position Pointer with fseek 490......Page 491 11.8 Reading Data from a Random-Access File 491......Page 492 11.9 Case Study: Transaction-Processing Program 493......Page 494 11.10 Secure C Programming 498......Page 499 12 C Data Structures 509......Page 510 12.1 Introduction 510......Page 511 12.3 Dynamic Memory Allocation 511......Page 512 12.4 Linked Lists 512......Page 513 12.4.1 Function insert 518......Page 519 12.4.2 Function delete 519......Page 520 12.5 Stacks 521......Page 522 12.5.1 Function push 525......Page 526 12.5.3 Applications of Stacks 526......Page 527 12.6 Queues 527......Page 528 12.6.1 Function enqueue 531......Page 532 12.6.2 Function dequeue 532......Page 533 12.7 Trees 533......Page 534 12.7.1 Function insertNode 536......Page 537 12.7.2 Traversals: Functions inOrder, preOrder and postOrder 537......Page 538 12.8 Secure C Programming 538......Page 539 13 C Preprocessor 550......Page 551 13.2 #include Preprocessor Directive 551......Page 552 13.3 #define Preprocessor Directive: Symbolic Constants 552......Page 553 13.4.1 Macro with One Argument 553......Page 554 13.4.5 Standard Library Functions and Macros 554......Page 555 13.5.2 Commenting Out Blocks of Code with #if...#endif 555......Page 556 13.7 # and ## Operators 556......Page 557 13.9 Predefined Symbolic Constants 557......Page 558 13.11 Secure C Programming 558......Page 559 14 Other C Topics 563......Page 564 14.2.1 Redirecting Input with < 564......Page 565 14.3 Variable-Length Argument Lists 565......Page 566 14.4 Using Command-Line Arguments 567......Page 568 14.5.2 Function Prototypes 569......Page 570 14.6 Program Termination with exit and atexit 570......Page 571 14.8 Signal Handling 572......Page 573 14.10 Unconditional Branching with goto 575......Page 576 15 C++ as a Better C; Introducing Object Technology 581......Page 582 15.2 C++ 582......Page 583 15.3.1 Addition Program in C++ 583......Page 584 15.3.5 Standard Output Stream and Standard Input Stream Objects 584......Page 585 15.3.10 Operator Overloading 585......Page 586 15.5 Header Files 586......Page 587 15.6 Inline Functions 588......Page 589 15.7 C++ Keywords 590......Page 591 15.8.1 Reference Parameters 591......Page 592 15.8.2 Passing Arguments by Value and by Reference 592......Page 593 15.8.3 References as Aliases within a Function 594......Page 595 15.8.4 Returning a Reference from a Function 595......Page 596 15.10 Default Arguments 596......Page 597 15.11 Unary Scope Resolution Operator 598......Page 599 15.12 Function Overloading 599......Page 600 15.13.1 Defining a Function Template 602......Page 603 15.13.2 Using a Function Template 603......Page 604 15.14.1 Basic Object Technology Concepts 605......Page 606 15.14.2 Classes, Data Members and Member Functions 606......Page 607 15.14.3 Object-Oriented Analysis and Design 607......Page 608 15.15.1 Problems Associated with C-Style Pointer-Based Arrays 608......Page 609 15.15.2 Using Class Template vector 609......Page 610 15.15.3 Exception Handling: Processing an Out-of-Range Index 613......Page 614 15.16 Wrap-Up 615......Page 616 16 Introduction to Classes, Objects and Strings 621......Page 622 16.2 Defining a Class with a Member Function 622......Page 623 16.3 Defining a Member Function with a Parameter 625......Page 626 16.4 Data Members, set Member Functions and get Member Functions 629......Page 630 16.5 Initializing Objects with Constructors 634......Page 635 16.6 Placing a Class in a Separate File for Reusability 638......Page 639 16.7 Separating Interface from Implementation 642......Page 643 16.8 Validating Data with set Functions 647......Page 648 16.9 Wrap-Up 652......Page 653 17 Classes: A Deeper Look; Throwing Exceptions 659......Page 660 17.1 Introduction 660......Page 661 17.2 Time Class Case Study 661......Page 662 17.3 Class Scope and Accessing Class Members 667......Page 668 17.4 Access Functions and Utility Functions 668......Page 669 17.5 Time Class Case Study: Constructors with Default Arguments 669......Page 670 17.7 When Constructors and Destructors Are Called 675......Page 676 17.8 Time Class Case Study: A Subtle Trap— Returning a Reference or a Pointer to a private Data Member 679......Page 680 17.9 Default Memberwise Assignment 682......Page 683 17.10 const Objects and const Member Functions 684......Page 685 17.11 Composition: Objects as Members of Classes 686......Page 687 17.12 friend Functions and friend Classes 692......Page 693 17.13 Using the this Pointer 694......Page 695 17.14 static Class Members 700......Page 701 17.15 Wrap-Up 705......Page 706 18 Operator Overloading; Class string 715......Page 716 18.1 Introduction 716......Page 717 18.2 Using the Overloaded Operators of Standard Library Class string 717......Page 718 18.3 Fundamentals of Operator Overloading 720......Page 721 18.4 Overloading Binary Operators 721......Page 722 18.5 Overloading the Binary Stream Insertion and Stream Extraction Operators 722......Page 723 18.6 Overloading Unary Operators 726......Page 727 18.7 Overloading the Unary Prefix and Postfix ++ and -- Operators 727......Page 728 18.8 Case Study: A Date Class 728......Page 729 18.9 Dynamic Memory Management 733......Page 734 18.10 Case Study: Array Class 735......Page 736 18.10.1 Using the Array Class 736......Page 737 18.10.2 Array Class Definition 740......Page 741 18.12 Converting Between Types 748......Page 749 18.13 explicit Constructors and Conversion Operators 750......Page 751 18.14 Overloading the Function Call Operator () 752......Page 753 18.15 Wrap-Up 753......Page 754 19 Object-Oriented Programming: Inheritance 764......Page 765 19.2 Base Classes and Derived Classes 765......Page 766 19.3.1 Creating and Using a CommissionEmployee Class 768......Page 769 19.3.2 Creating a BasePlusCommissionEmployee Class Without Using Inheritance 773......Page 774 19.3.3 Creating a CommissionEmployee–BasePlusCommissionEmployee Inheritance Hierarchy 779......Page 780 19.3.4 CommissionEmployee–BasePlusCommissionEmployee Inheritance Hierarchy Using protected Data 783......Page 784 19.3.5 CommissionEmployee–BasePlusCommissionEmployee Inheritance Hierarchy Using private Data 786......Page 787 19.4 Constructors and Destructors in Derived Classes 791......Page 792 19.5 public, protected and private Inheritance 793......Page 794 19.7 Wrap-Up 794......Page 795 20 Object-Oriented Programming: Polymorphism 799......Page 800 20.1 Introduction 800......Page 801 20.3 Relationships Among Objects in an Inheritance Hierarchy 801......Page 802 20.3.1 Invoking Base-Class Functions from Derived-Class Objects 802......Page 803 20.3.2 Aiming Derived-Class Pointers at Base-Class Objects 805......Page 806 20.3.3 Derived-Class Member-Function Calls via Base-Class Pointers 806......Page 807 20.3.4 Virtual Functions and Virtual Destructors 808......Page 809 20.5 Abstract Classes and Pure virtual Functions 815......Page 816 20.6 Case Study: Payroll System Using Polymorphism 817......Page 818 20.6.1 Creating Abstract Base Class Employee 818......Page 819 20.6.2 Creating Concrete Derived Class SalariedEmployee 822......Page 823 20.6.3 Creating Concrete Derived Class CommissionEmployee 824......Page 825 20.6.4 Creating Indirect Concrete Derived Class BasePlusCommissionEmployee 826......Page 827 20.6.5 Demonstrating Polymorphic Processing 828......Page 829 20.7 (Optional) Polymorphism, Virtual Functions and Dynamic Binding “Under the Hood” 832......Page 833 20.8 Case Study: Payroll System Using Polymorphism and Runtime Type Information with Downcasting, dynamic_cast, typeid and type_info 835......Page 836 20.9 Wrap-Up 839......Page 840 21 Stream Input/Output: A Deeper Look 844......Page 845 21.1 Introduction 845......Page 846 21.2.1 Classic Streams vs. Standard Streams 846......Page 847 21.2.3 Stream Input/Output Classes and Objects 847......Page 848 21.3 Stream Output 849......Page 850 21.3.2 Character Output Using Member Function put 850......Page 851 21.4.1 get and getline Member Functions 851......Page 852 21.5 Unformatted I/O Using read, write and gcount 854......Page 855 21.6 Introduction to Stream Manipulators 855......Page 856 21.6.2 Floating-Point Precision (precision, setprecision) 856......Page 857 21.6.3 Field Width (width, setw) 858......Page 859 21.6.4 User-Defined Output Stream Manipulators 859......Page 860 21.7 Stream Format States and Stream Manipulators 860......Page 861 21.7.1 Trailing Zeros and Decimal Points (showpoint) 861......Page 862 21.7.2 Justification (left, right and internal) 862......Page 863 21.7.3 Padding (fill, setfill) 864......Page 865 21.7.4 Integral Stream Base (dec, oct, hex, showbase) 865......Page 866 21.7.5 Floating-Point Numbers; Scientific and Fixed Notation (scientific, fixed) 866......Page 867 21.7.7 Specifying Boolean Format (boolalpha) 867......Page 868 21.7.8 Setting and Resetting the Format State via Member Function flags 868......Page 869 21.8 Stream Error States 869......Page 870 21.10 Wrap-Up 872......Page 873 22 Exception Handling: A Deeper Look 881......Page 882 22.2 Example: Handling an Attempt to Divide by Zero 882......Page 883 22.3 Rethrowing an Exception 888......Page 889 22.4 Stack Unwinding 889......Page 890 22.5 When to Use Exception Handling 891......Page 892 22.6 Constructors, Destructors and Exception Handling 892......Page 893 22.8 Processing new Failures 893......Page 894 22.9 Class unique_ptr and Dynamic Memory Allocation 896......Page 897 22.10 Standard Library Exception Hierarchy 899......Page 900 22.11 Wrap-Up 900......Page 901 23 Introduction to Custom Templates 906......Page 907 23.2 Class Templates 907......Page 908 23.3 Function Template to Manipulate a Class-Template Specialization Object 912......Page 913 23.5 Default Arguments for Template Type Parameters 914......Page 915 23.7 Wrap-Up 915......Page 916 A. C and C++ Operator Precedence Charts 918......Page 919 B. ASCII Character Set 922......Page 923 C. Number Systems 923......Page 924 C.1 Introduction 924......Page 925 C.2 Abbreviating Binary Numbers as Octal and Hexadecimal Numbers 927......Page 928 C.4 Converting from Binary, Octal or Hexadecimal to Decimal 928......Page 929 C.5 Converting from Decimal to Binary, Octal or Hexadecimal 929......Page 930 C.6 Negative Binary Numbers: Two’s Complement Notation 931......Page 932 D. Sorting: A Deeper Look 936......Page 937 D.2 Big O Notation 937......Page 938 D.3 Selection Sort 938......Page 939 D.4 Insertion Sort 942......Page 943 D.5 Merge Sort 945......Page 946 E. Multithreading and Other C11 and C99 Topics 956......Page 957 E.1 Introduction 957......Page 958 E.2 New C99 Headers 958......Page 959 E.3 Designated Initializers and Compound Literals 959......Page 960 E.4 Type bool 961......Page 962 E.5 Implicit int in Function Declarations 963......Page 964 E.6 Complex Numbers 964......Page 965 E.7 Additions to the Preprocessor 965......Page 966 E.8.1 Compiler Minimum Resource Limits 966......Page 967 E.8.4 Flexible Array Members 967......Page 968 E.8.7 Inline Functions 968......Page 969 E.9 New Features in the C11 Standard 969......Page 970 E.9.2 Multithreading Support 970......Page 971 E.9.6 Type-Generic Expressions 978......Page 979 E.9.9 Static Assertions 979......Page 980 E.10 Web Resources 980......Page 981 Appendices on the Web 983......Page 984 Index 984......Page 985 A......Page 986 B......Page 987 C......Page 988 D......Page 990 E......Page 991 F......Page 992 G......Page 993 I......Page 994 J......Page 995 M......Page 996 N......Page 997 O......Page 998 P......Page 999 R......Page 1000 S......Page 1001 T......Page 1004 U......Page 1005 Z......Page 1006 For courses in computer programming C How to Program is a comprehensive introduction to programming in C. Like other texts of the Deitels'How to Program series, the book serves as a detailed beginner source of information for college students looking to embark on a career in coding, or instructors and software-development professionals seeking to learn how to program with C. The Eighth Edition continues the tradition of the signature Deitel “Live Code” approach--presenting concepts in the context of full-working programs rather than incomplete snips of code. This gives students a chance to run each program as they study it and see how their learning applies to real world programming scenarios. 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. MyProgrammingLab is an online homework, tutorial, and assessment program designed to work with this text to engage students and improve results. Within its structured environment, students practice what they learn, test their understanding, and pursue a personalized study plan that helps them better absorb course material and understand difficult concepts.
For introductory courses in C Programming. Also for courses in Programming for Engineers, Programming for Business, and Programming for Technology.
The Deitels' How to Program series offers unparalleled breadth and depth of object-oriented programming concepts and intermediate-level topics for further study. Using the Deitelsâ signature 'Live-Code⢠Approach,' this complete, authoritative introduction to C programming introduces fundamentals of structured programming, and covers relevant features of C languageâs C-201X standard. It also includes an updated treatment of C++ for those who want to transition to object-oriented concepts. Finally, new material on security is added to this edition.
"C How to Program is a comprehensive introduction to programming in C. Like other texts of the Deitels' How to Program series, the book serves as a detailed beginner source of information for college students looking to embark on a career in coding, or instructors and software-development professionals seeking to learn how to program with C. The Eighth Edition continues the tradition of the signature Deitel "Live Code" approach--presenting concepts in the context of full-working programs rather than incomplete snips of code. This gives students a chance to run each program as they study it and see how their learning applies to real world programming scenarios."--Publisher's website __For courses in computer programming__is a comprehensive introduction to programming in C. Like other texts of the Deitels'series, the book serves as a detailed beginner source of information for college students looking to embark on a career in coding, or instructors and software-development professionals seeking to learn how to program with C. Thecontinues the tradition of the signature Deitel "Live Code" approach--presenting concepts in the context of full-working programs rather than incomplete snips of code. This gives readers a chance to run each program as they study it and see how their learning applies to real world programming scenarios.