第1章 C语言概述 1
1.1 程序设计语言 1
1.1.1 计算机程序 1
1.1.2 程序设计语言 3
1.1.3 C语言简介 5
1.2 简单C语言程序实例 6
1.3 算法概述 8
1.3.1 什么是算法 8
1.3.2 算法的描述方法 11
1.4 C语言编程环境 17
1.4.1 Turbo C编程环境介绍 17
1.4.2 Visual C++ 6.0集成开发环境介绍 20
1.4.3 C语言程序的执行 23
1.5 C语言程序结构 24
1.6 C语言的特点 25
1.7 C语言的应用领域 26
1.8 本章小结 27
习题一 27
第2章 C语言基础知识 29
2.1 基本数据类型 29
2.2 常量与变量 30
2.2.1 常量 31
2.2.2 变量 33
2.3 常用运算符及表达式 37
2.3.1 赋值运算符 37
2.3.2 算术运算符 38
2.3.3 关系运算符 39
2.3.4 逻辑运算符 41
2.3.5 逗号运算符 42
2.3.6 复合赋值运算符 43
2.3.7 增1和减1运算符 43
2.3.8 强制类型转换运算符 45
2.4 各类数值型数据间的混合运算 45
2.5 赋值表达式中的类型转换 46
2.6 本章小结 47
习题二 47
第3章 顺序结构程序设计 50
3.1 C语句概述 50
3.2 格式化输入输出函数 52
3.2.1 printf函数(格式化输出函数) 52
3.2.2 scanf函数(格式化输入函数) 56
3.3 字符数据的输入输出 59
3.3.1 putchar函数(字符输出函数) 59
3.3.2 getchar函数(字符输入函数) 59
3.4 顺序结构程序设计举例 60
3.5 本章小结 61
习题三 62
第4章 选择结构程序设计 65
4.1 if语句 65
4.1.1 简单if语句 65
4.1.2 双选择if语句 66
4.1.3 多选择if语句 67
4.1.4 条件运算符 69
4.2 switch语句 70
4.3 程序举例 71
4.4 本章小结 75
习题四 76
第5章 循环结构程序设计 80
5.1 for语句实现循环 81
5.2 while语句实现循环 82
5.3 do-while语句实现循环 84
5.4 用if和goto语句构成的循环 85
5.5 用break语句和continue语句控制循环 86
5.5.1 break语句 86
5.5.2 continue语句 87
5.5.3 比较break和continue 88
5.5.4 简单循环的应用 89
5.6 嵌套循环 93
5.7 本章小结 97
习题五 99
第6章 预编译处理 105
6.1 宏定义 105
6.1.1 不带参数的宏定义 105
6.1.2 带参数的宏定义 107
6.2 文件包含 109
6.3 条件编译 110
6.4 本章小结 111
习题六 111
第7章 数组 115
7.1 一维数组 115
7.1.1 为什么需要使用数组 115
7.1.2 一维数组的定义和引用 117
7.1.3 一维数组的初始化 118
7.1.4 一维数组的应用 118
7.2 二维数组 122
7.2.1 为什么需要使用二维数组 122
7.2.2 二维数组的定义和引用 123
7.2.3 二维数组的初始化 124
7.2.4 二维数组的应用 124
7.3 字符数组 126
7.3.1 字符型数据的特殊性 126
7.3.2 字符数组的定义和引用 127
7.3.3 字符数组的初始化 128
7.3.4 字符串处理函数 129
7.3.5 字符数组应用 132
7.4 综合案例 133
7.5 本章小结 138
习题七 138
第8章 函数 142
8.1 函数的种类及定义 143
8.1.1 函数概念及种类 143
8.1.2 定义函数格式 146
8.2 函数的调用 147
8.2.1 函数参数之间的关系 148
8.2.2 函数调用 149
8.2.3 函数的返回值 151
8.2.4 函数的说明 152
8.3 函数形参类型 154
8.3.1 函数形参类型简介 154
8.3.2 数组名作为函数形参 156
8.4 函数的递归调用 159
8.4.1 递归调用定义与种类 159
8.4.2 递归调用应用举例 160
8.5 变量的作用域与存储属性 163
8.5.1 变量的作用域 164
8.5.2 全局变量与局部变量同名 166
8.5.3 变量存储属性 168
8.5.4 存储类别小结 173
8.6 内部函数与外部函数 173
8.7 本章小结 175
习题八 175
第9章 指针 182
9.1 指针的概念 182
9.1.1 地址与指针 182
9.1.2 指针变量的定义 183
9.1.3 指针的运算 183
9.1.4 指针作为函数的参数 185
9.1.5 指针的简单应用 186
9.2 指针与数组 187
9.2.1 指针与数组的地址 187
9.2.2 指针与数组元素的引用 188
9.2.3 数组名作为函数参数 189
9.2.4 多维数组指针 190
9.2.5 指针数组 192
9.3 指针与函数 193
9.3.1 函数指针 193
9.3.2 指针函数 195
9.4 字符串与指针 196
9.4.1 字符串的表示形式 196
9.4.2 字符指针与函数参数 197
9.5 指向指针的指针(二级指针) 198
9.6 指针数组作为主函数main的形参 199
9.7 综合案例 200
9.8 本章小结 203
习题九 205
第10章 用户定义数据类型 210
10.1 结构体 210
10.1.1 结构体数据 210
10.1.2 typedef命令使用 212
10.1.3 结构体数组 214
10.1.4 结构体嵌套 215
10.1.5 结构体指针 218
10.1.6 结构体数据与函数 220
10.1.7 结构体数据使用小结 222
10.2 单向链表 228
10.2.1 单向链表的基本操作 229
10.2.2 多项式加法 232
10.3 共用体 234
10.3.1 混合计分制成绩管理 234
10.3.2 共用体数据使用小结 236
10.4 枚举 239
10.4.1 枚举类型、枚举变量的定义和使用 239
10.4.2 输人输出枚举变量 240
10.5 本章小结 241
习题十 241
第11章 位运算 248
11.1 位运算概述 248
11.2 位运算符 248
11.3 位运算应用 250
11.4 位段 251
11.5 本章小结 253
习题十一 253
第12章 文件 254
12.1 基本概念 254
12.1.1 字节流 255
12.1.2 文件 255
12.1.3 缓冲文件系统 255
12.1.4 文件指针 255
12.1.5 文件的位置指针 256
12.2 文件的打开与关闭 256
12.2.1 文件的打开 256
12.2.2 文件的关闭 257
12.3 文本文件的读写 258
12.3.1 文件中单个字符数据处理 258
12.3.2 逐行字符串复制文件 260
12.3.3 fscanf()和fprintf() 261
12.4 二进制文件的读写 262
12.4.1 fread函数和fwrite函数 262
12.4.2 文件的随机读写 264
12.5 本章小结 276
习题十二 276
附录A C语言的保留字与关键字 280
附录B C语言常用库函数 281
附录C C语言运算符的优先级 286
附录D ASCII码表完整版 287
参考文献 288