《C/C++程序设计 计算思维的运用与训练》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:齐苏敏主编
  • 出 版 社:北京:北京理工大学出版社
  • 出版年份:2019
  • ISBN:9787568273893
  • 页数:295 页
图书介绍:

上篇C语言篇 3

第1章 计算思维与C语言概述 3

1.1计算思维与程序设计语言 3

1.1.1二进制思维与程序设计语言的分类 3

1.1.2计算思维与程序设计 5

1.1.3计算思维在C语言程序设计中的应用 5

1.2 C程序的基本结构 5

1.2.1注释 6

1.2.2预处理 6

1.2.3主程序 6

1.3 C程序的编译 7

1.3.1 UNIX操作系统的CC编译器 8

1.3.2 Linux操作系统的GCC编译器 8

1.3.3 Windows操作系统的集成开发环境 8

第2章C语言程序的基本元素与顺序结构程序设计 10

2.1 C语言程序的基本元素 10

2.1.1变量和常量及数据类型 10

2.1.2表达式 13

2.1.3数据的输入与输出 15

2.2顺序结构程序设计 18

2.2.1语句 18

2.2.2构造程序 19

2.2.3编程风格 20

2.3实训与实训指导 20

实训1字母大小写的转换 20

实训2两数相除 21

实训3交换两个数的值 23

实训4输出随机数 24

第3章 逻辑运算与选择结构程序设计 26

3.1选择结构程序的构成 26

3.1.1关系运算符与关系表达式 27

3.1.2逻辑运算符与逻辑表达式 28

3.1.3 if …else选择结构 28

3.1.4条件运算符和条件表达式 30

3.1.5 switch …case选择结构 31

3.2实训与实训指导 33

实训1判断奇数/偶数 33

实训2根据利润计算应发放的奖金 35

实训3判断闫年 38

实训4利用海伦公式计算三角形面积 40

第4章 重复运算与循环结构程序设计 42

4.1三种循环语句 42

4.1.1 while语句 43

4.1.2 do …while语句 43

4.1.3 for语句 44

4.1.4使用break语句退出循环 46

4.1.5使用continue语句跳过循环体语句 47

4.2批量数据处理——数组 48

4.2.1一维数组 48

4.2.2字符串与字符数组 50

4.2.3二维数组 53

4.3实训与实训指导 56

实训1数制转换 56

实训2输出乘法表 57

实训3兑换硬币 59

实训4冒泡排序 60

第5章 过程封装——函数 62

5.1函数的定义和调用 62

5.1.1函数的定义 63

5.1.2函数的返回 64

5.1.3函数的调用 65

5.1.4函数调用过程 66

5.1.5函数参数的值传递 67

5.1.6函数的声明 70

5.2局部变量和全局变量 73

5.2.1代码块 73

5.2.2局部变量 74

5.2.3全局变量 76

5.2.4作用域规则 78

5.3变量的存储类型 80

5.3.1 auto变量 80

5.3.2 register变量 80

5.3.3 static变量 81

5.3.4 extern变量 84

5.4实训与实训指导 86

实训1直角三角形 86

实训2一元二次方程的根 88

实训3完美数 89

实训4玫瑰花数 91

第6章 数据的间接访问——指针 95

6.1指针的基本概念 95

6.1.1指针与地址 95

6.1.2指针变量的定义 96

6.1.3指针变量的初始化与赋值 96

6.1.4指针变量的访问 97

6.2指针与数组 98

6.2.1用指针操作数组 98

6.2.2动态内存分配 99

6.2.3数组作为函数参数 101

6.3指针数组和指向指针的指针 103

6.3.1指针数组 103

6.3.2指向指针的指针 105

6.4指针作为函数的形参 106

6.5函数指针和指针函数 108

6.5.1函数指针 108

6.5.2函数指针作为函数参数——回调函数 111

6.5.3指针函数 112

6.6实训与实训指导 115

实训1将整型数转换为字符串 115

实训2日期转换函数 116

实训3字符串排序 118

实训4函数指针应用 120

第7章 函数的自我调用——递归 122

7.1递归 122

7.1.1递归的思想 123

7.1.2递归的递推 123

7.1.3递归的回归 124

7.1.4递归的条件 125

7.1.5递归的实现 125

7.2迭代与递归 126

7.2.1递归实现 126

7.2.2迭代实现 127

7.2.3递归与迭代的关系 128

7.3实训与实训指导 129

实训1走台阶 129

实训2换汽水 130

实训3排列数 132

实训4汉诺塔 134

第8章 数据封装——用户自定义数据类型 136

8.1结构体的定义与使用 136

8.1.1定义结构体类型和结构体变量 137

8.1.2初始化结构体变量 139

8.1.3访问结构体成员 140

8.1.4结构体作为函数参数或返回值 141

8.2结构体实训与实训指导 144

实训1计算三维空间中两点之间的距离 144

实训2利用结构体数组存储一元多项式并输出 145

实训3创建简单链表 147

实训4使用链表存储一元多项式并输出 148

8.3使用FILE结构体类型的文件操作 152

8.3.1文件的打开与关闭 152

8.3.2文本文件的读写 154

8.3.3二进制文件的读写 157

8.3.4文件的格式化输入与输出 159

8.4共用体 161

8.4.1共用体类型及其变量的定义 161

8.4.2共用体的使用 163

8.5枚举类型 166

8.5.1枚举及其变量的定义 167

8.5.2枚举的使用 168

下篇C++语言篇 173

第9章 面向对象思维与C++语言概述 173

9.1面向对象思维 173

9.1.1 C语言的面向过程思维 173

9.1.2 C++语言的面向对象思维 174

9.1.3面向对象的基本概念 174

9.2 C++语言对C语言的扩充 175

9.2.1 C++常变量 176

9.2.2 C++的基本输入输出 176

9.2.3 C++修饰符类型 178

9.2.4 C++字符串 179

9.2.5 C++引用 182

9.2.6 C++重载函数 184

9.2.7 C++函数模板 185

9.2.8 C++动态内存 186

9.2.9 C++异常处理 187

9.3 C++程序的编译 189

9.4实训与实训指导 189

实训1旋转魔方阵 189

实训2删除重复字符 192

实训3字符串全排列 195

实训4求两组整数的异或集 196

第10章 数据与过程的封装——类及其实训 199

10.1定义类与对象 199

10.1.1定义类 200

10.1.2声明对象 203

10.1.3操作对象 203

10.1.4对象的内存分配与this指针 204

10.2对象的构造与析构 205

10.2.1构造函数 206

10.2.2复制构造函数 208

10.2.3析构函数 208

10.3 const与数据保护 211

10.3.1常数据成员 211

10.3.2常成员函数 212

10.3.3常对象 213

10.3.4对象的常引用 213

10.4类的静态成员与数据共享 214

10.4.1静态数据成员 215

10.4.2静态成员函数 215

10.4.3静态常量成员 217

10.5类的对象成员——类的组合 217

10.5.1声明类的对象成员 218

10.5.2在成员函数中使用类的对象成员 219

10.6友元 220

10.6.1友元函数 220

10.6.2友元类 221

10.7实训与实训指导 222

实训1分数类 222

实训2时钟类 224

实训3随机数类 226

实训4约瑟夫环类 228

第11章 对象运算——运算符重载及其实训 233

11.1运算符重载的方法 233

11.1.1运算符重载函数作为友元函数 234

11.1.2运算符重载函数作为成员函数 235

11.1.3运算符重载的限制 237

11.2特殊运算符的重载 237

11.2.1输入/输出运算符重载 238

11.2.2赋值运算符重载 240

11.2.3函数调用运算符重载 241

11.2.4下标运算符重载 242

11.3自定义类型与基本类型之间的转换 243

11.3.1基本类型到自定义类型的转换 243

11.3.2自定义类型到基本类型的转换 244

11.4实训与实训指导 245

实训1二维数组类 245

实训2布尔类 246

实训3随机类运算符重载 251

实训4一元多项式类 252

第12章 代码重用——类的继承、多态与模板 258

12.1类的继承与派生 258

12.1.1基类的定义 259

12.1.2派生类的定义与继承方式 260

12.1.3派生类的构造函数和析构函数 261

12.1.4重定义基类的成员函数 261

12.1.5派生类的定义 262

12.1.6类的多层派生 264

12.2多重继承 266

12.2.1多重继承的声明 269

12.2.2多重继承派生类对象的定义 270

12.2.3虚基类 271

12.3多态性与虚函数 272

12.3.1派生类对象向基类对象的转换 273

12.3.2虚函数 274

12.3.3纯虚函数 277

12.3.4抽象类 277

12.4类模板和泛型编程 278

12.4.1类模板的定义 279

12.4.2类模板的实例化 281

12.4.3类模板的友元 282

12.5实训与实训指导 284

实训1泛化的链表类 284

实训2图书馆系统中的读者类 286

实训3读者库 290

附录 292

参考文献 295