新编C语言大全PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:(美)M.Waite,(美)S.Prata著;范植华,樊 莹译
- 出 版 社:北京:清华大学出版社
- 出版年份:1994
- ISBN:7302015961
- 页数:568 页
第二版序言 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
- 《新编历史小丛书 祖逖北伐》何兹全著 2019
- 《新编高中物理竞赛教程习题全解》钟小平主编;钟小平,倪国富,曹海奇编写 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《新编中草药全图鉴 2》林余霖,李葆莉主编 2020
- 《幼儿园课程资源丛书 幼儿园语言教育资源》周兢编 2015
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《高等学校“十三五”规划教材 C语言程序设计》翟玉峰责任编辑;(中国)李聪,曾志华,江伟 2019
- 《音乐语言的根基》张艺编著 2019
- 《认知语言学视野的抽象方位结构研究》曹爽著 2019
- 《激活语言思维》李蒨,王宏年,汤青编著 2017
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019