第1章 C语言概述 1
1.1 C程序初识 1
1.1.1 C程序实例 1
1.1.2 C程序基本构成 3
1.1.3 程序编写规范与风格 4
1.2 程序设计与算法 5
1.2.1 程序设计 5
1.2.2 算法 8
1.3 C程序的运行环境与学习方法 12
1.3.1 C程序的操作步骤 12
1.3.2 Visual C++6.0编程环境 14
1.3.3 学习C语言的方法 16
1.4 典型例题精解 16
本章小结 17
习题1 17
第2章 C语言基础 19
2.1 C语言单词 19
2.1.1 字符集 19
2.1.2 关键字 20
2.1.3 标识符 21
2.1.4 常量 21
2.1.5 运算符 21
2.1.6 分隔符 21
2.2 C语言数据类型 22
2.3 常量及其类型 23
2.3.1 整型常量 23
2.3.2 浮点型常量 24
2.3.3 字符常量 25
2.3.4 字符串常量 25
2.3.5 符号常量 25
2.4 变量及其类型 26
2.4.1 变量及其说明 26
2.4.2 整型变量 27
2.4.3 浮点型变量 30
2.4.4 字符变量 31
2.5 运算符和表达式 32
2.5.1 算术运算符和算术表达式 32
2.5.2 赋值运算符和赋值表达式 34
2.5.3 其他运算符及表达式 35
2.5.4 运算符的优先级与结合性 37
2.5.5 数据类型转换 37
2.6 典型例题精解 39
本章小结 40
习题2 41
第3章 顺序结构 44
3.1 C语言的基本语句 44
3.2 数据的输入/输出 46
3.2.1 数据输入/输出概念 46
3.2.2 字符的输入/输出 46
3.2.3 格式的输入/输出 48
3.3 典型例题精解 53
本章小结 55
习题3 55
第4章 分支结构 59
4.1 关系运算和逻辑运算 59
4.1.1 关系运算 59
4.1.2 逻辑运算 60
4.2 分支结构 61
4.2.1 if语句 62
4.2.2 switch语句 67
4.3 典型例题精解 69
本章小结 71
习题4 71
第5章 循环结构 75
5.1 概述 75
5.2 while语句 76
5.3 do-while语句 77
5.4 for语句 79
5.5 转移语句 81
5.6 循环的嵌套 82
5.7 典型例题精解 84
本章小结 88
习题5 89
第6章 数组 93
6.1 数组的概念 93
6.2 一维数组 94
6.2.1 一维数组的定义 94
6.2.2 一维数组元素的引用 94
6.2.3 一维数组的初始化 95
6.2.4 一维数组的应用 97
6.3 二维数组 99
6.3.1 二维数组的定义 99
6.3.2 二维数组的说明及引用 99
6.3.3 二维数组元素的存储顺序 101
6.3.4 二维数组的初始化 101
6.3.5 二维数组的应用 103
6.4 字符数组和字符串 104
6.4.1 字符数组的定义与初始化 104
6.4.2 字符串的输入与输出 105
6.4.3 字符串处理函数 107
6.4.4 字符数组与字符串的应用 111
6.5 典型例题精解 112
本章小结 116
习题6 116
第7章 函数 120
7.1 概述 120
7.1.1 函数的概念 120
7.1.2 函数的分类 121
7.2 函数的定义和调用 122
7.2.1 函数的定义 122
7.2.2 函数的调用 123
7.2.3 函数的声明 125
7.2.4 标准库函数 126
7.3 函数的参数及传递方式 128
7.3.1 形式参数和实际参数 128
7.3.2 变量作为函数参数 128
7.3.3 数组作为函数参数 130
7.4 函数的嵌套调用与递归调用 133
7.4.1 函数的嵌套调用 133
7.4.2 函数的递归调用 134
7.5 变量的作用域和存储类型 136
7.5.1 变量的生存期与作用域 136
7.5.2 变量的存储类型 138
7.5.3 内部函数与外部函数 144
7.6 典型例题精解 144
本章小结 147
习题7 148
第8章 指针 151
8.1 指针的基本概念 151
8.1.1 内存、地址和指针 151
8.1.2 指针变量的定义与初始化 152
8.1.3 指针的运算及引用 153
8.1.4 指针变量作为函数参数 156
8.1.5 多级指针的概念 158
8.2 指针与数组 159
8.2.1 指针与一维数组 159
8.2.2 指针与二维数组 163
8.2.3 指针与字符串 166
8.2.4 指针数组 169
8.3 指针与函数 172
8.3.1 指向函数的指针 173
8.3.2 返回指针的函数 174
8.3.3 带参数的主函数 174
8.4 典型例题精解 176
本章小结 178
习题8 180
第9章 编译预处理 183
9.1 宏定义 183
9.1.1 无参宏定义 183
9.1.2 带参的宏定义 185
9.2 文件包含 187
9.3 条件编译 189
9.4 典型例题精解 190
本章小结 192
习题9 192
第10章 结构体与共用体 195
10.1 结构体 195
10.1.1 结构体类型的定义 196
10.1.2 结构体变量的说明 196
10.1.3 结构体变量的初始化 198
10.1.4 结构体变量的引用 198
10.1.5 结构体数组 200
10.1.6 结构体指针 202
10.1.7 结构体与函数 204
10.1.8 链表 206
10.2 共用体 211
10.2.1 共用体类型的定义 212
10.2.2 共用体变量的说明 212
10.2.3 共用体变量的引用 213
10.3 枚举类型 216
10.3.1 枚举类型的定义 216
10.3.2 枚举变量的说明及引用 216
10.3.3 枚举类型的应用 218
10.4 用户自定义类型名 218
10.5 典型例题精解 220
本章小结 224
习题10 225
第11章 位运算 229
11.1 位运算的基本概念 229
11.2 计算机内的数据表示 229
11.3 位运算 230
11.3.1 逻辑位运算 231
11.3.2 移位运算 234
11.4 位域 236
11.4.1 位域的定义及位域变量的说明 237
11.4.2 位域变量的使用 237
11.5 典型例题精解 239
本章小结 241
习题11 241
第12章 文件 244
12.1 概述 244
12.1.1 文件的基本概念 244
12.1.2 文件的分类 245
12.2 文件指针 247
12.3 文件的打开与关闭 248
12.3.1 文件的打开 248
12.3.2 文件的关闭 250
12.4 文件的读写 251
12.4.1 字符输入/输出函数 251
12.4.2 字符串输入/输出函数 253
12.4.3 格式化输入/输出函数 254
12.4.4 数据块输入/输出函数 256
12.4.5 整数输入/输出函数 258
12.5 文件的定位操作 260
12.6 文件的错误检测 262
12.7 典型例题精解 263
本章小结 264
习题12 265
附录1常用字符与ASC Ⅱ代码对照表 268
附录2 C语言运算符的优先级与结合性 269
附录3 C库函数 271
附录4常见错误信息表 279