第1章 C语言概述 1
1.1 C语言的由来和发展 1
1.1.1 C语言的由来 1
1.1.2 C语言的发展 1
1.2 C语言的特点和应用 2
1.2.1 C语言的特点 2
1.2.2 C语言的应用 4
1.3 C语言程序的特点 5
1.3.1 C语言程序举例 5
1.3.2 C语言程序在结构上的特点 7
1.3.3 C语言程序的书写格式 8
1.4 标准设备的输入/输出操作 9
1.4.1 键盘的输入操作 9
1.4.2 屏幕的输出操作 10
1.4.3 应用实例 12
1.5 C语言程序的实现 14
1.5.1 C语言程序实现的三步曲 14
1.5.2 Visual C++ 6.0版本编译系统简介 16
1.5.3 C语言程序的具体实现 20
练习题1 23
第2章 单词、常量和变量 27
2.1 单词 27
2.1.1 字符集 27
2.1.2 单词及其规则 28
2.2 类型 31
2.2.1 数据类型 32
2.2.2 存储类 33
2.3 常量 34
2.3.1 常量的种类 34
2.3.2 符号常量 38
2.4 变量 39
2.4.1 变量的名称 39
2.4.2 变量的类型 40
2.4.3 变量的值 41
2.4.4 变量的定义格式 44
2.4.5 变量的作用域 45
练习题2 48
第3章 运算符和表达式 52
3.1 运算符的种类和功能 52
3.1.1 算术运算符 52
3.1.2 增1减1运算符 53
3.1.3 关系运算符 54
3.1.4 逻辑运算符 55
3.1.5 位操作运算符 56
3.1.6 赋值运算符 57
3.1.7 其他运算符 58
3.2 运算符的优先级和结合性 61
3.2.1 运算符的优先级 61
3.2.2 运算符的结合性 61
3.3 表达式的值和类型 63
3.3.1 表达式的种类 63
3.3.2 表达式的求值方法 65
3.3.3 表达式类型的确定 66
3.3.4 各种表达式举例 67
3.3.5 表达式求值时应注意的问题 72
3.4 数据类型转换 76
3.4.1 自动转换 76
3.4.2 强制转换 77
练习题3 78
第4章 预处理功能 81
4.1 预处理命令的特点 81
4.1.1 预处理的概念 81
4.1.2 预处理命令的特点 81
4.2 宏定义命令 82
4.2.1 简单的宏定义命令 82
4.2.2 带参数的宏定义命令 85
4.2.3 宏定义命令的应用 91
4.3 文件包含命令和条件编译命令 94
4.3.1 文件包含命令 94
4.3.2 条件编译命令 98
4.4 类型定义 103
4.4.1 类型定义含意和类型定义语句 104
4.4.2 类型定义的应用 106
练习题4 107
第5章 语句 112
5.1 C语言语句概述 112
5.1.1 结构化程序的三种基本结构 112
5.1.2 语句种类 112
5.2 分支语句 114
5.2.1 条件语句 114
5.2.2 开关语句 118
5.3 循环语句 121
5.3.1 while循环语句 121
5.3.2 do-while循环语句 123
5.3.3 for循环语句 125
5.4 转向语句 129
5.4.1 break语句 129
5.4.2 continue语句 130
5.4.3 goto语句 130
5.5 应用程序举例 131
练习题5 137
第6章 数组 143
6.1 数组的定义格式和数组元素的表示方法 143
6.1.1 数组的概述 143
6.1.2 一维数组的定义格式和数组元素的表示方法 143
6.1.3 多维数组的定义格式和数组元素的表示方法 144
6.2 数组的赋值及运算 146
6.2.1 数组的初始化 147
6.2.2 数组的赋值 148
6.2.3 数组的运算 150
6.3 字符数组 154
6.3.1 字符数组的定义格式和初始化 154
6.3.2 字符数组的赋值和运算 156
6.3.3 字符串 158
6.4 数组应用举例 160
练习题6 164
第7章 指针 169
7.1 指针及其定义格式 169
7.1.1 指针的概念 169
7.1.2 指针的定义格式 170
7.2 指针的赋值和运算 171
7.2.1 指针的初始化和赋值 171
7.2.2 指针的运算 172
7.3 数组元素的指针表示 176
7.3.1 数组名是常量指针 176
7.3.2 一维数组元素的指针表示 177
7.3.3 二维数组元素的指针表示 179
7.3.4 三维数组元素的指针表示 182
7.4 指向数组的指针和指针数组 184
7.4.1 指向数组元素的指针 184
7.4.2 指向一维数组的指针 186
7.4.3 指针数组和带参数的主函数 187
7.5 字符指针 192
练习题7 194
第8章 函数 201
8.1 函数的定义和说明 201
8.1.1 函数的定义格式 201
8.1.2 函数的说明方法 204
8.2 函数的参数和返回值 205
8.2.1 函数的参数 205
8.2.2 函数的返回值 206
8.3 函数的调用 208
8.3.1 传值调用 208
8.3.2 嵌套调用 211
8.3.3 递归调用 214
8.4 指针作函数参数和返回值 219
8.4.1 指针作函数参数的例子 220
8.4.2 指针函数 224
8.4.3 指向函数的指针 226
8.5 系统函数 227
8.5.1 数学函数 228
8.5.2 字符处理函数 230
8.5.3 字符串处理函数 231
8.5.4 动态内存分配函数 233
练习题8 234
第9章 结构和联合 243
9.1 结构和结构变量的定义格式 243
9.1.1 结构的定义格式 243
9.1.2 结构变量的定义格式 244
9.2 结构变量的赋值 246
9.2.1 结构变量成员的表示 246
9.2.2 结构变量赋值 248
9.2.3 结构变量的运算 251
9.3 结构数组 253
9.3.1 结构数组的定义和赋值 253
9.3.2 结构数组应用举例 254
9.4 结构变量和指向结构变量指针的应用 259
9.4.1 结构变量和指向结构变量的指针作函数参数 259
9.4.2 结构变量和指向结构变量的指针作函数返回值 262
9.5 结构和链表 265
9.5.1 链表的概念 265
9.5.2 链表的程序实现 267
9.6 联合 277
9.6.1 联合的基本知识 277
9.6.2 联合的应用 282
9.7 枚举 285
9.7.1 枚举的概念 286
9.7.2 枚举的应用 289
练习题9 290
第10章 文件操作 297
10.1 C语言文件操作的特点 297
10.1.1 流的概念和文件指针 297
10.1.2 文件的分类 298
10.2 标准文件的读写操作 300
10.2.1 标准文件读写函数的介绍 300
10.2.2 标准文件读写函数的应用 303
10.3 一般文件的操作 308
10.3.1 打开文件函数和关闭文件函数 308
10.3.2 一般文件的读写操作 309
10.3.3 随机文件操作 318
10.4 文件检测函数 320
练习题10 322
附录 329
附录1 ASCII编码表 329
附录2 ctype.h文件中所包含的字符函数 330
附录3 math.h文件中所包含的数学函数 331