21天学通C语言(第4版)
  • 推荐0
  • 收藏0
  • 浏览410

21天学通C语言(第4版)

北京源智天下科技有限公司 , 张启玉 , 刘刚 (作者)  孔祥飞 (责任编辑)

  • 丛  书:21天学编程系列
  • 书  号:978-7-121-27557-9
  • 出版日期:2015-12-25
  • 页  数:420
  • 开  本:16(185*260)
  • 出版状态:上市销售
  • 维护人:n-y
本书是 C 语言的入门教程, 详细介绍了 C 语言的基本概念和编程技术。 本书分为八篇, 共 21 章内容。第一篇为 C 语言入门篇,该篇介绍了 C 语言程序的特点及编程的准备。第二篇为 C 语言基础篇,该篇介绍了常量与变量、整型、字符型、浮点型,以及表达式与操作符等内容。第三篇为结构编程篇,该篇讲解了选择结构和循环结构两种常用的程序结构。第四篇为数组和字符串篇,该篇讲解了 C 语言中数组和字符串的应用。第五篇为函数篇,该篇内容主要包括函数、函数与文件、函数中的变量和字符串处理函数等。第六篇为指针篇,该篇介绍了指针的重要概念和应用。第七篇为高级应用篇,该篇内容主要包括堆管理、位运算操作符、结构体、共用体、枚举和位域,以及预处理等。第八篇为综合案例篇,该篇以图书管理系统开发为例,详细介绍了 C 语言和文件处理开发的过程。
本书适合没有编程基础的 C 语言初学者作为入门教程,也可作为大、中专院校和培训班的教材,对于 C 语言开发的爱好者,本书也有较大的参考价值。
本书附带 DVD 光盘 1 张,内容包括超大容量手把手教学视频、电子教案(PPT) 、源代码等。
1. 细致体贴的讲解
为了让读者更快地上手,本书特别设计了适合初学者的学习方式,用准确的语言总结概念?用直观的图示演示过程?用详细的注释解释代码?用形象的比方帮助记忆。
2.实用超值的DVD 光盘
为了帮助读者比较直观地学习,本书附带DVD 光盘,内容包括多媒体视频、电子教案(PPT)和实例源代码等。
3.提供完善的技术支持
本书的技术支持论坛为http://www.rzchina.net,读者可以在上面提问交流。另外,论坛上还有一些小的教程、视频动画和各种技术文章,可帮助读者提高开发水平。
“21 天学编程系列”自2009 年1 月上市以来一直受到广大读者的青睐。该系列中的大部分图书从一上市就登上了编程类图书销售排行榜的前列,很多大、中专院校也将该系列中的一些图书作为教材使用,目前这些图书已经多次印刷、改版。可以说,“21 天学编程系列”是自2009 年以来,国内原创计算机编程图书最有影响力的品牌之一。
为了使该系列图书能紧跟技术和教学的发展,更加适合读者学习和学校教学,我们结合最新技术和读者的建议,对该系列图书进行了改版(即第4 版)。本书便是该系列中的C 语言分册。
本书有何特色
1. 细致体贴的讲解
为了让读者更快地上手,本书特别设计了适合初学者的学习方式,用准确的语言总结概念?用直观的图示演示过程?用详细的注释解释代码?用形象的比方帮助记忆。
知识点介绍:准确、清晰是其显著特点,一般放在每一节开始的位置,让零基础的读者了解相关概念,顺利入门。
范例:书中出现的完整实例,以章节顺序编号,便于检索和循序渐进地学习、实践,放在每节知识点介绍之后。
示例代码:与范例编号对应,层次清楚、语句简洁、注释丰富,体现了代码优美的原则,有利于读者养成良好的代码编写习惯。对于大段程序,均在每行代码前设定编号,便于学习。
运行结果:对范例给出运行结果和对应图示,帮助读者更直观地理解示例代码。
代码解析:将范例代码中的关键代码行逐一进行解释,有助于读者掌握相关概念和知识。
贴心的提示:为了便于读者阅读,全书还穿插着一些技巧、提示等小贴士,体例约定如下:
提示:通常是一些贴心的提醒,让读者加深印象,提供建议或者解决问题的方法。
? 注意:提出学习过程中需要特别注意的一些知识点和内容,或者相关信息。
? 警告:对操作不当或理解偏差将会造成的灾难性后果给出警示,以加深读者印象。
习题:每章最后提供专门的测试习题,供读者检验所学知识是否牢固掌握。经作者多年的培训和授课证明,以上讲解方式是最适合初学者学习的方式,读者按照这种方式学习会非常轻松、顺利地掌握本书知识。
在本书中,大部分的内容是基于Turbo C 2.0 编译器实现的,但是为了适应最新的C99 语言标准,本书部分章节是基于Visual C++编译器实现的(两者主要的差别在于内存空间不同)。使用Visual C++编译器的章节是第3~5 章、第8、9 章,以及第14~19 章。
2.实用超值的DVD 光盘
为了帮助读者比较直观地学习,本书附带DVD 光盘,内容包括多媒体视频、电子教案(PPT)和实例源代码等。
多媒体视频:
本书配有长达14 小时的教学视频,讲解关键知识点界面操作和书中的一些综合练习题。作者亲自配音、演示,手把手教会读者使用。
电子教案(PPT):
本书可以作为高校相关课程的教材或课外辅导书,所以作者特别为本书制作了电子教案(PPT),以方便老师教学使用。
职场面试法宝:
本书附赠“职场面试法宝”,含常见的职场经典面试题及解答。
3.提供完善的技术支持
本书的技术支持论坛为http://www.rzchina.net,读者可以在上面提问交流。另外,论坛上还有一些小的教程、视频动画和各种技术文章,可帮助读者提高开发水平。

目录

第一篇 C 语言入门篇
第 1 章 C 语言与程序概述( 教学视频:38 分钟) ..................................................... 1
1.1 C 语言的历史沿革 .............................................................................................................. 1
1.1.1 C 语言的诞生 .......................................................................................................... 1
1.1.2 C 语言的发展历程 .................................................................................................. 2
1.1.3 C 语言的特点 .......................................................................................................... 2
1.1.4 第一个 C 程序——Hello, world! ............................................................................ 3
1.2 数据结构与算法 .................................................................................................................. 4
1.2.1 什么是数据结构 ...................................................................................................... 4
1.2.2 什么是算法 .............................................................................................................. 6
1.3 程序设计概述 ...................................................................................................................... 7
1.3.1 结构化程序设计 ...................................................................................................... 7
1.3.2 三种基本结构 .......................................................................................................... 8
1.3.3 算法描述方法 .......................................................................................................... 9
1.4 小结 .................................................................................................................................... 11
1.5 习题 .................................................................................................................................... 11
第 2 章 C 语言编程准备( 教学视频:43 分钟) ...................................................... 14
2.1 C 程序简介 ........................................................................................................................ 14
2.1.1 简单 C 程序示例 ................................................................................................... 14
2.1.2 C 程序的特点 ........................................................................................................ 15
2.1.3 标识符与关键字 .................................................................................................... 16
2.1.4 C 程序的执行步骤 ................................................................................................ 17
2.2 C 程序开发环境 ................................................................................................................ 17
2.2.1 Turbo C .................................................................................................................. 18
2.2.2 Visual C++ 2005 .................................................................................................... 20
2.2.3 GCC 3.2.2 ............................................................................................................... 21
2.3 小结 .................................................................................................................................... 22
2.4 习题 .................................................................................................................................... 22

第二篇 C 语言基础篇
第 3 章 常量与变量( 教学视频:39 分钟) ............................................................. 25
3.1 常量和变量概述 ................................................................................................................ 25
3.1.1 常量 ........................................................................................................................ 25
3.1.2 变量 ........................................................................................................................ 26
3.2 变量的使用 ........................................................................................................................ 27
3.2.1 声明变量 ................................................................................................................ 27
3.2.2 定义变量 ................................................................................................................ 28
3.2.3 使用 extern 声明变量 ............................................................................................ 28
3.2.4 变量赋值及初始化 ................................................................................................ 29
3.2.5 地址操作符和指针操作符 .................................................................................... 30
3.3 格式化输入/输出 ............................................................................................................... 31
3.3.1 标准输出函数——printf 函数 .............................................................................. 32
3.3.2 标准输入函数——scanf 函数 ............................................................................... 32
3.4 数据类型简介 .................................................................................................................... 33
3.5 小结 .................................................................................................................................... 34
3.6 习题 .................................................................................................................................... 34
第 4 章 基本数据类型( 教学视频:42 分钟) .......................................................... 37
4.1 整型数据类型 .................................................................................................................... 37
4.1.1 字节长度 ................................................................................................................ 37
4.1.2 符号修饰符 ............................................................................................................ 38
4.1.3 整型常量 ................................................................................................................ 38
4.1.4 整型变量 ................................................................................................................ 39
4.1.5 存储方式 ................................................................................................................ 40
4.1.6 数值范围 ................................................................................................................ 41
4.2 字符型数据类型 ................................................................................................................ 44
4.2.1 字节长度 ................................................................................................................ 44
4.2.2 字符常量 ................................................................................................................ 44
4.2.3 字符变量 ................................................................................................................ 46
4.2.4 存储方式 ................................................................................................................ 47
4.3 浮点型数据类型 ................................................................................................................ 47
4.3.1 字节长度 ................................................................................................................ 47
4.3.2 浮点型常量 ............................................................................................................ 48
4.3.3 浮点型变量 ............................................................................................................ 48
4.3.4 精度 ........................................................................................................................ 49
4.3.5 数值范围 ................................................................................................................ 50
4.3.6 存储方式 ................................................................................................................ 51
4.4 用户自定义类型 ................................................................................................................ 53
4.4.1 typedef 的标准形式 ............................................................................................... 53
4.4.2 合理使用 typedef ................................................................................................... 54
4.5 限定词 const 与 volatile ..................................................................................................... 55
4.5.1 使用 const .............................................................................................................. 55
4.5.2 使用 volatile ........................................................................................................... 56
4.6 小结 .................................................................................................................................... 57
4.7 习题 .................................................................................................................................... 57
第 5 章 表达式与操作符( 教学视频:47 分钟) ...................................................... 61
5.1 表达式和语句 .................................................................................................................... 61
5.1.1 表达式 .................................................................................................................... 61
5.1.2 语句 ........................................................................................................................ 63
5.1.3 复合语句 ................................................................................................................ 63
5.1.4 C 语言的操作符 .................................................................................................... 65
5.2 赋值操作符与赋值表达式 ................................................................................................ 66
5.2.1 赋值操作符 ............................................................................................................ 66
5.2.2 赋值操作符的结合性 ............................................................................................ 66
5.2.3 左值和右值 ............................................................................................................ 67
5.2.4 隐式类型转换 ........................................................................................................ 68
5.2.5 强制类型转换 ........................................................................................................ 69
5.3 运算操作符与运算表达式 ................................................................................................ 71
5.3.1 运算操作符 ............................................................................................................ 71
5.3.2 符号操作符 ............................................................................................................ 72
5.3.3 优先级与结合性 .................................................................................................... 73
5.3.4 数值运算中的类型转换 ........................................................................................ 75
5.3.5 复合赋值操作符 .................................................................................................... 76
5.4 自增、自减操作符 ............................................................................................................ 77
5.4.1 自增操作符 ............................................................................................................ 78
5.4.2 自减操作符 ............................................................................................................ 79
5.4.3 优先级与结合性 .................................................................................................... 80
5.4.4 自增、自减操作符的编译过程 ............................................................................ 81
5.4.5 注意事项 ................................................................................................................ 83
5.5 关系操作符与关系表达式 ................................................................................................ 84
5.5.1 关系操作符 ............................................................................................................ 84
5.5.2 关系表达式的值 .................................................................................................... 86
5.5.3 优先级与结合性 .................................................................................................... 87
5.6 逻辑操作符与逻辑表达式 ................................................................................................ 88
5.6.1 逻辑操作符 ............................................................................................................ 88
5.6.2 逻辑表达式的值 .................................................................................................... 89
5.6.3 优先级和结合性 .................................................................................................... 89
5.6.4 逻辑表达式 ............................................................................................................ 90
5.7 逗号操作符与逗号表达式 ................................................................................................ 91
5.7.1 逗号操作符 ............................................................................................................ 91
5.7.2 逗号表达式的值 .................................................................................................... 92
5.8 操作符优先级和结合性 .................................................................................................... 92
5.8.1 优先级和结合性 .................................................................................................... 92
5.8.2 优先级的改变 ........................................................................................................ 94
5.8.3 注意事项 ................................................................................................................ 96
5.9 小结 .................................................................................................................................... 97
5.10 习题 .................................................................................................................................. 97

第三篇 结构编程篇
第 6 章 选择结构( 教学视频:40 分钟) ............................................................... 101
6.1 if 语句 .............................................................................................................................. 101
6.1.1 if 语句的基本形式 .............................................................................................. 101
6.1.2 else 和 if 的配对使用 .......................................................................................... 104
6.1.3 选择结构中的不平等分支 .................................................................................. 105
6.1.4 条件表达式中的=与== .................................................................................. 106
6.2 switch 语句 ...................................................................................................................... 107
6.2.1 switch 语句的基本形式....................................................................................... 107
6.2.2 break 语句 ............................................................................................................ 108
6.2.3 else if 语句和 switch 语句 ................................................................................... 110
6.2.4 switch 中的标号 ................................................................................................... 111
6.2.5 使用具名常量组成标号 ...................................................................................... 113
6.3 条件操作符与条件表达式 .............................................................................................. 114
6.3.1 条件操作符的基本形式 ...................................................................................... 114
6.3.2 条件表达式与 if-else ........................................................................................... 114
6.3.3 条件表达式中的类型转换 .................................................................................. 115
6.3.4 条件表达式的嵌套 .............................................................................................. 116
6.4 逻辑表达式的隐式选择 .................................................................................................. 116
6.4.1 逻辑表达式的特点 .............................................................................................. 116
6.4.2 隐式选择的作用 .................................................................................................. 117
6.4.3 巧用隐式选择 ...................................................................................................... 118
6.5 小结 .................................................................................................................................. 120
6.6 习题 .................................................................................................................................. 120
第 7 章 循环结构( 教学视频:43 分钟) ............................................................... 124
7.1 for 语句 ............................................................................................................................ 124
7.1.1 for 语句的基本形式 ............................................................................................ 124
7.1.2 for 头中的三个表达式 ........................................................................................ 124
7.1.3 for 头中的逗号表达式 ........................................................................................ 126
7.1.4 for 语句的嵌套 .................................................................................................... 127
7.1.5 for 语句示例 ........................................................................................................ 127
7.2 while 语句 ........................................................................................................................ 129
7.2.1 while 语句的基本形式 ........................................................................................ 129
7.2.2 while 语句与 for 语句 ......................................................................................... 129
7.2.3 while 语句示例 .................................................................................................... 131
7.3 do-while 语句 ................................................................................................................... 133
7.3.1 do-while 语句的基本形式 ................................................................................... 133
7.3.2 do-while 语句与 while 语句 ................................................................................ 133
7.3.3 do-while 语句示例 ............................................................................................... 134
7.4 continue 语句与 break 语句 ............................................................................................ 136
7.4.1 continue 语句 ....................................................................................................... 136
7.4.2 continue 语句与 if 语句 ....................................................................................... 137
7.4.3 break 语句 ............................................................................................................ 137
7.4.4 使用 break 语句终止多层循环 ........................................................................... 138
7.5 goto 语句 .......................................................................................................................... 140
7.5.1 goto 语句的基本形式 .......................................................................................... 140
7.5.2 使用 goto 语句构成循环 ..................................................................................... 140
7.5.3 注意事项 .............................................................................................................. 141
7.6 循环结构与选择结构的嵌套 .......................................................................................... 144
7.6.1 if-while 与 while-if ............................................................................................... 144
7.6.2 使用选择结构包含循环结构 .............................................................................. 144
7.7 小结 .................................................................................................................................. 146
7.8 习题 .................................................................................................................................. 146

第四篇 数组和字符串篇
第 8 章 数组( 教学视频:45 分钟) ...................................................................... 149
8.1 一维数组 .......................................................................................................................... 149
8.1.1 定义一维数组 ...................................................................................................... 149
8.1.2 访问一维数组元素 .............................................................................................. 150
8.1.3 初始化一维数组 .................................................................................................. 151
8.1.4 数组的存储形式 .................................................................................................. 153
8.1.5 注意事项 .............................................................................................................. 154
8.1.6 一维数组示例 ...................................................................................................... 155
8.2 二维数组 .......................................................................................................................... 158
8.2.1 定义二维数组 ...................................................................................................... 158
8.2.2 访问二维数组元素 .............................................................................................. 158
8.2.3 二维数组的存储方式 .......................................................................................... 160
8.2.4 初始化二维数组 .................................................................................................. 160
8.2.5 二维数组示例 ...................................................................................................... 162
8.3 多维数组 .......................................................................................................................... 163
8.3.1 定义多维数组 ...................................................................................................... 164
8.3.2 多维数组示例 ...................................................................................................... 164
8.4 小结 .................................................................................................................................. 165
8.5 习题 .................................................................................................................................. 166
第 9 章 字符串( 教学视频:40 分钟) ................................................................... 170
9.1 字符数组 .......................................................................................................................... 170
9.1.1 字符数组的定义 .................................................................................................. 170
9.1.2 字符数组的初始化 .............................................................................................. 172
9.1.3 二维字符数组 ...................................................................................................... 172
9.1.4 字符数组示例 ...................................................................................................... 174
9.2 字符串类型 ...................................................................................................................... 176
9.2.1 字符串常量 .......................................................................................................... 177
9.2.2 字符串变量 .......................................................................................................... 178
9.2.3 格式化输出字符串 .............................................................................................. 179
9.2.4 格式化输入字符串 .............................................................................................. 180
9.3 字符串应用示例 .............................................................................................................. 181
9.3.1 取字符串长度 ...................................................................................................... 181
9.3.2 统计单词数 .......................................................................................................... 182
9.3.3 颠倒单词顺序 ...................................................................................................... 183
9.3.4 改进的颠倒单词顺序实现 .................................................................................. 184
9.4 小结 .................................................................................................................................. 186
9.5 习题 .................................................................................................................................. 187

第五篇 函数篇
第 10 章 函数( 教学视频:40 分钟) .................................................................... 191
10.1 函数概述 ........................................................................................................................ 191
10.1.1 模块化编程 ........................................................................................................ 191
10.1.2 定义函数 ............................................................................................................ 194
10.1.3 调用函数 ............................................................................................................ 195
10.1.4 函数使用示例 .................................................................................................... 196
10.1.5 改进的算术运算函数 ........................................................................................ 197
10.2 函数声明 ........................................................................................................................ 198
10.2.1 声明的形式 ........................................................................................................ 199
10.2.2 声明与定义 ........................................................................................................ 199
10.3 函数值与形参列表 ........................................................................................................ 200
10.3.1 函数值类型 ........................................................................................................ 200
10.3.2 形参列表 ............................................................................................................ 202
10.3.3 函数返回值 ........................................................................................................ 203
10.3.4 const 形参 .......................................................................................................... 206
10.4 函数体 ............................................................................................................................ 207
10.4.1 函数体的变量定义 ............................................................................................ 207
10.4.2 检查形参 ............................................................................................................ 208
10.4.3 return 语句 ......................................................................................................... 209
10.5 main 函数 ....................................................................................................................... 210
10.5.1 main 函数的声明 ............................................................................................... 211
10.5.2 函数值类型 ........................................................................................................ 211
10.5.3 带参数的 main 函数 .......................................................................................... 212
10.6 小结 ................................................................................................................................ 214
10.7 习题 ................................................................................................................................ 214
第 11 章 函数与文件( 教学视频:31 分钟) .......................................................... 220
11.1 多文件的程序 ................................................................................................................ 220
11.1.1 文件的类型 ........................................................................................................ 220
11.1.2 C 工程的组织结构 ............................................................................................ 221
11.1.3 一个简单的多文件工程 .................................................................................... 222
11.2 实现多文件工程 ............................................................................................................ 224
11.2.1 Turbo C 下实现多文件工程 .............................................................................. 224
11.2.2 Visual C++ 2005 下实现多文件工程 ................................................................ 224
11.2.3 GCC 3.2.2 下实现多文件工程 .......................................................................... 225
11.3 函数的调用 .................................................................................................................... 225
11.3.1 嵌套调用 ............................................................................................................ 225
11.3.2 递归调用 ............................................................................................................ 226
11.3.3 递归调用示例 .................................................................................................... 228
11.4 外部函数与内部函数 .................................................................................................... 231
11.4.1 外部函数 ............................................................................................................ 231
11.4.2 内部函数 ............................................................................................................ 232
11.4.3 应用示例 ............................................................................................................ 233
11.5 小结 ................................................................................................................................ 235
11.6 习题 ................................................................................................................................ 235
第 12 章 函数中的变量( 教学视频:35 分钟) ...................................................... 239
12.1 生存期和作用域 ............................................................................................................ 239
12.1.1 变量的生存期 .................................................................................................... 239
12.1.2 变量的作用域 .................................................................................................... 240
12.2 局部变量和全局变量 .................................................................................................... 242
12.2.1 局部变量 ............................................................................................................ 242
12.2.2 全局变量 ............................................................................................................ 244
12.2.3 初始化全局变量 ................................................................................................ 245
12.2.4 合理使用全局变量 ............................................................................................ 246
12.2.5 注意事项 ............................................................................................................ 248
12.3 变量的存储类别 ............................................................................................................ 250
12.3.1 内存存储区 ........................................................................................................ 250
12.3.2 auto 变量 ............................................................................................................ 251
12.3.3 static 变量 .......................................................................................................... 252
12.3.4 register 变量 ....................................................................................................... 254
12.3.5 extern 变量 ......................................................................................................... 254
12.4 小结 ................................................................................................................................ 255
12.5 习题 ................................................................................................................................ 256
第 13 章 字符串处理函数( 教学视频:36 分钟) .................................................. 259
13.1 输入/输出函数 ............................................................................................................... 259
13.1.1 字符输入/输出函数 ........................................................................................... 259
13.1.2 字符串输入/输出函数 ....................................................................................... 260
13.2 复制和拼接函数 ............................................................................................................ 261
13.2.1 字符串复制函数 ................................................................................................ 261
13.2.2 字符串拼接函数 ................................................................................................ 263
13.3 比较和转换函数 ............................................................................................................ 264
13.3.1 字符串比较函数 ................................................................................................ 264
13.3.2 字符串转换函数 ................................................................................................ 266
13.4 小结 ................................................................................................................................ 267
13.5 习题 ................................................................................................................................ 267

第六篇 指针篇
第 14 章 指针( 教学视频:42 分钟) .................................................................... 270
14.1 指针概述 ........................................................................................................................ 270
14.1.1 访问内存的两种方式 ........................................................................................ 270
14.1.2 指针的概念 ........................................................................................................ 271
14.1.3 指针变量的定义 ................................................................................................ 271
14.2 指针的使用 .................................................................................................................... 272
14.2.1 指针变量的赋值 ................................................................................................ 272
14.2.2 将指针变量赋值为整数 .................................................................................... 275
14.2.3 初始化指针变量 ................................................................................................ 276
14.2.4 const 指针 .......................................................................................................... 277
14.3 指针与函数 .................................................................................................................... 277
14.3.1 指针形参 ............................................................................................................ 278
14.3.2 指针型函数 ........................................................................................................ 280
14.3.3 函数型指针 ........................................................................................................ 281
14.4 void 型指针 .................................................................................................................... 282
14.5 小结 ................................................................................................................................ 283
14.6 习题 ................................................................................................................................ 284
第 15 章 再论指针( 教学视频:38 分钟) ............................................................. 287
15.1 指针与数组 .................................................................................................................... 287
15.1.1 指向数组元素的指针 ........................................................................................ 287
15.1.2 指针访问数组 .................................................................................................... 287
15.1.3 数组指针和数组变量 ........................................................................................ 289
15.1.4 数组指针作为函数形参 .................................................................................... 291
15.1.5 调用含数组形参的函数 .................................................................................... 292
15.2 指针与二维数组 ............................................................................................................ 293
15.2.1 二维数组的地址 ................................................................................................ 293
15.2.2 指针法访问二维数组 ........................................................................................ 296
15.2.3 二维数组形参 .................................................................................................... 297
15.3 指针与字符 .................................................................................................................... 301
15.3.1 字符指针 ............................................................................................................ 301
15.3.2 字符指针应用示例 ............................................................................................ 303
15.3.3 字符指针数组 .................................................................................................... 304
15.4 小结 ................................................................................................................................ 306
15.5 习题 ................................................................................................................................ 306
第七篇 高级应用篇
第 16 章 堆管理( 教学视频:41 分钟) ................................................................. 310
16.1 动态内存管理 ................................................................................................................ 310
16.1.1 分配内存空间 .................................................................................................... 310
16.1.2 释放内存空间 .................................................................................................... 311
16.2 其他分配函数 ................................................................................................................ 312
16.2.1 calloc 函数 ......................................................................................................... 312
16.2.2 realloc 函数 ........................................................................................................ 313
16.3 动态数组 ........................................................................................................................ 314
16.4 小结 ................................................................................................................................ 316
16.5 习题 ................................................................................................................................ 316
第 17 章 位运算操作符( 教学视频:37 分钟) ...................................................... 319
17.1 位运算概述 .................................................................................................................... 319
17.2 位运算操作符 ................................................................................................................ 320
17.2.1 取反操作符(~) .............................................................................................. 320
17.2.2 位或操作符(|) ............................................................................................... 321
17.2.3 位与操作符(&) ............................................................................................. 323
17.2.4 异或操作符(^) .............................................................................................. 325
17.2.5 右移操作符(>>) ........................................................................................... 327
17.2.6 左移操作符(<<) ........................................................................................... 328
17.2.7 位运算赋值操作符 ............................................................................................ 330
17.3 位运算操作符使用示例 ................................................................................................ 331
17.3.1 循环移位 ............................................................................................................ 331
17.3.2 使用子网掩码 .................................................................................................... 332
17.4 小结 ................................................................................................................................ 333
17.5 习题 ................................................................................................................................ 333
第 18 章 结构体( 教学视频:46 分钟) ................................................................. 336
18.1 初识结构体 .................................................................................................................... 336
18.1.1 声明结构体类型 ................................................................................................ 336
18.1.2 定义结构体变量 ................................................................................................ 337
18.1.3 结构体的存储形式 ............................................................................................ 338
18.2 结构体的应用 ................................................................................................................ 340
18.2.1 访问结构体成员 ................................................................................................ 340
18.2.2 初始化结构体变量 ............................................................................................ 341
18.2.3 结构体变量的赋值 ............................................................................................ 342
18.3 结构体数组 .................................................................................................................... 344
18.3.1 定义结构体数组 ................................................................................................ 344
18.3.2 初始化结构体数组 ............................................................................................ 345
18.3.3 结构体数组示例 ................................................................................................ 346
18.4 结构体指针 .................................................................................................................... 347
18.4.1 指向结构体变量的指针 .................................................................................... 347
18.4.2 指向堆空间的结构体指针 ................................................................................ 348
18.4.3 指向结构体数组元素的指针 ............................................................................ 349
18.5 小结 ................................................................................................................................ 350
18.6 习题 ................................................................................................................................ 350
第 19 章 共用体、枚举和位域( 教学视频:37 分钟) ........................................... 354
19.1 共用体 ............................................................................................................................ 354
19.1.1 声明共用体类型 ................................................................................................ 354
19.1.2 定义共用体变量 ................................................................................................ 355
19.2 枚举 ................................................................................................................................ 356
19.2.1 声明枚举类型 .................................................................................................... 356
19.2.2 使用枚举变量 .................................................................................................... 358
19.3 位域 ................................................................................................................................ 360
19.3.1 位域的概念 ........................................................................................................ 360
19.3.2 位域的字长 ........................................................................................................ 360
19.3.3 位域的存储形式 ................................................................................................ 362
19.4 小结 ................................................................................................................................ 363
19.5 习题 ................................................................................................................................ 364
第 20 章 预处理( 教学视频:43 分钟) ................................................................. 367
20.1 宏定义 ............................................................................................................................ 367
20.2 宏对象 ............................................................................................................................ 368
20.2.1 定义宏对象 ........................................................................................................ 368
20.2.2 替换字符串 ........................................................................................................ 369
20.2.3 说明形参属性 .................................................................................................... 371
20.2.4 宏的作用域 ........................................................................................................ 371
20.2.5 标准宏对象 ........................................................................................................ 372
20.3 宏函数 ............................................................................................................................ 372
20.3.1 定义宏函数 ........................................................................................................ 372
20.3.2 宏函数与函数 .................................................................................................... 373
XVIII
21 天学通 C 语言(第 4 版)
20.4 条件编译 ........................................................................................................................ 375
20.4.1 #ifdef 命令 ......................................................................................................... 375
20.4.2 #ifndef 命令 ....................................................................................................... 377
20.4.3 #if 命令 .............................................................................................................. 378
20.4.4 defined 宏函数 ................................................................................................... 379
20.5 文件包含 ........................................................................................................................ 379
20.5.1 #include 命令 ..................................................................................................... 380
20.5.2 注意事项 ............................................................................................................ 381
20.6 小结 ................................................................................................................................ 381
20.7 习题 ................................................................................................................................ 382

第八篇 综合案例篇
第 21 章 图书管理系统开发实例( 教学视频:37 分钟) ....................................... 385
21.1 需求分析 ........................................................................................................................ 385
21.2 系统设计 ........................................................................................................................ 385
21.2.1 概要设计 ............................................................................................................ 385
21.2.2 数据结构 ............................................................................................................ 386
21.3 主程序——main 模块 ................................................................................................... 387
21.4 用户界面模块 ................................................................................................................ 387
21.4.1 程序流程 ............................................................................................................ 388
21.4.2 代码实现 ............................................................................................................ 388
21.4.3 设计主界面 ........................................................................................................ 389
21.4.4 设计增加书籍菜单 ............................................................................................ 390
21.4.5 设计删除书籍菜单 ............................................................................................ 391
21.4.6 设计检索书籍菜单 ............................................................................................ 392
21.4.7 设计导入书籍菜单 ............................................................................................ 392
21.4.8 退出系统 ............................................................................................................ 393
21.5 日志模块 ........................................................................................................................ 393
21.5.1 打开和关闭文件 ................................................................................................ 393
21.5.2 文件的格式化读写 ............................................................................................ 393
21.5.3 打开和关闭日志文件 ........................................................................................ 394
21.5.4 记录日志 ............................................................................................................ 394
21.6 数据管理模块 ................................................................................................................ 395
21.6.1 处理时间数据 .................................................................................................... 395
21.6.2 处理书籍数据 .................................................................................................... 396
21.6.3 增加书籍 ............................................................................................................ 398
21.6.4 删除书籍 ............................................................................................................ 398
21.6.5 查询书籍 ............................................................................................................ 399
21.6.6 导入书籍数据 .................................................................................................... 399
21.7 小结 ................................................................................................................................ 400

本书勘误

印次
  • 页码:59  •  行数:23  •  印次: 2

    示例代码4-13中,第08行,增加一行代码:int a=letter。第09行,改为:printf("The capital is %c.\n", a + 'A' - 'a');即:%d 改成%c

    n-y 提交于 2016/11/2 14:33:07
    n-y 确认于 2016/11/3 9:07:51
  • 页码:86  •  行数:6  •  印次: 2

    示例代码5-17中,代码第38行,末尾增加大括号}第40行,代码前后增加大括号。

    n-y 提交于 2016/11/2 14:35:04
    n-y 确认于 2016/11/3 9:07:23
  • 页码:160  •  行数:10  •  印次: 2

    array[i][j]在其内存中为第(i×M+j)个元素。改为:array[i][j]在其内存中为第(i×M+j+1)个元素。

    n-y 提交于 2016/11/2 14:27:58
    n-y 确认于 2016/11/3 9:08:09

读者评论

同系列书

  • 21天学通Python(第2版)

    张启玉 刘刚 (作者)

    本书全面、系统、深入地讲解了Python编程基础语法与高级应用。在讲解过程中,通过大量实际操作的实例将Python语言知识全面、系统、深入地呈现给读者。此外,作...

    ¥59.80
  • 21天学通Visual Basic(第5版)

    张启玉 刘刚 (作者)

    本书主要针对没有程序设计基础的读者,详细介绍了Visual Basic的基本概念和编程技术,是Visual Basic的入门教程。书中通过大量的范例及综合练习来...

    ¥59.80
  • 21天学通Java(第5版)

    张启玉 刘刚 (作者)

    本书是Java语言的入门教程,由浅入深、循序渐进地讲授如何使用Java语言进行程序开发。全书内容包括Java开发环境、Java基本语法知识、Java面向对象特点...

    ¥59.80
  • 21天学通C语言(第5版)

    张启玉 刘刚 (作者)

    本书是C语言的入门教程,详细介绍了C语言的基本概念和编程技术。本书分为八篇,共21章内容。第一篇为C语言入门篇,该篇介绍了C语言程序的特点及编程的准备。第二篇为...

    ¥59.80
  • 21天学通JavaScript(第4版)

    北京源智天下科技有限公司 张启玉 刘刚 (作者)

    JavaScript 是Web 开发中应用最早、发展最成熟、用户最多的脚本语言。其语法简洁,代码可读性在众多脚本语言中最好,它在使用时不用考虑数据类型,是真正意...

    ¥59.80

相关图书

Python一行流:像专家一样写代码

Christian Mayer (作者) 苏丹 (译者)

本书专注于从初学迈向进阶的Python编码技术:如何像专家一样写出优雅、准确、简洁高效的Python 单行代码;阅读任意一行Python 代码时,如何系统性地对...

¥89.00

剑指Offer(专项强化版):数据结构与算法名企面试题精讲

何海涛 (作者)

本书全面、系统地总结了在准备程序员面试过程中必备的数据结构与算法。本书首先详细讨论整数、数组、链表、字符串、哈希表、栈、队列、二叉树、堆和前缀树等常用的数据结构...

¥89.00

C++服务器开发精髓

张远龙 (作者)

本书从操作系统原理角度讲解进行C++服务器开发所需掌握的技术栈。全书总计9章,第1~2章讲解C++ 11/14/17新标准中的常用特性、新增类库,以及C++开发...

 

PHP编程(第4版)

Rasmus Lerdorf(拉斯马斯·勒多夫), Kevin Tatroe(凯文·塔特罗), Peter MacIntyre(彼得·麦金太尔) (作者) 卢涛 (译者)

PHP是一种被广泛使用的Web编程语言,它简单易用,而且与时俱进,不断进化,提升性能。本书基于PHP 7.4,深入介绍 PHP编程技术,涵盖了 PHP 所有基本...

¥109.00

深入理解Spring Cloud与实战

方剑 (作者)

本书共分10章,主要介绍Spring Cloud各个核心组件的设计原理,以及目前流行的Spring Cloud Alibaba和 Netflix组件,并且剖析S...

¥106.00

基于Kotlin的Spring Boot微服务实战

袁康 (作者)

本书介绍了Kotlin在Spring Boot微服务开发中的实践,并使用Kotlin作为开发语言,介绍了函数式编程思想、Kotlin的语法、Kotlin在常用中...

¥69.30