当前位置:首页 > 工业技术
新编C语言大全
新编C语言大全

新编C语言大全PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:(美)M.Waite,(美)S.Prata著;范植华,樊 莹译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1994
  • ISBN:7302015961
  • 页数:568 页
图书介绍:书名原文:TheWaiteGroup'snewCprinmerplus:本书包括:预备知识
《新编C语言大全》目录

第二版序言 1

目录 1

第一章 预备知识 1

1.1 C的起源 1

1.2 C的优点 1

1.2.1 设计时的考虑 1

第一版序言 2

1.2.2 效率 2

1.2.3 可移植性 2

1.2.6 面向程序员 3

1.2.7 缺陷 3

1.3 C的未来 3

1.2.4 把C装入PC 3

关于作者 3

1.2.5 高效且灵活 3

1.4 C的使用:七大步骤 4

1.4.1 第一步:确定程序目标 5

1.4.2 第二步:设计该程序 5

1.4.3 第三步:编制代码 5

1.4.6 第六步:测试与调试 6

1.4.7 第七步:维护与修改 6

1.4.5 第五步:运行 6

1.4.4 第四步:编译 6

1.4.8 加注释 7

1.5 程序设计须知 7

1.5.1 源代码文件 8

1.5.2 目标代码文件、可执行文件以及函数库 8

1.5.3 在UNIX系统上准备一个C程序 10

1.5.4 在IBM PC上准备一个C程序 11

1.5.6 Macintosh上的Think C 5.0 14

1.5.5 集成开发环境(IDE) 14

1.5.7 为何要编译? 15

1.6 语言标准 15

1.7 某些约定 15

1.7.1 字样 16

1.7.2 屏幕输出 16

1.7.3 输入与输出设备 16

1.8 本章小结 17

1.9 复习题 17

1.10 程序设计实践 17

第二章 C初步 18

2.1 C的一个简例 18

2.2 解释 19

2.2.1 第一遍:梗概 20

2.2.2 第二遍:细节 21

2.4 如何使程序更具可读性 26

2.3 简单程序的结构 26

2.5 进一步说明 27

2.5.1 文档 28

2.5.2 多个说明 28

2.5.3 乘法 28

2.5.4 打印多个数值 28

2.6 此刻我们需要多个函数 28

2.7 常见错误 30

2.7.1 语法错误 30

2.7.2 语义错误 31

2.7.3 程序状态 32

2.8 关键字 33

2.9 本章小结 33

2.10 复习题 34

2.11 程序设计实践 35

3.1 一个简单的例子 36

第三章 数据和C 36

3.1.1 程序的新颖之处 37

3.2 数据:变量和常量 38

3.3 数据:数据类型的关键字 39

3.3.1 整型和浮点型的比较 40

3.3.2 整型 40

3.3.3 浮点型 40

3.4 C的数据类型 41

3.4.1 int类型 41

3.4.2 其他整型数 44

3.4.3 字符:char型 47

3.4.4 float和double类型 52

3.4.5 其他类型 54

3.4.6 数据类型的尺寸 57

3.6 参数及其使用中的错误 58

3.5 数据类型的使用 58

3.7 再举一例 59

3.7.1 发生了什么? 60

3.7.2 可能出现的问题 60

3.8 本章小结 61

3.9 复习题 61

3.10 程序设计实践 62

第四章 字符串与格式化输入/输出 64

4.1 入门程序 64

4.2 字符串浅谈 65

4.2.1 char类型数组和空(Null)字符 65

4.2.2 字符串的使用 66

4.2.3 字符串的长度——strlen() 67

4.3 常量和C预处理器 69

4.3.1 同时使用#define和#include 72

4.3.2 C——扮假的能手:创造化名 72

4.3.3 作业的预置常量 73

4.4.1 printf()函数 74

4.4 研究与利用printf()和scanf() 74

4.4.2 printf()的使用 75

4.4.3 printf()的转换说明修饰符 77

4.4.4 转换的含义 81

4.4.5 scanf()的使用 87

4.4.6 printf()和scanf()的修饰符 91

4.5 用法补遗 92

4.6 本章小结 93

4.7 复习题 93

4.8 程序设计实践 94

第五章 运算符、表达式和语句 96

5.1 循环入门 96

5.2 基本运算符 98

5.2.1 赋值运算符:= 98

5.2.4 符号运算符:-和+ 100

5.2.1 加法运算符:+ 100

5.2.3 减法运算符:- 100

5.2.5 乘法运算法:* 101

5.2.6 除法运算符: 103

5.2.7 运算符优先关系 104

5.2.8 优先级和计算的顺序 105

5.3 其他一些运算符 107

5.3.1 运算符sizeof 107

5.3.2 模运算符:% 107

5.3.3 递增和递减运算符:++和-- 108

5.3.4 递减:-- 111

5.3.5 优先级 112

5.3.6 “聪明反被聪明误” 113

5.4 表达式和语句 114

5.4.1 表达式 114

5.4.2 语句 115

5.4.3 复合语句(块) 117

5.5 类型转换 119

5.5.1 强制类型符(cast operator) 121

5.6 带有参数的函数 122

5.6.1 K R函数的说明和标题 123

5.7 程序范例 124

5.8 本章小结 125

5.9 复习题 126

5.10 程序设计实践 128

第六章 C控制语句:循环 129

6.1 一个简单的例子 129

6.1.1 程序注释 130

6.1.2 C风格的读循环 131

6.2 while语句 132

6.2.1 终止while循环 132

6.2.3 while——入口条件循环 133

6.2.2 当循环终止时 133

6.2.4 语法要点 134

6.3 关系运算符和关系表达式 135

6.3.1 什么是真的? 136

6.3.2 还有哪些是真值? 137

6.3.3 “真值”引起的麻烦 138

6.3.4 关系运算符的优先级 140

6.4 不定循环和计数循环 142

6.5 for循环 142

6.5.1 for的灵活性 144

6.6 其他赋值运算符:+=、-=、*=、/=、%= 148

6.7 逗号运算符 148

6.8 Zeno遇到for循环 150

6.9 出口条件循环:do while 152

6.10 选用哪种循环? 154

6.11.1 讨论 155

6.11 嵌套循环 155

6.11.2 嵌套的变形 156

6.12 数组 156

6.12.1 带有数组的for循环 158

6.13 使用函数返回值的循环范例 159

6.13.1 程序讨论 161

6.13.2 带有返回值的函数 162

6.14 本章小结 162

6.15 复习题 163

6.16 程序设计实践 165

第七章 C控制语句:分支和转移 167

7.1 if语句 167

7.1.1 if的基本概念 168

7.2 if语句中加入else 169

7.2.1 另一个例子:getchar()和putchar() 171

7.2.3 多重选择:else if 173

7.2.4 把else与if相匹配 175

7.2.5 多层嵌套if 176

7.3 逻辑运算浅谈 180

7.3.1 优先级 181

7.3.2 计算顺序 181

7.4 一个单词计数程序 183

7.5 条件运算符:?: 185

7.5 循环的辅助语句:continue和break 187

7.5.1 continue语句 187

7.5.2 break语句 189

7.6 多重选择:switch和break 191

7.6.1 switch语句的使用 192

7.6.2 只读取每行的第一个字符 194

7.6.3 多重标号 194

7.7.1 避免用goto 196

7.6.4 switch和if else 196

7.7 goto语句 196

7.8 本章小结 200

7.9 复习题 200

7.10 程序设计实践 202

第八章 字符输入/输出与转向 204

8.1 单字符输入/输出:getchar()和putchar() 204

8.2 缓冲器 205

8.3 终止键盘输入 206

8.3.1 文件、流和键盘输入 206

8.3.2 文件结尾 207

8.4 转向和文件 209

8.4.1 UNIX和DOS转向 210

8.4.2 注释 212

8.5 一个图形的例子 213

8.6 建立更为友好的用户界面 214

8.6.1 利用缓冲的输入工作 215

8.6.2 数字和字符的混合输入 217

8.7 字符图样 220

8.7.1 分析程序 222

8.8 本章小结 224

8.9 复习题 224

8.10 程序设计实践 225

第九章 函数 226

9.1 复习 226

9.1.1 创建和使用一个简单函数 227

9.1.2 函数参数 230

9.1.3 定义带形式参数的函数 231

9.1.4 带有参数的函数原型 232

9.1.5 调用带有实在参数的函数 232

9.1.6 黑盒子论点 232

9.1.7 从带有return的函数中返回数值 233

9.1.8 函数类型 235

9.2 ANSI C函数原型 236

9.2.1 问题 236

9.2.2 ANSI的解决方法 237

9.2.3 无参数和未指定参数 239

9.3 递归 239

9.3.1 递归的表象 239

9.3.2 递归的原理 240

9.3.3 尾部递归 241

9.3.4 递归和转换 243

9.4 所有的C函数都是平等的 244

9.5 编译带有两个或多个函数的程序 244

9.5.1 UNIX 244

9.5.5 Turbo C/Borland C 245

9.5.7 头文件的使用 245

9.5.6 Think C 245

9.5.4 QuickC 245

9.5.3 Microsoft C 6.0—7.0(PWB) 245

9.5.2 Microsoft C 4.0—7.0版(命令行) 245

9.6 计算地址:运算符& 248

9.7 调用函数中变量的改变 250

9.8 指针初探 252

9.8.1 间接运算符 252

9.8.2 说明指针 253

9.8.3 函数间的指针传递 254

9.9 本章小结 258

9.10 复习题 258

9.11 程序设计实践 259

第十章 数组和指针 261

10.1 数组 261

10.1.1 预置和存储类别 261

10.1.2 多个数组的预置 263

10.1.3 为数组赋值 266

10.2 数组指针 266

10.3 函数、数组和指针 269

10.3.1 作为参数的数组名 270

10.3.2 指针参数的使用 271

10.3.3 注解:指针和数组 272

10.4 指针运算 272

10.4.1 另一个例子 275

10.5 多维数组 276

10.5.1 二维数组的初始化 278

10.5.2 高维数组 278

10.6 指针和多维数组 279

10.6.1 函数和多维数组 282

10.7 设计一个程序 286

10.7.1 一般设计 286

10.7.2 read_array()函数 287

10.7.3 show_array()函数 288

10.7.4 mean()函数 289

10.7.5 结果 289

10.8 本章小结 290

10.9 复习题 291

10.10 程序设计实践 292

第十一章 字符串和字符串函数 294

11.1 在程序中定义字符串 295

11.1.1 字符串常量 295

11.2 字符串数组和初始化 296

11.2.1 数组与指针 297

11.2.2 显式规定存储量 298

11.2.3 字符串数组 299

11.2.4 指针和字符串 300

11.3.1 开辟空间 301

11.3 字符串输入 301

11.3.2 gets()函数 302

11.3.3 scanf()函数 304

11.4 字符串输出 305

11.4.1 puts()函数 305

11.4.2 print?()函数 306

11.5 自己动手的选择 307

11.6 字符串函数 308

11.6.1 strlen()函数 309

11.6.2 strcat()函数 310

11.6.3 strcmp()函数 311

11.6.4 strcpy()函数 314

11.6.5 sprintf()函数 316

11.6.6 其他字符串函数 317

11.7 字符串实例:字符串排序 318

11.7.1 排序 320

11.8 ctype.h字符函数 321

11.9 命令行参数 322

11.9.1 集成环境中的命令行参数 324

11.9.2 Think C的命令行参数 324

11.10 从字符串到数字的转换 325

11.11 本章小结 326

11.12 复习题 327

11.13 程序设计实践 328

第十二章 文件的输入/输出 330

12.1 与文件的联系 330

12.1.1 文件的概念 330

12.1.2 I/O的级别 331

12.1.3 标准文件 332

12.2 标准I/O 332

12.2.2 fopen()函数 333

12.2.1 检验命令行参数 333

12.2.3 getc()和putc()函数 334

12.2.4 fclose()函数 335

12.2.5 标准文件 335

12.3 一个简单的文件压缩程序 335

12.4 文件I/O:fprintf()、fscanf()、fgets()和fputs() 337

12.4.1 fprintf()和fscanf()函数 337

12.4.2 fgets()和fputs()函数 338

12.5 随机存取fseek()和ftell()的危险 340

12.5.1 fseek()和ftell()的工作原理 341

12.5.2 二进制模式和文本模式 342

12.5.3 可移植性 343

12.6 在文本模式中随机存取 343

12.6.1 可移植性 345

12.7 标准I/O的秘密 345

12.8.2 int fflush(FILE*fp) 346

12.8 其他标准的I/O函数 346

12.8.1 int ungetc(int c,FILE*fp) 346

12.8.3 int setvbuf(FILE*fp,char*buf,int mode,size_t size) 347

12.8.4 二进制I/O:fread()和fwrite() 347

12.8.5 size_t fwrite(void*ptr,size_t size,size_t nmemb,FILE*fp) 349

12.8.6 size_t freab(void*ptr,size_t size,size_t nmemb,FILE*fp) 349

12.8.7 int feof(FILE*fp)和int ferror(FILE*fp) 350

12.8.8 实例 350

12.9 本章小结 352

12.10 复习题 353

12.11 程序设计实践 354

第十三章 存储类别与程序开发 355

13.1 存储类别与辖域 355

13.1.1 辖域、链接以及存储延续期 357

13.1.2 自动变量 358

13.1.3 外部变量 359

13.1.4 定义与说明 361

13.1.5 静态变量 362

13.1.6 外部静态变量 363

13.1.7 多个文件 363

13.1.8 辖域与函数 364

13.1.9 寄存器变量 364

13.1.10 采用哪种存储类别? 365

13.2 一个随机数函数 366

13.3 掷骰游戏 369

13.4 数字排序 371

13.4.1 全局判定 371

13.4.2 读数值数据 373

13.4.3 getarray()函数 374

13.4.4 给数据排序 376

13.4.6 结果 378

13.4.5 打印数据 378

13.4.7 注释 379

13.5 ANSI C类型限定符 379

13.5.1 类型限定词const 379

13.5.2 类型限定词volatile 380

13.6 本章小结 381

13.7 复习题 382

13.8 程序设计实践 383

第十四章 结构及其他数据形式 384

14.1 问题示例:建立一张书目 384

14.2 建立结构样板 385

14.3 定义结构变量 386

14.3.1 结构的预置 387

14.4 访问结构成员 388

14.5 结构数组 389

14.5.2 标识结构数组的成员 391

14.5.1 说明结构数组 391

14.5.3 程序细节 392

14.6 嵌套结构 392

14.7 指向结构的指针 394

14.7.1 说明与预置结构指针 395

14.7.2 利用指针访问成员 395

14.8 把结构通知函数 396

14.8.1 传递结构成员 396

14.8.2 使用结构地址 397

14.8.3 将结构作为参数传递 398

14.8.4 再谈新改进的结构状态 399

14.8.5 结构和指向结构的指针 402

14.8.6 使用结构数组的函数 403

14.9 保存结构内容于文件中 404

14.9.1 程序要点 407

14.10 结构的补充 408

14.11 联合简述 409

14.12 简述typedef 411

14.13 修饰说明 413

14.14 函数与指针 414

14.15 本章小结 417

14.16 复习题 417

14.17 程序设计实践 418

第十五章 字位运算 421

15.1 二进制数、字位和字节 421

15.1.1 二进制整数 422

15.1.2 带符号整数 422

15.1.3 二进制浮点数 423

15.2 其他数制 423

15.2.1 八进制数 423

15.2.2 十六进制数 424

15.3.1 位逻辑运算符 425

15.3 C的字位运算符 425

15.3.2 用法:掩码 427

15.3.3 用法:置位 427

15.3.4 用法:清位 428

15.3.5 用法:触发字位 428

15.3.6 用法:检测字位值 429

15.3.7 移位运算符 429

15.3.8 程序示例 430

15.3.9 再举一例 431

15.4 字段(bit field) 433

15.4.1 字段举例 434

15.5 本章小结 437

15.6 复习题 438

15.7 程序设计实践 439

16.1 文字常量:#define 440

第十六章 C预处理器与C函数库 440

16.1.1 记号 443

16.1.2 重定义常量 444

1 6.2 用#define使用参数 444

16.2.1 字符串里的宏参数 446

16.3 宏和函数的比较 447

16.5 包含文件: include 448

16.5.1 头文件的一个例子 449

16.5.2 头文件的用法 450

16.6 其他伪指令 451

16.6.1 伪指令#undef 451

16.6.2 条件编译 451

16.7 枚举类型 455

16.7.1 enum常数 455

16.7.2 缺省值 455

16.7.4 用法 456

16.7.3 所赋的值 456

16.8 C函数库 457

16.8.1 访问C的函数库 457

16.8.2 利用库的描述 458

16.9 数学函数库 459

16.10 通用工具库 461

16.10.1 exit()和atexit()函数 461

16.10.2 存储管理:malloc()和 free() 463

16.10.3 calloc()函数 466

16.10.4 存储类别与动态存储分配 466

16.11 本章小结 467

16.12 复习题 467

16.13 程序设计实践 468

第十七章 高级的数据表示 470

17.1 拓宽数据的表示方法 471

17.2 从数组到链接表 473

17.2.1 链接表的使用 476

17.2.2 反思 479

17.3 抽象数据类型(ADT:Abstract DataType) 480

17.3.1 进行抽象 481

17.3.2 建立接口 482

17.3.3 使用接口 485

17.3.4 实现接口 487

17.4 利用ADT排队 492

17.4.1 实现接口数据表示 494

17.4.2 测试队列 501

17.5 模拟队列 503

17.6 链接表与数组 508

17.7 二叉检索树 511

17.8 二叉树ADT 512

17.8.1 二叉检索树接口 513

17.8.2 二叉树的实现 515

17.8.3 试用二叉树 521

17.8.4 树的思想 525

17.9 后记 526

17.10 本章小结 527

17.11 复习题 527

17.12 程序设计实践 527

附录A 复习题答案 529

附录B C运算符 548

B.1 算术运算符 548

B.2 关系运算符 549

B.3 赋值运算符 549

B.4 逻辑运算符 550

B.5 条件运算符 550

B.6 与指针有关的运算符 550

B.8 结构与联合运算符 551

B.7 符号运算符 551

B.9 位运算符 552

B.10 其他运算符 552

附录C 基本类型与存储类别 554

C.1 总结:基本数据类型 554

C.2 总结:如何说明简单变量 555

C.3 总结:限定符 556

D.2 总结:while语句 557

D.1 总结:表达式与语句 557

附录D 表达式、语句和程序流程 557

D.3 总结:for语句 558

D.4 总结:do while语句 558

D.5 总结:利用if语句进行选择 559

D.6 总结:利用switch语句进行多重选择 560

D.7 总结:程序转移 561

附录E ASCII码 563

附录F 标准I/O函数(ANSI C) 567

返回顶部