图书介绍

C专家编程 英文版【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

C专家编程 英文版
  • (美)范德林登著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115308603
  • 出版时间:2013
  • 标注页数:353页
  • 文件大小:15MB
  • 文件页数:372页
  • 主题词:C语言-程序设计-英文

PDF下载


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

下载说明

C专家编程 英文版PDF格式电子书版下载

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

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

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

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

图书目录

1.C Through the Mists of Time1

The Prehistory of C1

Early Experiences with C4

The Standard I/O Library and C Preprocessor6

K&R C9

The Present Day:ANSI C11

It's Nice,but Is It Standard?14

Translation Limits16

The Structure of the ANSI C Standard17

Reading the ANSI C Standard for Fun,Pleasure,and Profit22

How Quiet is a"Quiet Change"?25

Some Light Relief—The Implementation-Defined Effects of Pragmas...29

2.It's Not a Bug,It's a Language Feature31

Why Language Features Matter—The Way the Fortran Bug Really Happened!31

Sins of Commission33

Switches Let You Down with Fall Through33

Available Hardware Is a Crayon?39

Too Much Default Visibility41

Sins of Mission42

Overloading the Camel's Back42

"Some of the Operators Have the Wrong Precedence"44

The Early Bug gets() the Internet Worm48

Sins of Omission50

Mail Won't Go to Users with an"f"in Their Usernames50

Space—The Final Frontier53

A Digression into C+++ Comments55

The Compiler Date Is Corrupted55

Lint Should Never Have Been Separated Out59

Some Light Relief—Some Features Really Are Bugs!60

References62

3.Unscrambling Declarations in C63

Syntax Only a Compiler Could Love64

How a Declaration Is Formed66

A Word About structs68

A Word About unions71

A Word About enums73

The Precedence Rule74

Unscrambling C Declarations by Diagram75

typedef Can Be Your Friend78

Difference Between typedef int x[10]and #define x int[10]80

What typedef struct foo{...foo}foo;Means81

The Piece of Code that Understandeth All Parsing83

Further Reading86

Some Light Relief—Software to Bite the Wax Tadpole...86

4.The Shocking Truth:C Arrays and Pointers Are NOT the Same!95

Arrays Are NOT Pointers!95

Why Doesn't My Code Work?96

What's a Declaration? What's a Definition?97

How Arrays and Pointers Are Accessed98

What Happens When You"Define as Array/Declare as Pointer"101

Match Your Declarations to the Definition102

Other Differences Between Arrays and Pointers103

Some Light Relief—Fun with Palindromes!105

5.Thinking of Linking109

Libraries,Linking,and Loading110

Where the Linker Is in the Phases of Compilation110

The Benefits of Dynamic Linking113

Five Special Secrets of Linking with Libraries118

Watch Out for Interpositioning123

Generating Linker Report Files128

Some Light Relief—Look Who's Talking:Challenging the Turing Test129

Eliza130

Eliza Meets the VP130

Doctor,Meet Doctor131

The Prize in Boston133

Conclusions133

Postscript135

Further Reading135

6.Poetry in Motion:Runtime Data Structures137

a.out and a.out Folklore138

Segments139

What the OS Does with Your a.out142

What the C Runtime Does with Your a.out145

The Stack Segment145

What Happens When a Function Gets Called:The Procedure Activation Record146

The auto and static keywords151

A Stack Frame Might Not Be on the Stack152

Threads of Control152

setjmp and longjmp153

The Stack Segment Under UNIX155

The Stack Segment Under MS-DOS156

Helpful C Tools156

Some Light Relief—Programming Puzzles at Princeton161

For Advanced Students Only163

7.Thanks for the Memory165

The Intel 80x86 Family165

The Intel 808x6 Memory Model and How It Got That Way170

Virtual Memory174

Cache Memory177

The Data Segment and Heap181

Memory Leaks183

How to Check for a Memory Leak184

Bus Error,Take the Train187

Bus Error188

Segmentation Fault189

Some Light Relief—The Thing King and the Paging Game195

8.Why Programmers Can't Tell Halloween from Christmas Day201

The Potrzebie System of Weights and Measures201

Making a Glyph from Bit Patterns203

Types Changed While You Wait205

Prototype Painfulness207

Where Prototypes Break Down209

Getting a Char Without a Carriage Return212

Implementing a Finite State Machine in C217

Software Is Harder than Hardware!219

How and Why to Cast223

Some Light Relief—The International Obfuscated C Code Competition225

9.More about Arrays239

When an Array Is a Pointer239

Why the Confusion?240

Rule 1:An"Array Name in an Expression"Is a Pointer243

Rule 2:C Treats Array Subscripts as Pointer Offsets244

Rule 3:An"Array Name as a Function Parameter"Is a Pointer246

Why C Treats Array Parameters as Pointers246

How an Array Parameter Is Referenced247

Indexing a Slice250

Arrays and Pointers Interchangeability Summary251

C Has Multidimensional Arrays...251

...But Every Other Language Calls Them"Arrays of Arrays"251

How Multidimensional Arrays Break into Components254

How Arrays Are Laid Out in Memory256

How to Initialize Arrays257

Some Light Relief—Hardware/Software Trade-Offs260

10.More About Pointers263

The Layout of Multidimensional Arrays263

An Array of Pointers Is an"Illiffe Vector"265

Using Pointers for Ragged Arrays269

Passing a One-Dimensional Array to a Function273

Using Pointers to Pass a Multidimensional Array to a Function273

Attempt 2275

Attempt 3276

Attempt 4277

Using Pointers to Return an Array from a Function277

Using Pointers to Create and Use Dynamic Arrays280

Some Light Relief—The Limitations of Program Proofs287

Further Reading291

11.You Know C.So C++ is Easy!293

Allez-OOP!293

Abstraction—Extracting Out the Essential Characteristics of a Thing296

Encapsulation—Grouping Together Related Types,Data,and Functions298

Showing Some Class—Giving User-Defined Types the Same Privileges as Predefined Types299

Availability301

Declarations301

How to Call a Method304

Constructors and Destructors305

Inheritance—Reusing Operations that Are Already Defined307

Multiple Inheritance—Deriving from Two or More Base Classes311

Overloading—Having One Name for the Same Action on Different Types312

How C+++ Does Operator Overloading313

Input/Output in C+++314

Polymorphism—Runtime Binding315

Explanation317

How C+++ Does Polymorphism318

Fancy Pants Polymorphism319

Other Corners of C+++320

If I Was Going There,I Wouldn't Start from Here322

It May Be Crufty,but It's the Only Game in Town325

Some Light Relief—The Dead Computers Society328

Some Final Light Relief—Your Certificate of Merit!330

Further Reading331

Appendix:Secrets of Programmer Job Interviews333

Silicon Valley Programmer Interviews333

How Can You Detect a Cycle in a Linked List?334

What Are the Different C Increment Statements For?335

How Is a Library Call Different from a System Call?338

How Is a File Descriptor Different from a File Pointer?340

Write Some Code to Determine if a Variable Is Signed or Not341

What Is the Time Complexity of Printing the Values in a Binary Tree?342

Give Me a String at Random from This File343

Some Light Relief—How to Measure a Building with a Barometer344

Further Reading346

Index349

热门推荐