第1章 C语言概述 1
1.1 C语言简介 1
1.1.1 程序设计语言的发展 1
1.1.2 C语言的发展 2
1.1.3 C语言的特点 2
1.2 认识C程序 2
1.3 C语言程序的执行过程 5
1.4 C程序上机步骤 6
1.4.1 Turbo C 2.0 6
1.4.2 Visual C++6.0 8
第2章 数据类型与基本运算 12
2.1 基本数据类型 12
2.2 标识符 13
2.2.1 系统定义标识符 13
2.2.2 用户定义标识符 14
2.3 常量和变量 15
2.3.1 常量 15
2.3.2 变量 19
2.4 运算符与表达式 20
2.4.1 算术运算符和算术表达式 20
2.4.2 赋值运算符和赋值表达式 23
2.4.3 关系运算符和关系表达式 24
2.4.4 逻辑运算符和逻辑表达式 25
2.4.5 条件运算符和条件表达式 27
2.4.6 逗号运算符和逗号表达式 28
2.4.7 其他运算符 28
2.5 数据类型转换 29
2.5.1 自动类型转换 29
2.5.2 强制类型转换 30
2.6 基本输入和输出 31
2.6.1 字符输入输出函数 31
2.6.2 格式输入输出函数 32
2.7 应用举例 36
第3章 选择结构程序设计 42
3.1 C程序的语句 42
3.2 C语言的三种基本结构 43
3.3 选择结构程序设计 44
3.3.1 if语句 44
3.3.2 switch语句 50
第4章 循环结构程序设计 58
4.1 while语句 58
4.2 do-while语句 59
4.3 for语句 60
4.4 循环的嵌套 62
4.5 与循环有关的控制语句 63
4.5.1 break语句 63
4.5.2 continue语句 64
4.6 程序举例 64
4.6.1 穷举算法 64
4.6.2 迭代算法 66
第5章 数组 76
5.1 一维数组 76
5.1.1 一维数组的定义 76
5.1.2 一维数组元素的引用 77
5.1.3 一维数组的初始化 78
5.1.4 一维数组应用举例 79
5.2 二维数组 84
5.2.1 二维数组的定义 84
5.2.2 二维数组元素的引用 84
5.2.3 二维数组的初始化 85
5.2.4 二维数组应用举例 86
5.3 字符数组与字符串 88
5.3.1 字符数组 88
5.3.2 字符串 90
5.3.3 字符串处理函数 92
5.3.4 字符数组应用举例 95
第6章 函数与编译预处理 99
6.1 函数定义 99
6.2 函数调用 100
6.2.1 函数调用的格式 100
6.2.2 函数调用的方式 101
6.2.3 函数的参数和返回值 103
6.2.4 被调函数的声明 106
6.2.5 函数的嵌套调用 107
6.2.6 函数的递归调用 108
6.3 变量的作用域与存储类别 110
6.3.1 局部变量及其作用域和存储类型 110
6.3.2 全局变量及其作用域和存储类型 114
6.4 编译预处理 116
6.4.1 宏定义 117
6.4.2 文件包含 120
6.4.3 条件编译 121
第7章 指针 134
7.1 指针和指针变量 134
7.1.1 指针和指针变量的概念 134
7.1.2 指针变量的定义与初始化 135
7.1.3 指针的基本运算 136
7.2 指针与数组 139
7.2.1 指针与一维数组 139
7.2.2 指针与二维数组 142
7.2.3 指针数组 144
7.3 指针与字符串 146
7.4 指针与函数 150
7.4.1 指针变量作为函数参数 150
7.4.2 指针型函数 151
7.4.3 指向函数的指针 153
7.5 指向指针的指针 156
7.6 指针应用举例 158
第8章 结构体与共用体 167
8.1 结构体 167
8.1.1 结构体类型的定义 167
8.1.2 结构体类型变量的定义和初始化 168
8.1.3 结构体成员的引用 170
8.2 结构体数组 172
8.2.1 结构体数组的定义 172
8.2.2 结构体数组的初始化 172
8.2.3 结构体数组的应用 173
8.3 结构体与指针 175
8.3.1 结构体变量与指针 175
8.3.2 结构体数组与指针 176
8.3.3 结构体变量作函数参数 177
8.3.4 结构体指针作函数参数 178
8.4 动态数据结构——链表 179
8.4.1 链表的概念 179
8.4.2 链表的建立 179
8.4.3 链表的插入 181
8.4.4 链表的删除 183
8.5 共用体 185
8.5.1 共用体类型的定义 186
8.5.2 共用体变量的定义 186
8.5.3 共用体成员的引用 187
8.6 枚举 189
8.6.1 枚举类型和枚举型变量的定义 189
8.6.2 枚举型变量的使用 191
第9章 位运算 197
9.1 基本位运算 197
9.1.1 按位与 197
9.1.2 按位或 199
9.1.3 按位异或 200
9.1.4 按位取反 201
9.1.5 按位左移 202
9.1.6 按位右移 203
9.1.7 位运算复合赋值运算符 204
9.2 位运算应用 204
9.3 位段 204
第10章 文件 210
10.1 文件概述 210
10.1.1 文件的概念 210
10.1.2 文件的分类 210
10.1.3 文件系统 211
10.1.4 文件类型指针 211
10.2 文件的操作 212
10.2.1 文件的打开和关闭 212
10.2.2 文件的读写 214
10.2.3 文件的定位 223
10.2.3 文件的检测 226
10.3 常见错误分析 227
10.4 文件应用 228
附录A 常用字符与ASCII代码对照表 240
附录B 运算符优先级和结合性 241
附录C 库函数 242