第1章 C程序设计入门 1
1.1 几个简单的C程序 1
1.2 C语言常用符号 8
1.2.1 C语言的关键字 8
1.2.2 标识符 8
1.2.3 其他符号 9
1.3 C语言程序的上机调试步骤 9
1.4 Turbo C集成开发环境(IDE) 10
1.4.1 Turbo C 2.0的安装 10
1.4.2 Turbo C 2.0集成化操作界面 10
1.4.3 Turbo C 2.0简单操作 11
1.5 C语言的概况 20
1.5.1 C语言的发展过程 20
1.5.2 C语言的特点、用途 20
1.5.3 学习建议 21
习题 21
第2章 数据类型、运算符和表达式 23
2.1 常用的进位制 23
2.1.1 二进制、八进制和十六进制数 23
2.1.2 十进制、二进制、八进制和十六进制数之间的换算 24
2.2 数与字符在计算机内存中的表示方法 25
2.2.1 机器数和真值 25
2.2.2 原码、反码和补码 25
2.2.3 定点数和浮点数 26
2.2.4 字符编码 27
2.3 常量 27
2.3.1 整型常量 27
2.3.2 实型常量 28
2.3.3 字符常量 28
2.3.4 字符串常量 30
2.3.5 符号常量 30
2.4 变量 31
2.4.1 整型变量 31
2.4.2 实型变量 34
2.4.3 字符型变量 36
2.5 常用运算符与表达式 37
2.5.1 算术运算符与算术表达式 38
2.5.2 赋值运算符和赋值表达式 39
2.5.3 强制类型转换运算符 40
2.5.4 加一、减一运算符 40
2.5.5 逗号运算符和逗号表达式 41
2.5.6 位运算 41
2.6 基本输入/输出操作的实现 43
2.6.1 字符的输入和输出 43
2.6.2 有格式的输入和输出 44
习题 50
第3章 算法与程序设计基础 56
3.1 算法概述 56
3.1.1 算法的概念 56
3.1.2 算法的特性 57
3.2 算法的常用表示方法 58
3.2.1 自然语言表示法 58
3.2.2 流程图 59
3.2.3 N-S结构流程图 60
3.2.4 伪代码表示法 61
3.2.5 用计算机语言表示算法 62
3.3 结构化程序设计方法 62
3.4 C语句概述 65
3.5 选择结构程序设计 68
3.5.1 关系运算符和关系表达式 68
3.5.2 逻辑运算符和逻辑表达式 69
3.5.3 if语句 71
3.5.4 if语句的嵌套 75
3.5.5 条件运算符和条件表达式 77
3.5.6 switch语句 78
3.5.7 选择结构程序设计举例 81
3.6 循环程序设计 87
3.6.1 goto语句以及用goto语句构成的循环 87
3.6.2 while语句 88
3.6.3 do...while语句 89
3.6.4 for语句 91
3.6.5 循环的嵌套 94
3.6.6 break语句 96
3.6.7 continue语句 97
3.6.8 循环程序设计举例 98
3.7 综合程序应用举例 101
习题 110
第4章 函数 114
4.1 函数概述 114
4.2 函数的定义 116
4.3 函数的调用与返回值 117
4.3.1 实参与形参的区分 118
4.3.2 函数的调用 119
4.3.3 对被调用函数的原型声明 120
4.3.4 函数的返回语句与返回值 122
4.4 函数的参数传递方式 125
4.4.1 值传递方式 125
4.4.2 地址传递方式 127
4.5 函数的嵌套与递归 130
4.5.1 函数的嵌套调用 130
4.5.2 函数的递归调用 132
4.6 变量的作用域 136
4.6.1 局部变量 136
4.6.2 全局变量 136
4.6.3 分程序 139
4.7 变量的生存期 140
4.7.1 自动变量 140
4.7.2 静态变量 141
4.7.3 外部变量 142
4.7.4 寄存器变量 144
4.8 内部函数和外部函数 145
4.8.1 内部函数 145
4.8.2 外部函数 145
4.9 编译预处理命令 147
4.9.1 宏定义 147
4.9.2 文件包含 149
4.9.3 条件编译 151
习题 152
第5章 指针类型与数组类型 160
5.1 数据类型的定义 160
5.2 指针类型的定义与使用 161
5.2.1 指针与指针类型的定义 161
5.2.2 指针常量与变量 162
5.2.3 指针参数 165
5.2.4 函数指针 167
5.2.5 void指针 169
5.3 数组类型的定义与使用 170
5.3.1 数组与数组类型的定义 170
5.3.2 一维数组变量与基本操作 171
5.3.3 数组参数 175
5.3.4 二维数组与二级指针 177
5.3.5 动态数组 183
5.3.6 字符数组与字符串 187
5.3.7 main()函数的数组参数 194
习题 195
第6章 结构类型与联合类型 198
6.1 结构与联合类型的概述 198
6.2 结构类型 200
6.2.1 结构类型与结构变量 200
6.2.2 结构变量的基本操作 203
6.2.3 结构指针与结构数组 205
6.3 链表及其操作 212
6.3.1 链表及其实现 212
6.3.2 链表的基本操作 216
6.3.3 链表的应用 220
6.4 位域与联合类型 224
6.5 枚举类型 228
习题 230
第7章 文件 233
7.1 文件概述 233
7.1.1 文件的概念 233
7.1.2 文件的分类 233
7.1.3 文件缓冲区 235
7.1.4 文件类型指针 236
7.1.5 文件的操作流程 237
7.2 文件的打开和关闭 239
7.2.1 打开文件的函数 240
7.2.2 关闭文件的函数 241
7.3 文件的顺序读/写 241
7.3.1 文本文件的顺序读/写 241
7.3.2 二进制文件的顺序读/写 260
7.4 文件的定位与随机读/写 264
7.4.1 rewind()函数 265
7.4.2 fseek()函数 265
7.4.3 ftell()函数 267
7.5 文件状态检查函数 269
7.5.1 文件读/写结束检查函数feof() 269
7.5.2 文件出错检查函数ferror() 272
7.5.3 文件出错复位函数clearerr() 272
习题 273
第8章 面向对象技术与C++ 279
8.1 C++的起源和特点 279
8.2 简单的C++程序 280
8.3 C++程序的开发过程 282
8.4 C++的输入和输出 283
8.4.1 用cout输出 283
8.4.2 用cin输入 283
8.4.3 I/O流类库操纵符简介 284
8.5 设置函数参数的默认值 286
8.6 内联函数 288
8.7 重载函数 289
8.8 变量的引用 292
8.8.1 引用的概念 292
8.8.2 引用作函数参数 293
8.9 面向对象的基础知识 295
8.9.1 面向对象的概念 295
8.9.2 面向对象程序设计的优点 296
8.9.3 面向对象系统的特性 297
8.10 类和对象 298
8.10.1 类的定义 298
8.10.2 对象的定义 300
8.10.3 对象的成员表示 301
8.11 构造函数 302
8.12 析构函数 306
8.13 继承与派生类 308
8.13.1 继承与派生类的概念 308
8.13.2 派生类的定义格式 309
8.13.3 公有派生类 310
8.13.4 私有派生类 311
8.13.5 保护成员 311
8.13.6 派生类的构造函数 312
习题 314
附录A 常用字符与ASCII码对照表 319
附录B Visual C++集成环境下调试标准C程序的方法 320
附录C 常用库函数介绍 325
附录D C语言编译错误信息 345
参考文献 354