《C++程序设计》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:张瑞玲主编;程立辉副主编;马颖,刘冬萍,李勇敢,李玲玲,郑伟勇,秦志红编
  • 出 版 社:西安:西北大学出版社
  • 出版年份:2006
  • ISBN:7560420168
  • 页数:256 页
图书介绍:本书全面、系统地介绍了面向对象程序设计的基本概念、基本设计方法。通过实训详尽地讲述了C++语言中面向对象的基本特性,包括基本控制结构、数组、函数、类和对象、派生类与继承、多态性、模板、C++的I/O流类库、异常处理。

第一篇 基础知识篇 1

第1章 面向对象程序设计概述 1

1.1 什么是面向对象程序设计 1

1.1.1 面向过程程序设计的基本概念 1

1.1.2 面向对象程序设计的基本概念 3

1.2 对象与类 3

1.2.1 对象与类的基本概念 4

1.2.2 对象的状态 4

1.2.3 对象的交互 5

1.2.4 类的确定与划分 5

1.3 数据的抽象与封装 6

1.3.1 现实世界中的抽象与封装 6

1.3.2 数据的抽象与封装 6

1.3.3 对象的特性 6

1.4.2 继承的分类 7

1.4.1 继承的基本概念 7

1.4 继承性 7

1.4.3 继承与封装的关系 8

1.5 多态性 9

1.5.1 什么是多态性 9

1.5.2 重载的概念 10

1.6 面向对象程序设计语言 10

小结 11

习题 12

第2章 C++语言概述 13

2.1 C++语言简史 13

2.2 C++语言的特点 13

2.3 简单C++程序实例 14

2.4 数据的输入和输出 16

2.5 基本符号分类 18

2.6.2 标识符 20

2.6 C++语言的词汇 20

2.6.1 保留字 20

2.6.3 常量 21

2.6.4 运算符 21

2.6.5 分隔符 21

2.7 Visual C++简介 22

2.7.1 Visual C++集成开发环境 22

2.7.2 简单C++程序的编辑、连接和运行 23

2.7.3 C++程序的调试 26

小结 28

习题 28

第3章 C++语言基础 30

3.1 具有简单计算功能的C++程序 30

3.1.1 实训1——求两个数的平方之和 30

3.1.2 实训2——计算三角形面积 30

3.2.2 基本数据类型的存储 31

3.2 数据类型 31

3.2.1 数据类型的划分 31

3.3 变量和常量 33

3.3.1 变量 33

3.3.2 常量 33

3.3.3 引用 35

3.4 运算符和表达式 36

3.4.1 运算符 36

3.4.2 表达式 37

3.4.3 数据类型转换 41

3.4.4 内部函数 42

3.5 C++程序的基本框架 43

3.5.1 主函数 44

3.5.2 编译预处理 45

3.5.3 C++程序的SP框架 46

3.5.4 C++程序的OOP框架 47

习题 48

小结 48

第二篇 实训教学篇 51

第4章 基本控制结构 51

4.1 顺序结构 51

4.1.1 表达式语句 51

4.1.2 空语句 51

4.1.3 复合语句 52

4.1.4 实训1——编程计算圆的面积和球的体积 52

4.1.5 实训2——编程交换任意两个整型数据 52

4.2 分支结构 53

4.2.1 if条件结构 53

4.2.2 switch开关结构 56

4.2.3 实训3——编写具有简单计数器功能的程序 57

4.3.1 while结构 58

4.3 循环结构 58

4.3.2 do——while结构 59

4.3.3 for结构 60

4.3.4 循环嵌套结构 62

4.3.5 实训4——编程分段统计考生人数 62

4.3.6 实训5——编程计算sin(x)的近似值 63

4.3.7 实训6——编程统计100~999之间所有“水仙花”个数 64

4.4 其他控制语句 65

4.4.1 break语句 65

4.4.2 continue语句 65

4.4.3 实训7——编程输出1~100之间所有的素数之积 66

4.4.4 实训8——求1!+2 !+3 ! +5!之和 66

小结 67

习题 68

5.1.1 一维数组的定义、初始化 70

5.1 一维数组 70

第5章 数组 70

5.1.2 数组元素的引用及基本操作 71

5.1.3 实训1——编程用“冒泡法”对10个数进行排序 72

5.1.4 实训2——编程输出Fibonacci数列第20项的值 73

5.2 二维数组 74

5.2.1 二维数组的定义、初始化 74

5.2.2 数组元素的引用及基本操作 75

5.2.3 实训3——编程实现两个矩阵求和运算功能 76

5.2.4 实训4——编程显示10名考生3门课程的总成绩、平均成绩 76

5.2.5 实训5——编程显示“杨辉三角形”前10行 77

5.3 字符串 79

5.3.1 字符数组 79

5.3.2 字符串操作函数 82

5.3.3 实训6——编程查找指定字符在字符串中的位置 84

5.4 指针与数组 85

5.3.4 实训7——编程判断两个字符串是否相等 85

5.4.1 指针变量的概念 86

5.4.2 指针和一维数组 88

5.4.3 指针和二维数组 89

5.4.4 指针和字符串 91

5.4.5 实训8——已知5位学生、3门课程的考试成绩,用指针法编程计算每门课程的平均分 92

5.4.6 实训9——用指针法编程实现对4个字符串进行升序排序 93

小结 94

习题 94

第6章 函数 96

6.1 函数的定义、调用和声明 96

6.1.1 函数定义 96

6.1.2 函数调用 97

6.1.3 函数声明 98

6.1.4 实训1——编写求任意一个整数的阶乘的函数 99

6.2 函数间参数的传递 100

6.1.5 实训2——编写一个函数判断某年是否是闰年 100

6.2.1 传值参数 101

6.2.2 地址参数 102

6.2.3 数组名作函数参数 104

6.2.4 实训3——编写一函数,求任意两个整数的最小公倍数 106

6.2.5 实训4——编写一个函数统计任意一个字符串中字母、数字、其他字符出现的频率 106

6.2.6 实训5——设有10名学生3门考试,编写一函数输出平均成绩不及格的学生 107

6.3 函数的嵌套和递归调用 108

6.3.1 函数的嵌套调用 108

6.3.2 函数的递归调用 109

6.3.3 实训6——编程实现用弦截法求方程x3-5x2+16x-80=0在区间[2,6]内的根 112

6.3.4 实训7——汉诺塔问题 113

6.4 函数与运算符的重载 114

6.4.1 函数重载 114

6.4.2 可重载运算符 116

6.4.3 运算符重载函数的定义 117

6.4.4 实训8——使用函数重载的方法,设计两个求面积的函数 118

6.5 变量的作用域和存储类别 119

6.5.1 自动变量 119

6.5.2 全局变量 120

6.5.3 局部变量 123

小结 124

习题 124

第7章 类和对象 127

7.1 类和对象的基本概念 127

7.1.1 结构与类 127

7.1.2 成员函数的定义 130

7.1.3 对象的定义及引用 131

7.1.4 类的作用域 133

7.1.5 实训1——设计学生类student 135

7.2.1 静态数据成员 136

7.2 类的静态成员 136

7.2.2 静态成员函数 137

7.2.3 实训2——设计学生类student中静态成员 138

7.3 构造函数与析构函数 140

7.3.1 构造函数 140

7.3.2 缺省参数的构造函数 141

7.3.3 重载构造函数 142

7.3.4 拷贝构造函数 143

7.3.5 析构函数 145

7.3.6 实训3——设计人员类person的构造函数和析构函数 146

7.4 友元 147

7.4.1 友元的特点 148

7.4.2 实训4——设计person类中的友元函数 150

7.5 实训5——设计通讯地址类 152

7.6 实训6——设计person类,友元类为people、ad类 153

小结 156

习题 157

第8章 派生类与继承 158

8.1 基类与派生类 158

8.1.1 基本概念 158

8.1.2 面向对象设计中继承的必要性 158

8.1.3 派生类的定义 159

8.1.4 实训1——基类Person及其派生类Employee的使用 160

8.2 派生类的继承方式 162

8.2.1 公有继承 162

8.2.2 私有继承 164

8.2.3 保护继承 165

8.2.4 基类私有成员的访问 166

8.2.5 实训2——设计汽车信息类 169

8.3 派生类的构造函数和析构函数 171

8.3.2 派生类构造函数和析构函数的构造规则 172

8.3.1 派生类构造函数和析构函数的执行顺序 172

8.4 多重继承 176

8.4.1 多重继承的声明 176

8.4.2 多重继承的构造函数 177

8.4.3 多重继承的二义性 178

8.4.4 虚基类 179

8.4.5 实训3——设计小型公司雇员档案管理 182

小结 185

习题 186

第9章 多态性 190

9.1 编译时的多态性与运行时的多态性 190

9.2 函数重载 190

9.3 运算符重载 191

9.3.1 类以外的运算符重载 191

9.3.2 成员运算符函数 192

9.3.3 友元运算符函数 193

9.3.4 成员运算符函数与友元运算符函数的比较 194

9.3.5 “++”和“--”的重载 196

9.3.6 赋值运算符“=”的重载 198

9.4 虚函数 200

9.4.1 引入派生类后的指针 200

9.4.2 虚函数的定义及使用 201

9.4.3 纯虚函数和抽象类 205

9.5 实训1——设计一个教授抽象类professor 208

9.6 实训2——设计一个职称抽象类people 209

小结 213

习题 213

第10章 模板 215

10.1 模板的概念 215

10.2 函数模板与模板函数 216

10.2.1 多参数模板函数 217

10.2.2 函数模板的重载 218

10.3 类模板与模板类 219

10.3.1 固定类型的类模板 221

小结 223

习题 223

第11章 C++的I/O流类库 224

11.1 C++的流及流类库 224

11.1.1 C++的流 224

11.1.2 流类库 228

11.2 输入输出的格式控制 229

11.2.1 用ios类成员函数进行格式控制 229

11.2.2 使用操作符进行输入输出格式控制 232

11.3 文件输入输出 234

11.3.1 文件的打开与关闭 235

11.3.2 文本文件的读/写 236

11.3.3 二进制文件的读/写 237

11.3.4 随机访问文件 238

小结 240

习题 240

第12章 异常处理 241

12.1 异常处理的概念 241

12.2 异常处理的基本思想 242

12.3 异常处理的实现 243

12.4 函数的异常处理 245

12.5 异常对象 246

小结 248

习题 249

附录1 常用库函数 250

附录2 ASCⅡ码字符表 253

附录3 全国等级考试C++程序设计考试大纲 254

参考文献 256