第1章 概述 1
1.1 C语言简介 1
1.2 简单的C程序 1
1.2.1 printf函数 1
1.2.2 基本整型与%d格式符 3
1.2.3 加、减、乘、除运算符和算术表达式 3
1.2.4 单精度浮点型与%f格式符 5
1.3 算法 6
1.3.1 算法概述 6
1.3.2 算法图示表示法 7
小结 10
习题1 10
第2章 顺序结构程序设计 11
2.1 常量、变量、标识符 11
2.2 scanf函数 12
2.3 数学函数 13
2.4 赋值、自增、自减运算符 14
小结 16
习题2 16
第3章 选择结构程序设计 18
3.1 if语句 18
3.1.1 关系运算与单分支if语句 18
3.1.2 求余运算与双分支if语句 20
3.1.3 逻辑运算与多分支if语句 21
3.1.4 if语句的嵌套 24
3.1.5 条件运算符与条件表达式 24
3.1.6 程序举例 24
3.2 switch语句 27
小结 29
习题3 29
第4章 循环结构程序设计 31
4.1 while语句 31
4.2 do-while语句 35
4.3 for语句 37
4.4 break语句 39
4.5 循环的嵌套 41
4.6 常用算法举例 44
小结 51
习题 458
第5章 数组 60
5.1 一维数组 60
5.1.1 一维数组的定义和引用 60
5.1.2 一维数组的初始化 61
5.1.3 随机函数random和rand 62
5.1. 4 一维数组的简单应用 63
5.2 二维数组 67
5.2.1 二维数组的定义和引用 67
5.2.2 二维数组的输出 69
5.2.3 符号常量 70
5.3 字符型数据 72
5.3.1 字符常量 72
5.3.2 字符串常量 73
5.3.3 字符型变量 73
5.3.4 getchar和putchar函数 73
5.3.5 字符数组 74
5.3.6 字符串处理函数 78
5.4 数组常用算法举例 81
小结 87
习题5 87
第6章 函数 89
6.1 函数概述 89
6.2 函数的定义 91
6.3 函数的调用 94
6.3.1 实参和形参 94
6.3.2 函数的结束与返回 96
6.3.3 对被调函数的声明 98
6.3.4 函数的嵌套调用 99
6.4 递归函数 100
6.5 数组作为函数参数 102
6.5.1 数组元素做实参 102
6.5.2 数组名做函数的参数 103
小结 114
习题6 114
第7章 指针 115
7.1 指针概述 115
7.2 指针变量 116
7.2.1 指针变量的定义 116
7.2.2 指针变量的使用 117
7.2.3 二级指针与多级指针 120
7.3 指针与数组 122
7.3.1 一维数组与指针 122
7.3.2 指针运算 123
7.3.3 用指针法访问一维数组举例 125
7.3.4 二维数组与指针 129
7.3.5 指针与字符串 134
7.3.6 指针数组 138
7.4 指针与函数 141
7.4.1 指针作为函数参数 141
7.4.2 指向数组(元素)的指针作为函数参数 144
7.4.3 指针作为函数返回值 149
7.4.4 指向函数的指针 150
7.5 带参的主函数 152
小结 153
习题7 155
第8章 结构体与链表 157
8.1 结构体概述 157
8.2 结构体变量 159
8.2.1 结构体变量的定义 159
8.2.2 结构体变量的使用 160
8.2.3 结构体变量做函数参数 162
8.3 结构体数组 163
8.3.1 结构体数组的定义 163
8.3.2 结构体数组的使用 164
8.4 结构体与指针 166
8.4.1 指向结构体的指针 167
8.4.2 结构体数组与指针 168
8.4.3 结构体指针变量做函数参数 169
8.5 链表 170
8.5.1 链表的基本概念 170
8.5.2 动态分配内存 171
8.5.3 驱动链表操作的主函数 175
8.5.4 链表的基本操作函数 176
小结 180
习题8 180
第9章 文件 182
9.1 文件概述 182
9.1.1 文件命名 182
9.1.2 文件类型 183
9.1.3 文件指针 183
9.1.4 缓冲文件系统 184
9.2 文件的打开与关闭 184
9.2.1 打开文件函数 185
9.2.2 关闭文件函数 186
9.3 文件的读/写 187
9.3.1 对文本文件输入/输出字符 188
9.3.2 对文本文件格式化输入/输出 191
9.3.3 对文本文件输入/输出字符串 197
9.3.4 对二进制文件输入/输出数据块 199
9.4 定位读/写文件 203
9.4.1 rewind函数 203
9.4.2 fseek函数 203
9.4.3 ftell函数 204
小结 205
习题9 205
第10章 C语言涉及的其他知识 207
10.1 变量的存储类别 207
10.1.1 变量的存储类别 207
10.1.2 全局变量和局部变量 208
10.2 编译预处理 211
10.2.1 宏定义 211
10.2.2 文件包含 212
10.2.3 条件编译 213
10.3 共用体 215
10.3.1 共用体类型的声明 215
10.3.2 共用体类型变量的定义 215
10.3.3 共用体变量的应用 216
10.4 枚举类型 217
10.5 自定义类型名typedef 218
10.6 位运算 219
10.6.1 位运算符和位运算 219
10.6.2 位运算应用 221
10.6.3 位段 223
小结 223
习题10 224
附录A ASCII码表 226
附录B C语言中的关键字 227
附录C 运算符的优先级和结合方向 228
附录D 常用C语言函数库的应用 230
参考文献 237