第1章 引论 1
1.1 C语言简史 1
1.2 C语言的特点 1
1.3 源程序的组成 2
1.3.1 源程序的宏观成分 2
1.3.2 源程序的微观成分 2
1.4 C语言程序的开发过程 5
1.4.1 启动Turbo C 6
1.4.2 编辑源程序 6
1.4.3 编译、运行源程序 7
习题1 7
第2章 算术类型数据 8
2.1 整数类型 8
2.1.1 变量定义 8
2.1.2 常量书写规则 11
2.1.3 数据的输入输出 13
2.2 实数类型 15
2.2.1 变量定义 16
2.2.2 常量书写规则 16
2.3 符号常量 17
习题2 18
第3章 基本运算和表达式 20
3.1 基本运算 20
3.2 算术运算 23
3.2.1 四则运算 24
3.2.2 模运算 26
3.2.3 增1和减1运算 27
3.3 赋值运算 28
3.4 关系运算 29
3.5 逻辑运算 30
3.5.1 逻辑否运算 30
3.5.2 逻辑与运算 31
3.5.3 逻辑或运算 32
3.6 条件运算 33
3.7 位运算 34
3.7.1 移位运算 34
3.7.2 位逻辑运算 35
3.8 逗号运算 37
3.9 计算存储区大小 37
3.10 强制类型转换 38
3.11 表达式 38
习题3 40
第4章 语句 42
4.1 基本语句 42
4.1.1 表达式语句 42
4.1.2 空语句 43
4.1.3 复合语句 43
4.2 选择控制语句 44
4.2.1 if语句 44
4.2.2 switch语句 47
4.3 循环控制语句 49
4.3.1 for语句 49
4.3.2 while语句 51
4.3.3 do-while语句 52
4.3.4 嵌套的循环控制语句 52
4.4 转移语句 53
4.4.1 break语句 53
4.4.2 continue语句 55
4.4.3 return语句 56
4.4.4 goto语句 56
4.5 语句的综合应用 57
习题4 62
第5章 数组类型 63
5.1 数组变量定义 63
5.2 数组元素的引用 64
5.3 数组的典型处理 65
5.3.1 顺序处理数组中满足指定性质的数据 65
5.3.2 顺序处理数组中满足指定性质的数据对 67
5.3.3 在数组中插入或删除一个数据 69
5.3.4 在数组中查找一个指定的数据 70
5.3.5 对数组中的数据进行排序 72
5.3.6 合并两个有序数组中的数据到一个数组 75
5.4 字符数组和字符串处理 76
5.4.1 字符串常量 76
5.4.2 字符数组和字符串的输入输出 76
5.4.3 字符串的典型处理 78
5.5 二维数组及处理 80
习题5 83
第6章 函数 85
6.1 函数定义 86
6.1.1 函数定义的格式 86
6.1.2 函数定义之例 88
6.2 函数调用 91
6.2.1 函数调用的格式 91
6.2.2 函数调用中的一些问题 91
6.3 函数调用时的数据传送机制 93
6.4 函数的原型说明 94
6.5 递归 95
6.6 变量的存储类、作用域及初始化 97
6.6.1 变量的存储类与作用域 97
6.6.2 变量的初始化 101
6.7 预处理程序 103
6.7.1 无参#define 103
6.7.2 有参数的宏定义 105
6.7.3 包含文件 105
6.8 算法之例 106
6.8.1 排序 106
6.8.2 搜索 108
习题6 109
第7章 指针类型 110
7.1 指针的基本概念 110
7.1.1 变量的存储区和变量的地址 110
7.1.2 计算变量的地址 111
7.1.3 指针变量 111
7.2 与指针类型相关的基本运算 112
7.2.1 取变量地址运算 112
7.2.2 赋值运算 113
7.2.3 间接访问运算 114
7.2.4 指针加、减整型量 114
7.2.5 指针减指针 116
7.2.6 指针变量的增1、减1运算 117
7.2.7 指针的关系运算 118
7.2.8 数组成员选择 119
7.2.9 强制类型转换 120
7.2.10 指针的逻辑运算 120
7.3 二级指针 120
7.4 指针数组 121
7.5 指针与数组 123
7.5.1 引用数组中下标连续的一批成员 123
7.5.2 指向数组的指针 124
7.6 指针与函数 125
7.6.1 向函数传递一个数组 126
7.6.2 函数通过指针类型的参数向外传递计算结果 127
7.6.3 返回值为指针类型的函数 129
7.6.4 指向函数的指针 130
7.7 命令行参数 132
习题7 134
第8章 自定义数据类型——结构与联合 137
8.1 概述 137
8.2 结构类型的定义 137
8.3 结构变量的定义和使用 139
8.3.1 结构变量的定义 139
8.3.2 结构变量的使用 140
8.4 结构与数组 144
8.4.1 结构数组的定义 144
8.4.2 结构数组的初始化 146
8.5 结构与指针 147
8.5.1 结构成员可以是指针类型的变量 147
8.5.2 指向结构变量的指针 148
8.6 结构与函数 151
8.6.1 基本数据类型作为函数形参 151
8.6.2 结构变量和结构指针作为函数的形参 152
8.6.3 结构变量作函数的返回值 155
8.7 链表 157
8.7.1 链表概述 158
8.7.2 单链表结点类型的定义 158
8.7.3 单链表的建立 159
8.7.4 单链表的遍历 164
8.7.5 单链表的插入和删除 165
8.7.6 单链表的综合应用 169
8.8 联合 172
8.8.1 联合的定义和引用 173
8.8.2 联合举例 174
8.9 用typedef重定义类型名 174
8.9.1 概念 174
8.9.2 典型用法 175
8.9.3 typedef与#define的区别 176
习题8 176
第9章 文件和文件处理 178
9.1 文件 178
9.1.1 打开文件 178
9.1.2 关闭文件 181
9.2 文本文件 182
9.3 二进制文件 187
习题9 192
附录A ASCII码表 195
附录B Turbo C 2.0常用库函数及其头文件 196
参考文献 200