图书介绍

C大学教程 英文版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

C大学教程 英文版
  • P.J.戴特尔,H.M.戴特尔著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121106200
  • 出版时间:2010
  • 标注页数:896页
  • 文件大小:119MB
  • 文件页数:40320912页
  • 主题词:C语言-程序设计-高等学校-教材-英文

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C大学教程 英文版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

Chapter 1 Introduction to Computers,the Internet and the Web1

1.1 Introduction2

1.2 What Is a Computer?3

1.3 Computer Organization3

1.4 Early Operating Systems4

1.5 Personal,Distributed and Client/Server Computing4

1.6 Machine Languages,Assembly Languages and High-Level Languages5

1.7 Fortran,COBOL,Pascal and Ada6

1.8 History of C6

1.9 C Standard Library7

1.10 C++8

1.11 Java8

1.12 BASIC,Visual Basic,Visual C++,Visual C# and.NET9

1.13 Key Software Trend: Object Technology9

1.14 Typical C Program Development Environment10

1.15 Hardware Trends12

1.16 History of the Internet12

1.17 History of the World Wide Web13

1.18 Notes About C and This Book13

1.19 Web Resources14

Chapter 2 Introduction to C Programming25

2.1 Introduction25

2.2 A Simple C Program: Printing a Line of Text26

2.3 Another Simple C Program: Adding Two Integers29

2.4 Memory Concepts32

2.5 Arithmetic in C33

2.6 Decision Making: Equality and Relational Operators35

Chapter 3 Structured Program Development in C48

3.1 Introduction48

3.2 Algorithms49

3.3 Pseudocode49

3.4 Control Structures50

3.5 The if Selection Statement51

3.6 The if…else Selection Statement52

3.7 The while Repetition Statement55

3.8 Formulating Algorithms Case Study 1: Counter-Controlled Repetition56

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

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

3.11 Assignment Operators65

3.12 Increment and Decrement Operators65

Chapter 4 C Program Control82

4.1 Introduction83

4.2 Repetition Essentials83

4.3 Counter-Controlled Repetition83

4.4 f o r Repetition Statement85

4.5 for Statement: Notes and Observations86

4.6 Examples Using the for Statement87

4.7 switch Multiple-Selection Statement90

4.8 do…while Repetition Statement94

4.9 break and continue Statements95

4.10 Logical Operators97

4.11 Confusing Equality(==) and Assignment(=) Operators99

4.12 Structured Programming Summary100

Chapter 5 C Functions115

5.1 Introduction116

5.2 Program Modules in C116

5.3 Math Library Functions117

5.4 Functions118

5.5 Function Definitions118

5.6 Function Prototypes121

5.7 Function Call Stack and Activation Records123

5.8 Headers123

5.9 Calling Functions: Call-by-Value and Call-by-Reference124

5.10 Random Number Generation124

5.11 Example: A Game of Chance128

5.12 Storage Classes131

5.13 Scope Rules132

5.14 Recursion135

5.15 Example Using Recursion: Fibonacci Series137

5.16 Recursion vs.Iteration140

Chapter 6 C Arrays156

6.1 Introduction156

6.2 Arrays157

6.3 Defining Arrays158

6.4 Array Examples158

6.5 Passing Arrays to Functions168

6.6 Sorting Arrays171

6.7 Case Study: Computing Mean, Median and Mode Using Arrays173

6.8 Searching Arrays176

6.9 Multiple-Subscripted Arrays180

Chapter 7 C Pointers200

7.1 Introduction200

7.2 Pointer Variable Definitions and Initialization201

7.3 Pointer Operators201

7.4 Passing Arguments to Functions by Reference203

7.5 Using the const Qualifier with Pointers206

7.6 Bubble Sort Using Call-by-Reference210

7.7 sizeof Operator213

7.8 Pointer Expressions and Pointer Arithmetic214

7.9 Relationship between Pointers and Arrays216

7.10 Arrays of Pointers219

7.11 Case Study: Card Shuffiing and Dealing Simulation220

7.12 Pointers to Functions224

Chapter 8 C Characters and Strings243

8.1 Introduction244

8.2 Fundamentals of Strings and Characters244

8.3 Character-Handling Library245

8.4 String-Conversion Functions249

8.5 Standard Input/Output Library Functions252

8.6 String-Manipulation Functions of the String- Handling Library255

8.7 Comparison Functions of the String-Handling Library257

8.8 Search Functions of the String-Handling Library258

8.9 Memory Functions of the String-Handling Library262

8.10 Other Functions of the String-Handling Library265

Chapter 9 C Formatted Input/Output277

9.1 Introduction277

9.2 Streams278

9.3 Formatting Output with printf278

9.4 Printing Integers278

9.5 Printing Floating-Point Numbers279

9.6 Printing Strings and Characters281

9.7 Other Conversion Specifiers281

9.8 Printing with Field Widths and Precision282

9.9 Using Flags in the printf Format Control String284

9.10 Printing Literals and Escape Sequences286

9.11 Reading Formatted Input with scanf287

Chapter 10 C Structures, Unions, Bit Manipulations and Enumerations298

10.1 Introduction298

10.2 Structure Definitions299

10.3 Initializing Structures301

10.4 Accessing Members of Structures301

10.5 Using Structures with Functions302

10.6 typedef302

10.7 Example:High-Performance Card Shuffling and Dealing Simulation303

10.8 Unions305

10.9 Bitwise Operators307

10.10 Bit Fields313

10.11 Enumeration Constants315

Chapter 11 C File Processing325

11.1 Introduction325

11.2 Data Hierarchy326

11.3 Files and Streams327

11.4 Creating a Sequential-Access File327

11.5 Reading Data from a Sequential-Access File331

11.6 Random-Access Files335

11.7 Creating a Random-Access File335

11.8 Writing Data Randomly to a Random-Access File337

11.9 Reading Data from a Random-Access File339

11.10 Case Study: Transaction-Processing Program340

Chapter 12 C Data Structures353

12.1 Introduction353

12.2 Self-Referential Structures354

12.3 Dynamic Memory Allocation355

12.4 Linked Lists355

12.5 Stacks362

12.6 Queues366

12.7 Trees370

Chapter 13 C Preprocessor394

13.1 Introduction394

13.2 # include Preprocessor Directive395

13.3 #define Preprocessor Directive: Symbolic Constants395

13.4 #define Preprocessor Directive: Macros395

13.5 Conditional Compilation397

13.6 #error and #pragma Preprocessor Directives398

13.7 # and # # Operators398

13.8 Line Numbers398

13.9 Predefined Symbolic Constants399

13.10 Assertions399

Chapter 14 Other C Topics403

14.1 Introduction403

14.2 Redirecting Input/Output on Linux/UNIX and Windows Systems404

14.3 Variable-Length Argument Lists404

14.4 Using Command-Line Arguments406

14.5 Notes on Compiling Multiple-Source-File Programs407

14.6 Program Termination with exit and atexit408

14.7 volatile Type Qualifier409

14.8 Suffixes for Integer and Floating-Point Constants409

14.9 More on Files410

14.10 Signal Handling411

14.11 Dynamic Memory Allocation: Functions calloc and realloc413

14.12 Unconditional Branching with goto413

Chapter 15 Game Programming with the Allegro C Library419

15.1 Introduction420

15.2 Installing Allegro420

15.3 A Simple Allegro Program420

15.4 Simple Graphics: Importing Bitmaps and Blitting421

15.5 Animation with Double Buffering424

15.6 Importing and Playing Sounds429

15.7 Keyboard Input432

15.8 Fonts and Displaying Text436

15.9 Implementing the Game of Pong439

15.10 Timers in Allegro444

15.11 The Grabber and Allegro Datafiles447

15.12 Other Allegro Capabilities453

15.13 Allegro Internet and Web Resources454

Chapter 16 Sorting: A Deeper Look460

16.1 Introduction460

16.2 Big O Notation461

16.3 Selection Sort461

16.4 Insertion Sort464

16.5 Merge Sort466

Chapter 17 Introduction to C99474

17.1 Introduction475

17.2 Support for C99475

17.3 New C99 Headers476

17.4 // Comments476

17.5 Mixing Declarations and Executable Code476

17.6 Declaring a Variable in a for Statement Header477

17.7 Designated Initializers and Compound Literals478

17.8 Type bool480

17.9 Implicit in t in Function Declarations481

17.10 Complex Numbers482

17.11 Variable-Length Arrays483

17.12 Other C99 Features484

17.13 Internet and Web Resources486

Chapter 18 C++ as a Better C; Introducing Object Technology490

18.1 Introduction491

18.2 C++491

18.3 A Simple Program: Adding Two Integers491

18.4 C++ Standard Library493

18.5 Header Files494

18.6 Inline Functions495

18.7 References and Reference Parameters496

18.8 Empty Parameter Lists500

18.9 Default Arguments500

18.10 Unary Scope Resolution Operator501

18.11 Function Overloading502

18.12 Function Templates505

18.13 Introduction to Object Technology and the UML507

18.14 Wrap-Up510

Chapter 19 Introduction to Classes and Objects516

19.1 Introduction517

19.2 Classes, Objects, Member Functions and Data Members517

19.3 Overview of the Chapter Examples518

19.4 Defining a Class with a Member Function518

19.5 Defining a Member Function with a Parameter521

19.6 Data Members, set Functions and get Functions523

19.7 Initializing Objects with Constructors528

19.8 Placing a Class in a Separate File for Reusability531

19.9 Separating Interface from Implementation534

19.10 Validating Data with set Functions538

19.11 Wrap-Up542

Chapter 20 Classes: A Deeper Look, Part 1548

20.1 Introduction549

20.2 Time Class Case Study549

20.3 Class Scope and Accessing Class Members554

20.4 Separating Interface from Implementation555

20.5 Access Functions and Utility Functions556

20.6 Time Class Case Study: Constructors with Default Arguments558

20.7 Destructors562

20.8 When Constructors and Destructors Are Called562

20.9 Time Class Case Study: A Subtle Trap—Returning a Reference to a private Data Member565

20.10 Default Memberwise Assignment567

20.11 Software Reusability568

20.12 Wrap-Up569

Chapter 21 Classes: A Deeper Look, Part 2574

21.1 Introduction575

21.2 const (Constant) Objects and const Member Functions575

21.3 Composition: Objects as Members of Classes582

21.4 friend Functions and friend Classes587

21.5 Using the this Pointer589

21.6 Dynamic Memory Management with Operators new and delete593

21.7 static Class Members594

21.8 Data Abstraction and Information Hiding599

21.8.1 Example: Array Abstract Data Type600

21.8.2 Example: String Abstract Data Type600

21.8.3 Example: Queue Abstract Data Type600

21.9 Container Classes and Iterators601

21.10 Proxy Classes601

21.11 Wrap-Up603

Chapter 22 Operator Overloading609

22.1 Introduction610

22.2 Fundamentals of Operator Overloading610

22.3 Restrictions on Operator Overloading611

22.4 Operator Functions as Class Members vs…Global Functions612

22.5 Overloading Stream Insertion and Stream Extraction Operators613

22.6 Overloading Unary Operators616

22.7 Overloading Binary Operators616

22.8 Case Study: Array Class617

22.9 Converting between Types625

22.10 Overloading ++ and —626

22.11 explicit Constructors627

22.12 Wrap-Up630

Chapter 23 Object-Oriented Programming:Inheritance639

23.1 Introduction640

23.2 Base Classes and Derived Classes641

23.3 protected Members642

23.4 Relationship between Base Classes and Derived Classes643

23.4.1 Creating and Using a CommissionEmployee Class643

23.4.2 Creating a Base PlusCommissionEmployee Class Without Using Inheritance647

23.4.3 Creating a CommissionEmployee-BasePlusCommissionEmployee Inheritance Hierarchy651

23.4.4 CommissionEmployee-BasePlusCommissionEmployee Inheritance Hierarchy Using protected Data654

23.4.5 CommissionEmployee-BasePlusCommissionEmployee Inheritance Hierarchy Using private Data659

23.5 Constructors and Destructors in Derived Classes665

23.6 public, protected and private Inheritance670

23.7 Software Engineering with Inheritance671

23.8 Wrap-Up672

Chapter 24 Object-Oriented Programming: Polymorphism677

24.1 Introduction678

24.2 Polymorphism Examples679

24.3 Relationships Among Objects in an Inheritance Hierarchy680

24.3.1 Invoking Base-Class Functions from Derived-Class Objects680

24.3.2 Aiming Derived-Class Pointers at Base-Class Objects685

24.3.3 Derived-Class Member-Function Calls via Base-Class Pointers686

24.3.4 Virtual Functions688

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

24.4 Type Fields and switch Statements692

24.5 Abstract Classes and Pure virtual Functions693

24.6 Case Study: Payroll System Using Polymorphism695

24.6.1 Creating Abstract Base Class Employee695

24.6.2 Creating Concrete Derived Class SalariedEmployee698

24.6.3 Creating Concrete Derived Class HourlyEmployee699

24.6.4 Creating Concrete Derived Class CommissionEmployee701

24.6.5 Creating Indirect Concrete Derived Class Base Plus CommissionEmployee702

24.6.6 Demonstrating Polymorphic Processing704

24.7 (Optional) Polymorphism, Virtual Functions and Dynamic Binding “Under the Hood”707

24.8 Case Study: Payroll System Using Polymorphism and Runtime Tpe Information with Downcasting,dynamic_cast, typeid and type_info710

24.9 Virtual Destructors712

24.10 Wrap-Up713

Chapter 25 Templates718

25.1 Introduction718

25.2 Function Templates719

25.3 Overloading Function Templates721

25.4 Class Templates722

25.5 Nontype Parameters and Default Types for Class Templates726

25.6 Notes on Templates and Inheritance727

25.7 Notes on Templates and Friends728

25.8 Notes on Templates and static Members728

25.9 Wrap-Up729

Chapter 26 Stream Input/Output733

26.1 Introduction734

26.2 Streams734

26.2.1 Classic Streams vs.Standard Streams735

26.2.2 iostream Library Header Files735

26.2.3 Stream Input/Output Classes and Objects735

26.3 Stream Output737

26.3.1 Output of char * Variables737

26.3.2 Character Output Using Member Function put738

26.4 Stream Input738

26.4.1 get and getline Member Functions739

26.4.2 istream Member Functions peek, putback and ignore741

26.4.3 Type-Safe I/O741

26.5 Unformatted I/O Using read, write and gcount741

26.6 Introduction to Stream Manipulators742

26.6.1 Integral Stream Base: dec, oct, hex and setbase742

26.6.2 Floating-Point Precision (precision, setprecision)743

26.6.3 FieldWidth (width, setw)744

26.6.4 User-Defined Output Stream Manipulators745

26.7 Stream Format States and Stream Manipulators746

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 (boo la lpha)751

26.7.8 Setting and Resetting the Format State via Member Function flags752

26.8 Stream Error States753

26.9 Tying an Output Stream to an Input Stream754

26.10 Wrap-Up755

Chapter 27 Exception Handling764

27.1 Introduction765

27.2 Exception-Handling Overview765

27.3 Example: Handling an Attempt to Divide by Zero766

27.4 When to Use Exception Handling770

27.5 Rethrowing an Exception771

27.6 Exception Specifications772

27.7 Processing Unexpected Exceptions773

27.8 Stack Unwinding773

27.9 Constructors, Destructors and Exception Handling774

27.10 Exceptions and Inheritance775

27.11 Processing new Failures775

27.12 Class auto ptr and Dynamic Memory Allocation778

27.13 Standard Library Exception Hierarchy780

27.14 Other Error-Handling Techniques781

27.15 Wrap-Up782

Appendix A Internet and Web Resources788

A.1 Free C/C++ Compilers and Development Tools788

A.2 C Resource Sites789

A.3 C99789

A.4 C Projects, Freeware and Shareware790

A.5 C Source Code790

A.6 C Articles and Whitepapers791

A.7 C Tutorials and Webcasts791

A.8 GNOME and GLib792

A.9 SWIG793

A.10 Objective-C793

A.11 C Sample Chapters and eBooks794

A.12 C Wikis794

A.13 C FAQs794

A.14 C Newsgroups795

A.15 C Blogs795

A.16 C Downloads from Download…com795

A.17 C Game Programming795

A.18 Allegro Game Programming Resources796

A.19 Jobs for C Programmers797

A.20 Deitel C Training798

Appendix B Operator Precedence Charts799

Appendix C ASCII Character Set801

Appendix D Number Systems802

D.1 Introduction802

D.2 Abbreviating Binary Numbers as Octal and Hexadecimal Numbers804

D.3 Converting Octal and Hexadecimal Numbers to Binary Numbers805

D.4 Converting from Binary, Octal or Hexadecimal to Decimal805

D.5 Converting from Decimal to Binary, Octal or Hexadecimal806

D.6 Negative Binary Numbers: Two’s Complement Notation807

Appendix E Game Programming: Solving Sudoku812

E.1 Introduction812

E.2 Deitel Sudoku Resource Center812

E.3 Solution Strategies813

E.4 Programming Sudoku Puzzle Solvers816

E.5 Generating New Sudoku Puzzles816

E.6 Conclusion818

Index819

热门推荐