第1章 简单的C程序设计 1
1-1 几个简单的C程序 1
1-2 C语言常用符号 7
1-2-1 C语言的关键字 7
1-2-2 标识符 8
1-2-3 其他的符号 8
1-3 C语言程序的上机调试步骤 8
1-4 Turbo C集成开发环境 9
1-4-1 Turbo C 2.0的安装 10
1-4-2 Turbo C 2.0集成化操作界面 10
1-4-3 Turbo C 2.0简单操作 10
1-5-2 C语言的特点和用途 18
1-5-1 C语言的发展过程 18
1-5 C语言的概况 18
1-5-3 学习建议 19
习题一 19
第2章 数据类型、运算符和表达式 21
2-1 常用的进位制 21
2-1-1 二进制数、八进制数和十六进制数 21
2-1-2 十进制数、二进制数、八进制数和十六进制数之间的换算 22
2-2 数与字符在计算机内存中的表示方法 23
2-2-1 机器数和真值 23
2-2-2 原码、反码和补码 23
2-2-3 定点数和浮点数 24
2-3-1 整型常量 25
2-3 常量 25
2-2-4 字符编码 25
2-3-2 实型常量 26
2-3-3 字符常量 27
2-3-4 字符串常量 28
2-3-5 符号常量 28
2-4 变量 29
2-4-1 整型变量 29
2-4-2 实型变量 32
2-4-3 字符型变量 33
2-5 常用运算符与表达式 34
2-5-1 算术运算符与算术表达式 35
2-5-2 赋值运算符和赋值表达式 36
2-5-4 加1、减1运算符 37
2-5-3 强制类型转换运算符 37
2-5-5 逗号运算符和逗号表达式 38
2-5-6 位运算 38
2-6 基本输入/输出操作的实现 40
2-6-1 字符的输入和输出 40
2-6-2 有格式的输入与输出 41
习题二 46
第3章 算法与程序设计基础 51
3-1 算法概述 51
3-1-1 算法的概念 51
3-1-2 算法的特性 52
3-2-1 自然语言表示法 53
3-2 算法的常用表示方法 53
3-2-2 流程图 54
3-2-3 N-S结构流程图 55
3-2-4 伪代码表示法 56
3-2-5 用计算机语言表示算法 57
3-3 结构化程序设计方法 58
3-4 C语句概述 60
3-5 选择结构程序设计 63
3-5-1 关系运算符和关系表达式 63
3-5-2 逻辑运算符和逻辑表达式 63
3-5-3 if语句 66
3-5-4 if语句的嵌套 69
3-5-5 条件运算符和条件表达式 72
3-5-6 switch语句 73
3-5-7 选择结构程序设计举例 75
3-6 循环程序设计 80
3-6-1 goto语句以及用goto语句构成的循环 81
3-6-2 while语句 81
3-6-3 do-while语句 83
3-6-4 for语句 85
3-6-5 循环的嵌套 88
3-6-6 break语句 89
3-6-7 continue语句 90
3-6-8 循环程序设计举例 92
3-7 综合程序应用举例 95
习题三 103
第4章 函数 106
4-1 函数概述 106
4-2 函数的定义 107
4-3 函数的调用与返回值 108
4-3-1 实参与形参的区分 108
4-3-2 函数的调用 110
4-3-3 对被调用函数的声明 111
4-3-4 函数的返回语句与返回值 113
4-4 函数的参数传递方式 115
4-4-1 值传递方式 115
4-4-2 地址传递方式 116
4-5-1 函数的嵌套调用 118
4-5 函数的嵌套与递归 118
4-5-2 函数的递归调用 120
4-6 变量的作用域 123
4-6-1 局部变量 123
4-6-2 全局变量 124
4-6-3 分程序 126
4-7 变量的生存期 127
4-7-1 自动变量(auto) 127
4-7-2 静态变量(static) 128
4-7-3 外部变量(extern) 129
4-7-4 寄存器变量(register) 130
4-8 内部函数和外部函数 131
4-8-1 内部函数 131
4-8-2 外部函数 132
4-9 编译预处理命令 133
4-9-1 宏定义 133
4-9-2 文件包含 136
4-9-3 条件编译 137
习题四 138
第5章 指针与数组类型 146
5-1 数据类型的定义 146
5-2 指针类型的定义与使用 147
5-2-1 指针与指针类型的定义 147
5-2-2 指针常量与变量 149
5-2-3 指针参数 152
5-2-4 函数指针 153
5-2-5 void指针 155
5-3 数组类型的定义与使用 157
5-3-1 数组与数组类型的定义 157
5-3-2 一维数组变量与基本操作 157
5-3-3 数组参数 161
5-3-4 二维数组与二级指针 164
5-3-5 动态数组 170
5-3-6 字符数组与字符串 173
5-3-7 main函数的数组参数 179
习题五 180
第6章 结构与联合类型 183
6-1 结构与联合类型的概述 183
6-2-1 结构类型与结构变量 185
6-2 结构类型 185
6-2-2 结构变量的基本操作 187
6-2-3 结构指针与结构数组 190
6-3 链表及其操作 195
6-3-1 链表及其实现 195
6-3-2 链表的基本操作 200
6-3-3 链表的应用 203
6-4 位域与联合类型 207
6-5 枚举类型 210
习题六 212
7-1 文件概述 215
7-1-1 文件的概念 215
第7章 文件 215
7-1-2 文件的分类 216
7-1-3 文件的访问方式 217
7-1-4 文件类型指针 218
7-1-5 文件的处理过程 218
7-2 文件的打开和关闭 221
7-2-1 打开文件的函数 221
7-2-2 关闭文件的函数 222
7-3 文件的顺序读写 223
7-3-1 文本文件的顺序读/写 223
7-3-2 二进制文件的顺序读/写 234
7-4 文件的定位与随机读/写 239
7-4-1 rewind()函数 239
7-4-2 fseek()函数 240
7-4-3 ftell()函数 241
7-5 文件状态检查函数 242
7-5-1 文件读/写结束检查函数feof() 242
7-5-2 文件出错检查函数ferror() 244
7-5-3 文件出错复位函数clearerr() 244
7-6 文件输入/输出小结 245
习题七 245
第8章 面向对象技术与C++ 248
8-1 C++的起源和特点 248
8-2 简单的C++程序 249
8-3 C++程序的上机实现 251
8-4 C++的输入和输出 252
8-4-1 用cout输出 252
8-4-2 用cin输入 253
8-5 设置函数参数的默认值 254
8-6 内联函数 255
8-7 重载函数 257
8-8 变量的引用 259
8-8-1 引用的概念 259
8-8-2 引用做函数参数 261
8-9 面向对象的概念和思想 262
8-9-1 面向对象的概念 262
8-9-2 面向对象方法与结构化方法的比较 263
8-9-3 面向对象系统的特性 264
8-10 类和对象 265
8-10-1 类的定义 265
8-10-3 对象的成员表示 268
8-10-2 对象的定义 268
8-11 构造函数 269
8-12 析构函数 273
8-13 继承与派生类 274
8-13-1 继承与派生类的概念 275
8-13-2 派生类的定义格式 276
8-13-3 公有派生类 277
8-13-4 私有派生类 278
8-13-5 保护成员 278
8-13-6 派生类的构造函数 279
习题八 281
附录A 美国标准信息交换码表 284
附录B Visual C++集成环境下调试标准C程序的方法 285
附录C 常用库函数介绍 290
C-1 输入/输出函数 290
C-2 字符和字符串函数 292
C-3 数学函数 296
C-4 动态地址分配函数 300
C-5 图形函数 301
C-6 其他函数 307
附录D C语言编译错误信息 308
D-1 致命错误 308
D-2 一般错误 308
D-3 警告性错误 315
参考文献 317