新闻资讯
看你所看,想你所想

C大学教程

《C大学教程(第五版)(英文版)》是 电子工业出版社出版的图书,作者是P. J. 戴特尔、H. M. 举采胶看班常戴特尔。

  • 书名 C大学教程(第五版)(英文版)
  • 作者 P. J. 戴特尔、H. M. 戴特尔
  • ISBN 9787121106200
  • 页数 896页
  • 定价 118元

简介

  本书是全球畅销的C语言教程之一,系统介绍了C语言中控制语句、函数、数组、指针、字符/字符串、格式化输入/输出、联合/位操作/枚举、文件处理、数据结构、预处理器、类与对象载止脱、运算符重载、继承、多态、模老风判构缺烈板、流输入/输出、异常处理等功能,是讲授C语言编程的全景式教材。

图书目录

  Chapter 1 Introduction to Comput区境绍航亚乱增周轮圆ers, the Internet and the Web 1

  1.1 Introduction 2

  1.2 What Is a Computer? 3

  1.3 Computer Organization 3

  1.4 Early Operating Systems 4

  1.5 Personal, Distributed and Cl来自ien /erver Computing 4

  1.6 Machine L360百科anguages, Assembly Languages and High-Level Languag新村es 5

  1.7 Fortran, COBOL, Pascal and Ada 6

  1.8 History of C 6

  1.9 C Standard Library 7

  1.10 C++ 8

  1.11 Java 8

  1.12 BASIC, Visual Basic, Visual C++, Visual C# and .NET 9

  1.13 K坐农帮责修达或边汉ey Software Trend: Object Technology 9

  持光块是检1.14 Typical C Program Development Environment 10

  1.15 Hardware Trends 12

  1.16 History of the Inte预专游袁色少代花料rnet 12

  1.1需格云哥宪苗各攻影7 History of the World Wide Web 13

  1.18 Notes About C and This Book 13

  1.19 Web Resources 14

  Chapter 2 Introduction to C Programming 25

  2.1 Introduction 25

  2.2 A 怀巴病许钢展界程Simple C Program: Printing a Line of Text 26

执获  2.3 Another Simple C Program: Adding Two Integers 29

  2.4 Memory Co煤烟包社演半固房杨粮不ncepts 32

  2.5 Arithmetic in C 33

  2.6 D哥块ecision Making: Equality and Relational Operators 35

  Chapter 3 Struc派表示征tured Program Development in C 48

  3.1 Introduction 48

  3.2 Algorit座限益宗己操编hms 49

  3.3 Pseudocode 49

  3.4 Control Structures 50

  3.5 The if Selection Statement 51

  3.6 The if...else Selection Statement 52

  3.7 The while Repetition Statement 55

  3.8 Formulating Algorithms Case Study 1: Counter-Controlled Repetition 56

  3.9 Formulating Algorithms with Top-Down, Stepwise Refinement Case Study 2: Sentinel-Controlled

  Repetition 57

  3.10 Formulating Algorithms with Top-Down, Stepwise Refinement Case Study 3: Nested Control

  Structures 62

  3.11 Assignment Operators 65

  3.12 Increment and Decrement Operators 65

  Chapter 4 C Program Control 82

  4.1 Introduction 83

  4.2 Repetition Essentials 83

  4.3 Counter-Controlled Repetition 83

  4.4 for Repetition Statement 85

  4.5 for Statement: Notes and Observations 86

  4.6 Examples Using the for Statement 87

  4.7 switch Multiple-Selection Statement 90

  4.8 do...while Repetition Statement 94

  4.9 break and continue Statements 95

  4.10 Logical Operators 97

  4.11 Confusing Equality (==) and Assignment (=) Operators 99

  4.12 Structured Programming Summary 100

  Chapter 5 C Functions 115

  5.1 Introduction 116

  5.2 Program Modules in C 116

  5.3 Math Library Functions 117

  5.4 Functions 118

  5.5 Function Definitions 118

  5.6 Function Prototypes 121

  5.7 Function Call Stack and Activation Records 123

  5.8 Headers 123

  5.9 Calling Functions: Call-by-Value and Call-by-Reference 124

  5.10 Random Number Generation 124

  5.11 Example: A Game of Chance 128

  5.12 Storage Classes 131

  5.13 Scope Rules 132

  5.14 Recursion 135

  5.15 Example Using Recursion: Fibonacci Series 137

  5.16 Recursion vs. Iteration 140

  Chapter 6 C Arrays 156

  6.1 Introduction 156

  6.2 Arrays 157

  6.3 Defining Arrays 158

  6.4 Array Examples 158

  6.5 Passing Arrays to Functions 168

  6.6 Sorting Arrays 171

  6.7 Case Study: Computing Mean, Median and Mode Using Arrays 173

  6.8 Searching Arrays 176

  6.9 Multiple-Subscripted Arrays 180

  Chapter 7 C Pointers 200

  7.1 Introduction 200

  7.2 Pointer Variable Definitions and Initialization 201

  7.3 Pointer Operators 201

  7.4 Passing Arguments to Functions by Reference 203

  7.5 Using the const Qualifier with Pointers 206

  7.6 Bubble Sort Using Call-by-Reference 210

  7.7 sizeof Operator 213

  7.8 Pointer Expressions and Pointer Arithmetic 214

  7.9 Relationship between Pointers and Arrays 216

  7.10 Arrays of Pointers 219

  7.11 Case Study: Card Shuffiing and Dealing Simulation 220

  7.12 Pointers to Functions 224

  Chapter 8 C Characters and Strings 243

  8.1 Introduction 244

  8.2 Fundamentals of Strings and Characters 244

  8.3 Character-Handling Library 245

  8.4 String-Conversion Functions 249

  8.5 Standard Input/Output Library Functions 252

  8.6 String-Manipulation Functions of the String- Handling Library 255

  8.7 Comparison Functions of the String-Handling Library 257

  8.8 Search Functions of the String-Handling Library 258

  8.9 Memory Functions of the String-Handling Library 262

  8.10 Other Functions of the String-Handling Library 265

  Chapter 9 C Formatted Input/Output 277

  9.1 Introduction 277

  9.2 Streams 278

  9.3 Formatting Output with printf 278

  9.4 Printing Integers 278

  9.5 Printing Floating-Point Numbers 279

  9.6 Printing Strings and Characters 281

  9.7 Other Conversion Specifiers 281

  9.8 Printing with Field Widths and Precision 282

  9.9 Using Flags in the printf Format Control String 284

  9.10 Printing Literals and Escape Sequences 286

  9.11 Reading Formatted Input with scanf 287

  Chapter 10 C Structures, Unions, Bit Manipulations and Enumerations 298

  10.1 Introduction 298

  10.2 Structure Definitions 299

  10.3 Initializing Structures 301

  10.4 Accessing Members of Structures 301

  10.5 Using Structures with Functions 302

  10.6 typedef 302

  10.7 Example: High-Performance Card Shuffling and Dealing Simulation 303

  10.8 Unions 305

  10.9 Bitwise Operators 307

  10.10 Bit Fields 313

  10.11 Enumeration Constants 315

  Chapter 11 C File Processing 325

  11.1 Introduction 325

  11.2 Data Hierarchy 326

  11.3 Files and Streams 327

  11.4 Creating a Sequential-Access File 327

  11.5 Reading Data from a Sequential-Access File 331

  11.6 Random-Access Files 335

  11.7 Creating a Random-Access File 335

  11.8 Writing Data Randomly to a Random-Access File 337

  11.9 Reading Data from a Random-Access File 339

  11.10 Case Study: Transaction-Processing Program 340

  Chapter 12 C Data Structures 353

  12.1 Introduction 353

  12.2 Self-Referential Structures 354

  12.3 Dynamic Memory Allocation 355

  12.4 Linked Lists 355

  12.5 Stacks 362

  12.6 Queues 366

  12.7 Trees 370

  Chapter 13 C Preprocessor 394

  13.1 Introduction 394

  13.2 #include Preprocessor Directive 395

  13.3 #define Preprocessor Directive: Symbolic Constants 395

  13.4 #define Preprocessor Directive: Macros 395

  13.5 Conditional Compilation 397

  13.6 #error and #pragma Preprocessor Directives 398

  13.7 # and ## Operators 398

  13.8 Line Numbers 398

  13.9 Predefined Symbolic Constants 399

  13.10 Assertions 399

  Chapter 14 Other C Topics 403

  14.1 Introduction 403

  14.2 Redirecting Input/Output on Linux/UNIX and Windows Systems 404

  14.3 Variable-Length Argument Lists 404

  14.4 Using Command-Line Arguments 406

  14.5 Notes on Compiling Multiple-Source-File Programs 407

  14.6 Program Termination with exit and atexit 408

  14.7 volatile Type Qualifier 409

  14.8 Suffixes for Integer and Floating-Point Constants 409

  14.9 More on Files 410

  14.10 Signal Handling 411

  14.11 Dynamic Memory Allocation: Functions calloc and realloc 413

  14.12 Unconditional Branching with goto 413

  Chapter 15 Game Programming with the Allegro C Library 419

  15.1 Introduction 420

  15.2 Installing Allegro 420

  15.3 A Simple Allegro Program 420

  15.4 Simple Graphics: Importing Bitmaps and Blitting 421

  15.5 Animation with Double Buffering 424

  15.6 Importing and Playing Sounds 429

  15.7 Keyboard Input 432

  15.8 Fonts and Displaying Text 436

  15.9 Implementing the Game of Pong 439

  15.10 Timers in Allegro 444

  15.11 The Grabber and Allegro Datafiles 447

  15.12 Other Allegro Capabilities 453

  15.13 Allegro Internet and Web Resources 454

  Chapter 16 Sorting: A Deeper Look 460

  16.1 Introduction 460

  16.2 Big O Notation 461

  16.3 Selection Sort 461

  16.4 Insertion Sort 464

  16.5 Merge Sort 466

  Chapter 17 Introduction to C99 474

  17.1 Introduction 475

  17.2 Support for C99 475

  17.3 New C99 Headers 476

  17.4 / Comments 476

  17.5 Mixing Declarations and Executable Code 476

  17.6 Declaring a Variable in a for Statement Header 477

  17.7 Designated Initializers and Compound Literals 478

  17.8 Type bool 480

  17.9 Implicit int in Function Declarations 481

  17.10 Complex Numbers 482

  17.11 Variable-Length Arrays 483

  17.12 Other C99 Features 484

  17.13 Internet and Web Resources 486

  Chapter 18 C++ as a Better C; Introducing Object Technology 490

  18.1 Introduction 491

  18.2 C++ 491

  18.3 A Simple Program: Adding Two Integers 491

  18.4 C++ Standard Library 493

  18.5 Header Files 494

  18.6 Inline Functions 495

  18.7 References and Reference Parameters 496

  18.8 Empty Parameter Lists 500

  18.9 Default Arguments 500

  18.10 Unary Scope Resolution Operator 501

  18.11 Function Overloading 502

  18.12 Function Templates 505

  18.13 Introduction to Object Technology and the UML 507

  18.14 Wrap-Up 510

  Chapter 19 Introduction to Classes and Objects 516

  19.1 Introduction 517

  19.2 Classes, Objects, Member Functions and Data Members 517

  19.3 Overview of the Chapter Examples 518

  19.4 Defining a Class with a Member Function 518

  19.5 Defining a Member Function with a Parameter 521

  19.6 Data Members, set Functions and get Functions 523

  19.7 Initializing Objects with Constructors 528

  19.8 Placing a Class in a Separate File for Reusability 531

  19.9 Separating Interface from Implementation 534

  19.10 Validating Data with set Functions 538

  19.11 Wrap-Up 542

  Chapter 20 Classes: A Deeper Look, Part 1 548

  20.1 Introduction 549

  20.2 Time Class Case Study 549

  20.3 Class Scope and Accessing Class Members 554

  20.4 Separating Interface from Implementation 555

  20.5 Access Functions and Utility Functions 556

  20.6 Time Class Case Study: Constructors with Default Arguments 558

  20.7 Destructors 562

  20.8 When Constructors and Destructors Are Called 562

  20.9 Time Class Case Study: A Subtle Trap-Returning a Reference to a private Data Member 565

  20.10 Default Memberwise Assignment 567

  20.11 Software Reusability 568

  20.12 Wrap-Up 569

  Chapter 21 Classes: A Deeper Look, Part 2 574

  21.1 Introduction 575

  21.2 const (Constant) Objects and const Member Functions 575

  21.3 Composition: Objects as Members of Classes 582

  21.4 friend Functions and friend Classes 587

  21.5 Using the this Pointer 589

  21.6 Dynamic Memory Management with Operators new and delete 593

  21.7 static Class Members 594

  21.8 Data Abstraction and Information Hiding 599

  21.8.1 Example: Array Abstract Data Type 600

  21.8.2 Example: String Abstract Data Type 600

  21.8.3 Example: Queue Abstract Data Type 600

  21.9 Container Classes and Iterators 601

  21.10 Proxy Classes 601

  21.11 Wrap-Up 603

  Chapter 22 Operator Overloading 609

  22.1 Introduction 610

  22.2 Fundamentals of Operator Overloading 610

  22.3 Restrictions on Operator Overloading 611

  22.4 Operator Functions as Class Members vs. Global Functions 612

  22.5 Overloading Stream Insertion and Stream Extraction Operators 613

  22.6 Overloading Unary Operators 616

  22.7 Overloading Binary Operators 616

  22.8 Case Study: Array Class 617

  22.9 Converting between Types 625

  22.10 Overloading ++ and 行 626

  22.11 explicit Constructors 627

  22.12 Wrap-Up 630

  Chapter 23 Object-Oriented Programming: Inheritance 639

  23.1 Introduction 640

  23.2 Base Classes and Derived Classes 641

  23.3 protected Members 642

  23.4 Relationship between Base Classes and Derived Classes 643

  23.4.1 Creating and Using a CommissionEmployee Class 643

  23.4.2 Creating a BasePlusCommissionEmployee Class Without Using Inheritance 647

  23.4.3 Creating a CommissionEmployee蠦asePlusCommissionEmployee Inheritance

  Hierarchy 651

  23.4.4 CommissionEmployee蠦asePlusCommissionEmployee Inheritance Hierarchy

  Using protected Data 654

  23.4.5 CommissionEmployee蠦asePlusCommissionEmployee Inheritance Hierarchy

  Using private Data 659

  23.5 Constructors and Destructors in Derived Classes 665

  23.6 public, protected and private Inheritance 670

  23.7 Software Engineering with Inheritance 671

  23.8 Wrap-Up 672

  Chapter 24 Object-Oriented Programming: Polymorphism 677

  24.1 Introduction 678

  24.2 Polymorphism Examples 679

  24.3 Relationships Among Objects in an Inheritance Hierarchy 680

  24.3.1 Invoking Base-Class Functions from Derived-Class Objects 680

  24.3.2 Aiming Derived-Class Pointers at Base-Class Objects 685

  24.3.3 Derived-Class Member-Function Calls via Base-Class Pointers 686

  24.3.4 Virtual Functions 688

  24.3.5 Summary of the Allowed Assignments Between Base-Class and Derived-Class Objects

  and Pointers 692

  24.4 Type Fields and switch Statements 692

  24.5 Abstract Classes and Pure virtual Functions 693

  24.6 Case Study: Payroll System Using Polymorphism 695

  24.6.1 Creating Abstract Base Class Employee 695

  24.6.2 Creating Concrete Derived Class SalariedEmployee 698

  24.6.3 Creating Concrete Derived Class HourlyEmployee 699

  24.6.4 Creating Concrete Derived Class CommissionEmployee 701

  24.6.5 Creating Indirect Concrete Derived Class BasePlusCommissionEmployee 702

  24.6.6 Demonstrating Polymorphic Processing 704

  24.7 (Optional) Polymorphism, Virtual Functions and Dynamic Binding 袯nder the Hood?707

  24.8 Case Study: Payroll System Using Polymorphism and Runtime Type Information with Downcasting,

  dynamic_cast, typeid and type_info 710

  24.9 Virtual Destructors 712

  24.10 Wrap-Up 713

  Chapter 25 Templates 718

  25.1 Introduction 718

  25.2 Function Templates 719

  25.3 Overloading Function Templates 721

  25.4 Class Templates 722

  25.5 Nontype Parameters and Default Types for Class Templates 726

  25.6 Notes on Templates and Inheritance 727

  25.7 Notes on Templates and Friends 728

  25.8 Notes on Templates and static Members 728

  25.9 Wrap-Up 729

  Chapter 26 Stream Input/Output 733

  26.1 Introduction 734

  26.2 Streams 734

  26.2.1 Classic Streams vs. Standard Streams 735

  26.2.2 iostream Library Header Files 735

  26.2.3 Stream Input/Output Classes and Objects 735

  26.3 Stream Output 737

  26.3.1 Output of char * Variables 737

  26.3.2 Character Output Using Member Function put 738

  26.4 Stream Input 738

  26.4.1 get and getline Member Functions 739

  26.4.2 istream Member Functions peek, putback and ignore 741

  26.4.3 Type-Safe I/O 741

  26.5 Unformatted I/O Using read, write and gcount 741

  26.6 Introduction to Stream Manipulators 742

  26.6.1 Integral Stream Base: dec, oct, hex and setbase 742

  26.6.2 Floating-Point Precision (precision, setprecision) 743

  26.6.3 FieldWidth (width, setw) 744

  26.6.4 User-Defined Output Stream Manipulators 745

  26.7 Stream Format States and Stream Manipulators 746

  26.7.1 Trailing Zeros and Decimal Points (showpoint) 746

  26.7.2 Justification (left, right and internal) 747

  26.7.3 Padding (fill, setfill) 748

  26.7.4 Integral Stream Base (dec, oct, hex, showbase) 749

  26.7.5 Floating-Point Numbers; Scientific and Fixed Notation (scientific, fixed) 750

  26.7.6 Uppercase/Lowercase Control (uppercase) 751

  26.7.7 Specifying Boolean Format (boolalpha) 751

  26.7.8 Setting and Resetting the Format State via Member Function flags 752

  26.8 Stream Error States 753

  26.9 Tying an Output Stream to an Input Stream 754

  26.10 Wrap-Up 755

  Chapter 27 Exception Handling 764

  27.1 Introduction 765

  27.2 Exception-Handling Overview 765

  27.3 Example: Handling an Attempt to Divide by Zero 766

  27.4 When to Use Exception Handling 770

  27.5 Rethrowing an Exception 771

  27.6 Exception Specifications 772

  27.7 Processing Unexpected Exceptions 773

  27.8 Stack Unwinding 773

  27.9 Constructors, Destructors and Exception Handling 774

  27.10 Exceptions and Inheritance 775

  27.11 Processing new Failures 775

  27.12 Class auto_ptr and Dynamic Memory Allocation 778

  27.13 Standard Library Exception Hierarchy 780

  27.14 Other Error-Handling Techniques 781

  27.15 Wrap-Up 782

  Appendix A Internet and Web Resources 788

  A.1 Free C/C++ Compilers and Development Tools 788

  A.2 C Resource Sites 789

  A.3 C99 789

  A.4 C Projects, Freeware and Shareware 790

  A.5 C Source Code 790

  A.6 C Articles and Whitepapers 791

  A.7 C Tutorials and Webcasts 791

  A.8 GNOME and GLib 792

  A.9 SWIG 793

  A.10 Objective-C 793

  A.11 C Sample Chapters and eBooks 794

  A.12 C Wikis 794

  A.13 C FAQs 794

  A.14 C Newsgroups 795

  A.15 C Blogs 795

  A.16 C Downloads from Download.com 795

  A.17 C Game Programming 795

  A.18 Allegro Game Programming Resources 796

  A.19 Jobs for C Programmers 797

  A.20 Deitel C Training 798

  Appendix B Operator Precedence Charts 799

  Appendix C ASCII Character Set 801

  Appdndix D Number Systems 802

  D.1 Introduction 802

  D.2 Abbreviating Binary Numbers as Octal and Hexadecimal Numbers 804

  D.3 Converting Octal and Hexadecimal Numbers to Binary Numbers 805

  D.4 Converting from Binary, Octal or Hexadecimal to Decimal 805

  D.5 Converting from Decimal to Binary, Octal or Hexadecimal 806

  D.6 Negative Binary Numbers: Two誷 Complement Notation 807

  Appendix E Game Programming: Solving Sudoku 812

  E.1 Introduction 812

  E.2 Deitel Sudoku Resource Center 812

  E.3 Solution Strategies 813

  E.4 Programming Sudoku Puzzle Solvers 816

  E.5 Generating New Sudoku Puzzles 816

  E.6 Conclusion 818

  Index 819

转载请注明出处安可林文章网 » C大学教程

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com