第1章 C语言概述 1
1.1 C语言出现的历史背景 1
1.2 C语言的特点 2
1.3 简单的C程序介绍 3
1.3.1 三个简单的C程序实例 3
1.3.2 C程序的基本组成 5
1.4 C程序的上机步骤 7
1.5 算法 8
1.5.1 算法的概念 8
1.5.2 简单算法举例 9
1.5.3 算法的特性 11
1.5.4 算法的表示 12
1.5.5 结构化程序设计方法 17
1.6 本章小结 20
第2章 数据类型、运算符与表达式 21
2.1 C语言的数据类型 21
2.2 常量与变量 23
2.2.1 常量与符号常量 23
2.2.2 变量 23
2.3 整型数据 25
2.3.1 整型常量的表示方法 25
2.3.2 整型变量 26
2.4 实型数据 29
2.4.1 实型常量的表示方法 29
2.4.2 实型变量 30
2.4.3 实型常量的类型 32
2.5 字符型数据 33
2.5.1 字符常量 33
2.5.2 字符变量 34
2.5.3 字符数据在内存中的存储形式及其使用 34
2.5.4 字符串常量 36
2.6 变量赋初值 37
2.7 各类数值型数据之间的混合运算 37
2.7.1 整型、实型、字符型数据之间可以混合运算 37
2.7.2 自动转换 37
2.8 算术运算符和算术表达式 39
2.8.1 C运算符简介 39
2.8.2 算术运算符和算术表达式 40
2.9 赋值运算符和赋值表达式 45
2.9.1 赋值运算符与赋值表达式 45
2.9.2 复合的赋值运算符 47
2.10 逗号运算符和逗号表达式 48
2.11 本章小结 50
第3章 顺序结构程序设计 51
3.1 C语句概述 51
3.1.1 C程序结构 51
3.1.2 C语句分类 52
3.2 赋值语句 53
3.3 输入/输出的概念及其C语言的实现 54
3.4 字符数据的输入/输出 55
3.4.1 putchar函数——字符输出函数 55
3.4.2 getchar函数——字符输入函数 55
3.5 格式输入与输出 55
3.5.1 printf函数——格式输出函数 55
3.5.2 scanf()函数——格式输入函数 59
3.6 顺序结构程序设计举例 63
3.7 预处理命令 66
3.7.1 宏定义 67
3.7.2 文件包含 69
3.8 本章小结 71
第4章 选择结构程序设计 73
4.1 关系运算符和关系表达式 73
4.1.1 关系运算符及其优先级 73
4.1.2 关系表达式 74
4.2 逻辑运算符和逻辑表达式 75
4.2.1 逻辑运算符及其优先级 75
4.2.2 逻辑表达式 76
4.3 单分支和双分支选择语句 77
4.3.1 单分支选择语句 77
4.3.2 双分支选择语句 78
4.4 多分支选择语句 83
4.4.1 if...else...多分支选择语句 83
4.4.2 switch开关语句 84
4.5 选择语句的嵌套与条件运算符 85
4.5.1 选择语句的嵌套 86
4.5.2 条件运算符 86
4.6 本章小结 91
第5章 循环结构程序设计 93
5.1 概述 93
5.1.1 基本概述 93
5.1.2 goto语句 94
5.2 while语句 94
5.3 do...while语句 96
5.4 for语句 101
5.5 几种循环的比较 106
5.5.1 循环结构的基本组成部分 106
5.5.2 几种循环的比较 106
5.6 循环的嵌套 108
5.7 break语句和continue语句 112
5.7.1 break语句 112
5.7.2 continue语句 114
5.8 本章小结 119
第6章 数组 121
6.1 一维数组的定义和引用 121
6.1.1 一维数组的定义 121
6.1.2 一维数组元素的引用 122
6.1.3 一维数组的初始化 123
6.2 二维数组的定义和引用 129
6.2.1 二维数组的定义 129
6.2.2 二维数组的引用 130
6.2.3 二维数组的初始化 131
6.3 字符数组 135
6.3.1 字符数组的定义 135
6.3.2 字符数组的初始化 135
6.3.3 字符数组的引用 136
6.3.4 字符串和字符串结束标志 136
6.3.5 字符数组的输入/输出 137
6.4 字符串处理函数 143
6.5 本章小结 155
第7章 函数 157
7.1 函数的定义、函数参数和函数值 157
7.1.1 C语言对函数的规定 157
7.1.2 函数的定义 158
7.2 函数的调用 160
7.3 函数的嵌套调用 165
7.4 函数的递归调用 166
7.5 数组作为函数参数 171
7.5.1 数组元素作函数实参 171
7.5.2 数组名作函数实参 172
7.6 局部变量和全局变量 176
7.6.1 局部变量 177
7.6.2 全局变量 178
7.7 动态存储变量和静态存储变量 180
7.7.1 变量的存储类别 180
7.7.2 局部变量的存储方式 180
7.7.3 全局变量的存储方式 182
7.8 内部函数和外部函数 183
7.8.1 内部函数 183
7.8.2 外部函数 183
7.9 本章小结 186
第8章 指针 189
8.1 地址的概念 189
8.2 变量与指针变量 190
8.2.1 指针变量的定义 190
8.2.2 指针变量的基本操作 191
8.2.3 指针变量的使用 194
8.3 数组与指针变量 196
8.3.1 指向一维数组和数组元素的指针变量 196
8.3.2 指针与二维数组 199
8.4 指针变量作函数参数 204
8.4.1 指针变量作函数参数 204
8.4.2 用数组名作函数参数 207
8.5 字符串与指针 212
8.5.1 字符串的表示形式 212
8.5.2 指向字符串的指针作函数参数 215
8.6 指针函数 219
8.7 指针数组和指向指针的指针 220
8.7.1 指针数组的概念 220
8.7.2 指向指针的指针 221
8.8 本章小结 225
第9章 结构体与共用体 226
9.1 定义结构体类型 227
9.2 定义结构体类型变量的方法 228
9.3 结构体变量的引用 229
9.4 结构体变量的初始化 230
9.5 结构体数组 230
9.6 指向结构体类型数据的指针 231
9.6.1 结构体指针变量 231
9.6.2 结构体变量作函数参数 232
9.7 用指针处理链表 236
9.7.1 链表概述 236
9.7.2 简单链表的建立 236
9.7.3 处理动态链表所需的函数 238
9.7.4 建立动态链表 238
9.7.5 输出链表 240
9.7.6 链表的插入操作 241
9.7.7 链表的删除操作 242
9.7.8 链表的综合操作 243
9.8 共用体 243
9.8.1 共用体的概念 243
9.8.2 共用体变量的引用 244
9.8.3 共用体类型数据的特点 244
9.9 枚举类型 246
9.10 用typedef定义类型 248
9.11 本章小结 250
第10章 位运算 252
10.1 位运算符与位运算 252
10.1.1 按位与(&) 253
10.1.2 按位或(丨) 254
10.1.3 按位异或(^) 254
10.1.4 按位取反(~) 255
10.1.5 左移位(<<) 255
10.1.6 右移位(>>) 256
10.2 本章小结 260
第11章 文件 261
11.1 C语言文件概述 261
11.2 文件的打开与关闭 262
11.2.1 FILE类型 262
11.2.2 文件的打开 263
11.2.3 文件的关闭 264
11.3 文件的读/写 265
11.3.1 fputc函数和fgetc函数 265
11.3.2 fread函数和fwrite函数 268
11.4 其他的文件读/写函数 272
11.5 文件的定位 272
11.5.1 feof函数 273
11.5.2 rewind函数 273
11.5.3 fseek函数 274
11.6 本章小结 274
第12章 C++面向对象理论基础 276
12.1 C++面向对象理论基本概念 276
12.1.1 面向过程与面向对象程序设计语言的区别 276
12.1.2 类和对象的概念 277
12.2 类和对象的定义 277
12.2.1 类的定义 277
12.2.2 对象的定义 279
12.3 对象的初始化 280
12.4 继承性和派生类 282
12.4.1 基类和派生类 282
12.4.2 派生类的定义 283
12.5 本章小结 285
附录 287
附录Ⅰ 常用字符与ASCII代码对照表 287
附录Ⅱ 关键字及其用途 288
附录Ⅲ 运算符的优先级和结合性 289
附录Ⅳ Turbo C 2.0常用库函数 290
参考文献 295