第1章 C/C++语言基础知识 1
学习导读 1
1.1 程序设计 1
1.1.1 程序与计算机程序 1
1.1.2 计算机程序设计语言 2
1.1.3 计算机程序设计 4
1.1.4 算法及其描述 4
1.2 C语言和面向过程的程序设计 6
1.2.1 C语言简介 6
1.2.2 C程序的结构 6
1.2.3 面向过程的程序设计特点 7
1.2.4 结构化程序的三种基本结构 7
1.3 C++语言和面向对象的程序设计 10
1.3.1 C++语言的起源 10
1.3.2 C++语言的兼容性 11
1.3.3 C++语言的特点 12
1.4 C/C++程序的开发过程 13
1.4.1 编制C/C++程序的步骤 13
1.4.2 Visual C++6.0上机简介 14
1.5 数据类型 19
1.5.1 C/C++语言的词汇 19
1.5.2 数据类型分类 21
1.5.3 变量和常量 22
1.5.4 数据类型之间的转换 27
1.6 运算符和表达式 27
1.6.1 算数运算符和算术表达式 29
1.6.2 赋值运算符和赋值表达式 31
1.6.3 条件运算符和条件表达式 32
1.6.4 逗号运算符和逗号表达式 33
本章小结 33
习题 34
第2章 顺序结构程序设计 37
学习导读 37
2.1 程序设计概述 37
2.1.1 语句 37
2.1.2 程序的三种基本结构 38
2.2 赋值语句 38
2.3 C语言的输入/输出 39
2.3.1 字符输入函数与字符输出函数 40
2.3.2 格式输入函数与格式输出函数 41
2.4 C++的I/O流 45
2.4.1 标准输出设备cout 45
2.4.2 标准输入设备cin 46
本章小结 46
习题 47
第3章 选择结构程序设计 49
学习导读 49
3.1 关系运算符与关系表达式 49
3.1.1 关系运算符 49
3.1.2 关系表达式 49
3.2 逻辑运算符与逻辑表达式 50
3.2.1 逻辑运算符 50
3.2.2 逻辑表达式 50
3.3 if语句 51
3.3.1 if语句的几种形式 51
3.3.2 if语句的嵌套 56
3.3.3 条件表达式与选择结构 58
3.4 switch语句 58
本章小结 60
习题 61
第4章 循环结构程序设计 66
学习导读 66
4.1 for语句 66
4.2 while语句 70
4.3 do while语句 72
4.4 其他流程控制语句 73
4.5 循环结构嵌套 75
本章小结 77
习题 78
第5章 数组 84
学习导读 84
5.1 一维数组 84
5.1.1 一维数组的定义 84
5.1.2 一维数组的初始化 86
5.1.3 一维数组元素的引用 86
5.1.4 一维数组程序举例 88
5.2 二维数组 93
5.2.1 二维数组的定义 93
5.2.2 二维数组的初始化 94
5.2.3 二维数组元素的引用 94
5.2.4 二维数组程序举例 96
5.3 字符串 99
5.3.1 字符数组的定义和初始化 99
5.3.2 字符数组元素的引用 101
5.3.3 字符数组程序举例 102
5.3.4 字符串处理函数 104
5.3.5 C++的CString类 105
本章小结 109
习题 109
第6章 指针 115
学习导读 115
6.1 指针变量与地址 115
6.1.1 指针变量的定义 115
6.1.2 指针变量的初始化 116
6.1.3 指针变量的引用 116
6.2 指针与数组 119
6.2.1 指针与一维数组 119
6.2.2 指针与二维数组 122
6.3 指针与字符串 124
本章小结 127
习题 127
第7章 函数 131
学习导读 131
7.1 函数的定义、调用和原型说明 131
7.1.1 函数引例 131
7.1.2 函数定义 133
7.1.3 函数调用 134
7.1.4 函数原型说明 136
7.2 函数之间的参数传递 137
7.2.1 值传递 137
7.2.2 地址传递 138
7.3 函数的递归调用(递归函数) 145
7.4 函数参数缺省 146
7.5 函数重载 147
7.5.1 重载函数应满足的条件 147
7.5.2 匹配重载函数的规则 147
7.6 函数模板 149
7.7 变量的作用域和存储类别 151
7.7.1 局部变量和全局变量 151
7.7.2 变量的存储类别 152
本章小结 153
习题 154
第8章 结构体和共用体 160
学习导读 160
8.1 结构体 160
8.1.1 结构体类型声明(定义) 160
8.1.2 结构体类型变量的定义 161
8.1.3 结构体类型变量的引用 163
8.1.4 结构体类型用作函数参数 166
8.2 链表 167
8.2.1 链表的概念和基本结构 167
8.2.2 动态开辟和释放存储单元 168
8.2.3 动态链表 170
8.3 共用体 173
8.3.1 共用体类型声明(定义) 173
8.3.2 共用体类型变量的定义 174
8.3.3 共用体类型变量的引用 174
本章小结 175
习题 176
第9章 面向对象的程序设计 180
学习导读 180
9.1 面向对象程序设计的概述 180
9.1.1 面向对象的基本概念 181
9.1.2 面向对象程序设计的特点 182
9.2 类和对象 183
9.2.1 类的定义 183
9.2.2 对象的定义 187
9.2.3 构造函数 190
9.2.4 析构函数 194
9.2.5 常对象和常成员 195
9.2.6 静态成员 198
9.2.7 友元函数 200
9.2.8 类模板及应用 203
9.3 继承和派生 204
9.3.1 基类和派生类 205
9.3.2 单继承 206
9.4 多态性 214
9.4.1 多态性类型 214
9.4.2 联编 215
9.4.3 运算符重载 215
9.4.4 虚函数 220
9.4.5 抽象类 223
本章小结 225
习题 225
第10章 文件 231
学习导读 231
10.1 C中的文件 231
10.1.1 文件概述 231
10.1.2 文件类型指针 232
10.1.3 文件的基本操作 233
10.1.4 顺序文件的读/写 235
10.1.5 随机文件的读/写 243
10.1.6 文件操作的错误检测 245
10.2 C++中的文件 246
10.2.1 文件的打开和关闭 246
10.2.2 文本文件的读/写 247
10.2.3 二进制文件的读/写 249
本章小结 252
习题 252
附录A 实验 254
实验1 C/C++语言编程环境 254
实验2 选择分支结构程序设计 255
实验3 循环结构程序设计 257
实验4 数组 258
实验5 指针 260
实验6 函数 261
实验7 结构体 262
实验8 面向对象的程序设计 263
实验9 文件(C/C++输入/输出流) 264
附录B 自测题 265
自测题1 265
自测题2 271
自测题3 277
自测题1参考答案 283
自测题2参考答案 285
附录C 关键字索引 287
附录D 常用字符与ASCII码对照表 288
附录E 运算符索引 290
附录F 常用C库函数 291
附录G 常见错误、警告信息表 296
参考文献 297