第一篇 基础篇 1
1 预备知识 1
1.1计算机的发展 1
1.2计算机的系统 2
1.3数制 4
1.4计算机语言 6
1.5本章小结 9
习题1 9
2 C语言概述 10
2.1 C语言的发展和特点 10
2.2 C程序的结构 14
2.3 C程序开发工具简介 23
2.4本章小结 26
习题2 27
3 初识C程序 29
3.1常量与变量 29
3.2数据的运算 34
3.3数据的输入/输出 39
3.4C程序应用举例 47
3.5高效的运算符 49
3.6宏常量与const常量 51
3.7本章小结 53
习题3 53
4 程序的基本模块——函数 57
4.1函数概述 57
4.2库函数 60
4.3自定义函数 63
4.4带参数的宏 66
4.5本章小结 71
习题4 72
5 C语句 74
5.1 C语句综述 74
5.2选择语句 79
5.3循环语句 98
5.4本章小结 107
习题5 108
6 结构化程序设计 115
6.1结构化程序设计 115
6.2程序风格与代码格式 117
6.3模块化程序设计 120
6.4简单算法设计 123
6.5小结 130
习题6 130
第二篇 进阶篇 132
7 指针与一维数组 132
7.1指针 132
7.2在函数中使用指针 136
7.3数组 140
7.4字符数组——字符串 161
7.5内存分配与动态数组 181
7.6二级指针 185
7.7本章小结 187
习题7 189
8 文本文件 190
8.1文件的基本概念 190
8.2文件的基本操作 192
8.3应用实例 196
8.4本章小结 199
习题8 199
9 结构体与共用体 200
9.1结构体类型 200
9.2结构体变量 201
9.3结构体数组 204
9.4嵌套的结构体 208
9.5指向结构体的指针 208
9.6向函数传递结构体信息 211
9.7复合文字和结构体(C99) 214
9.8伸缩型数组成员(C99) 215
9.9共用体 215
9.10本章小结 218
习题9 219
第三篇 高级篇 220
10 整数类型、编码及输入/输出 220
10.1整数的表示 220
10.2实数的表示 224
10.3字符的表示 226
10.4枚举类型 227
10.5布尔类型(C99) 229
10.6自定义数据类型 231
10.7 sizeof运算符和size_t类型 232
10.8字符、字符串和整数、实数间的转换 233
10.9本章小结 238
习题10 238
11 多文件大型程序的开发 240
11.1多文件程序的架构 240
11.2常用预处理命令 241
11.3局部变量和全局变量 249
11.4变量的存储类别 254
11.5类型限定词 257
11.6静态函数 259
11.7本章小结 260
习题11 261
12 数组、指针和函数的高级内容 263
12.1多维数组 263
12.2二维数组与指针 267
12.3二维数组与指针数组 275
12.4函数指针 279
12.5命令行参数 282
12.6可变参数函数 284
12.7数组型的复合文字(C99) 286
12.8变长数组(C99) 288
12.9内联函数(C99) 290
12.10本章小结 291
习题12 291
13 二进制文件 293
13.1二进制文件的定义 293
13.2基本操作 294
13.3应用实例 298
13.4本章小结 300
习题13 301
14 位运算 302
14.1位运算符 302
14.2位域类型 306
14.3本章小结 309
习题14 310
15 结构的高级应用——链表 312
15.1链表的基本概念 312
15.2单链表 313
15.3循环链表 321
15.4双向链表 323
15.5本章小结 325
习题15 325
附录 329
附录A C语言关键字 329
附录B运算符的优先级与结合性 330
附录C常用字符与ASCII值对照表 331
附录D ANSI C标准库 332
参考文献 348