《21天学通C++》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:杨章伟等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2011
  • ISBN:9787121124808
  • 页数:418 页
图书介绍:本书包括6篇共21章的内容。其中,第1篇是C++数据表达篇,包括C++入门、变量和数据类型、运算符和表达式和程序控制结构等;第2篇是C++面向过程设计篇,包括函数、编译预处理、数组、指针和构造数据类型等内容;第3篇是C++面向对象编程篇,包括类和对象、继承、多态、运算符重载和输入/输出流等内容;第4篇介绍了C++高级特性,包括文件、命名空间和引用与内存管理;第5篇是C++编程实践,主要分析了标准模板库STL、模板与C++标准库和异常处理等。最后一篇实例讲解如何使用C++进行实际开发。

第1篇 C++数据表达篇 19

第1章 C++入门(教学视频:31分钟) 19

1.1 C++概述 19

1.1.1 C++的历史沿革 19

1.1.2 C++与面向对象 19

1.1.3从C到C++ 20

1.2程序设计方法 21

1.2.1结构化程序设计 21

1.2.2面向对象程序设计 22

1.2.3程序设计方法比较 22

1.3 C++开发环境——Visual C++6.0 23

1.3.1工作区 23

1.3.2编辑区(Editor Area) 24

1.3.3输出窗口(Output Panel) 24

1.3.4菜单栏、工具栏、状态栏 25

1.4第一个C++程序——Hello World 25

1.4.1创建源程序 25

1.4.2编译连接 27

1.4.3调试运行 27

1.5 C++源程序组成元素 28

1.5.1基本组成 28

1.5.2基本符号 29

1.5.3标识符 29

1.5.4保留字 29

1.5.5分隔符 30

1.6小结 30

1.7习题 30

第2章 变量和数据类型(教学视频:32分钟) 33

2.1常量 33

2.1.1声明常量 33

2.1.2常量的应用 34

2.2变量 36

2.2.1声明变量 36

2.2.2变量的命名规则 36

2.2.3变量的作用范围 37

2.2.4变量的应用 38

2.3基本数据类型 39

2.3.1整型 40

2.3.2字符型 41

2.3.3浮点型 42

2.3.4布尔型 43

2.4类型转换 44

2.4.1隐式转换 44

2.4.2显式转换 45

2.5小结 46

2.6习题 46

第3章 运算符和表达式(教学视频:34分钟) 48

3.1运算符 48

3.1.1算术运算符 48

3.1.2赋值运算符 50

3.1.3关系运算符 51

3.1.4逻辑运算符 51

3.1.5条件运算符 52

3.1.6逗号运算符 53

3.1.7位运算符 53

3.1.8 sizeof运算符 54

3.1.9运算符的优先级 54

3.2表达式 55

3.2.1算术表达式 56

3.2.2关系表达式 56

3.2.3逻辑表达式 57

3.2.4条件表达式 58

3.2.5赋值表达式 59

3.2.6逗号表达式 59

3.3语句 60

3.3.1语句中的空格 60

3.3.2空语句 61

3.3.3声明语句 61

3.3.4赋值语句 62

3.4小结 62

3.5习题 62

第4章 程序控制结构(教学视频:32分钟) 65

4.1顺序结构 65

4.1.1表达式语句 65

4.1.2输入语句 66

4.1.3输出语句 66

4.1.4格式控制符 67

4.1.5应用示例 70

4.2选择结构 71

4.2.1 if语句 71

4.2.2 if…else语句 72

4.2.3多重if…else语句 73

4.2.4 switch语句 5

4.2.5应用示例 77

4.3循环结构 78

4.3.1 for语句 78

4.3.2 while语句 79

4.3.3 do…while语句 80

4.3.4多重循环 81

4.3.5应用示例 82

4.4转向语句 83

4.5小结 84

4.6习题 85

第2篇 C++面向过程设计篇 88

第5章 函数(教学视频:36分钟) 88

5.1定义函数 88

5.1.1函数概述 88

5.1.2定义函数 89

5.1.3应用示例 90

5.2函数参数及原型 91

5.2.1函数的参数及返回值 91

5.2.2函数原型 92

5.2.3 main()函数 92

5.2.4带参数的main()函数 94

5.3调用函数 95

5.3.1函数调用格式 95

5.3.2传值调用 96

5.3.3引用调用 97

5.3.4嵌套调用 98

5.3.5递归调用 98

5.3.6带默认形参值的函数 100

5.4变量的作用域 100

5.4.1局部变量 101

5.4.2全局变量 102

5.5函数的作用域 103

5.6函数重载 104

5.6.1函数的重载 105

5.6.2参数类型不同的函数重载 105

5.6.3参数个数上不同的重载函数 106

5.7小结 107

5.8习题 107

第6章 编译预处理(教学视频:37分钟) 110

6.1预处理命令 110

6.2宏 110

6.2.1宏概述 110

6.2.2不带参数的宏定义 111

6.2.3取消宏 112

6.2.4宏嵌套 114

6.2.5带参数的宏定义 114

6.2.6内联函数 118

6.2.7宏与函数的区别 118

6.3文件包含 120

6.3.1 #include命令 120

6.3.2合理使用文件包含 120

6.4条件编译 122

6.4.1 #ifdef形式 122

6.4.2 #ifndef形式 123

6.4.3 #if形式 123

6.5其他命令 124

6.5.1 #error命令 124

6.5.2 #line命令 125

6.6小结 125

6.7习题 126

第7章 数组(教学视频:35分钟) 128

7.1声明数组 128

7.1.1声明一维数组 128

7.1.2声明多维数组 129

7.2引用数组 130

7.2.1引用一维数组 130

7.2.2引用多维数组 131

7.3数组的赋值 132

7.3.1初始化数组 133

7.3.2通过赋值表达式赋值 134

7.3.3通过输入语句赋值 135

7.3.4通过循环语句赋值 136

7.3.5多维数组的赋值 137

7.4字符串 138

7.4.1传统字符串 138

7.4.2字符数组 140

7.5数组与函数 141

7.6数组应用 143

7.6.1顺序查找 143

7.6.2折半查找 144

7.6.3排序 146

7.7小结 149

7.8习题 150

第8章 指针(教学视频:33分钟) 152

8.1指针概述 152

8.1.1指针是什么 152

8.1.2定义指针 153

8.1.3指针的初始化 153

8.2指针的运算 155

8.2.1取地址与取值运算 155

8.2.2指针的算术运算 156

8.2.3指针的关系运算 158

8.2.4指针的赋值运算 159

8.2.5 void指针和const指针 159

8.3指针与数组 161

8.3.1访问数组元素的方法 161

8.3.2多维数组元素的访问 163

8.3.3数组指针与指针数组 164

8.4指针与函数 165

8.4.1指针作为函数参数 165

8.4.2指针型函数 167

8.4.3函数指针 168

8.5指针与字符串 169

8.6二级指针 170

8.7小结 171

8.8习题 172

第9章 构造数据类型(教学视频:34分钟) 175

9.1结构体 175

9.1.1结构体概述 175

9.1.2结构体类型说明 176

9.1.3定义结构体类型变量 177

9.1.4初始化结构体变量 178

9.1.5引用结构体成员变量 180

9.1.6结构体作为函数参数 182

9.2共用体 183

9.2.1共用体类型说明 183

9.2.2定义共用体类型变量 184

9.2.3引用共用体成员变量 184

9.3枚举 186

9.3.1定义枚举类型 186

9.3.2定义枚举类型变量 188

9.3.3引用枚举类型变量 189

9.4类型重定义typedef 190

9.5位域 192

9.5.1定义位域变量 192

9.5.2使用位域 193

9.6小结 194

9.7习题 195

第3篇 C++面向对象编程篇 198

第10章 类和对象(教学视频:35分钟) 198

10.1类 198

10.1.1什么是类 198

10.1.2结构到类 199

10.1.3类的声明 201

10.1.4类的访问控制 202

10.1.5类的定义 204

10.2对象 206

10.2.1对象概述 206

10.2.2对象数组 207

10.3构造函数 209

10.3.1构造函数的概念 209

10.3.2构造函数的声明和定义 209

10.3.3构造函数的调用 211

10.3.4不带参数的构造函数 211

10.3.5带有默认参数的构造函数 212

10.3.6构造函数的重载 213

10.4拷贝构造函数 215

10.4.1定义拷贝构造函数 215

10.4.2调用拷贝构造函数 216

10.4.3默认拷贝构造函数 218

10.5析构函数 219

10.6友元 220

10.6.1友元函数 220

10.6.2友元成员 222

10.6.3友元类 223

10.7小结 225

10.8 习题 225

第11章 继承(教学视频:38分钟) 229

11.1继承与派生 229

11.1.1继承与派生概述 229

11.1.2声明派生类 230

11.2访问控制 230

11.2.1公有继承 231

11.2.2私有派生 233

11.2.3保护继承 234

11.3派生类的构造函数和析构函数 238

11.3.1执行顺序和构建原则 238

11.3.2派生类的构造函数 238

11.3.3派生类析构函数的构建 239

11.4多重继承 241

11.4.1二义性问题 241

11.4.2声明多重继承 243

11.4.3多重继承的构造函数和析构函数 245

11.5虚基类 247

11.5.1虚基类的引入 247

11.5.2定义虚基类 248

11.5.3虚基类的构造函数和初始化 250

11.6小结 251

11.7习题 251

第12章 多态(教学视频:34分钟) 256

12.1多态 256

12.1.1什么是多态 256

12.1.2多态的作用 257

12.1.3多态的引入 257

12.2函数重载 259

12.3虚函数 260

12.3.1虚函数的引入 260

12.3.2定义虚函数 262

12.3.3使用虚函数 263

12.3.4多重继承和虚函数 264

12.3.5虚函数的注意事项 266

12.4抽象类 2166

12.4.1纯虚函数 266

12.4.2抽象类 268

12.5小结 269

12.6习题 270

第13章 运算符重载(教学视频:31分钟) 273

13.1运算符重载简介 273

13.1.1运算符重载的定义 273

13.1.2运算符重载的特点 274

13.1.3运算符重载的规则 275

13.2运算符重载的形式 276

13.2.1重载为类的成员函数 276

13.2.2双目运算符重载为成员函数 276

13.2.3单目运算符重载为成员函数 277

13.2.4运算符重载为类的友元函数 279

13.2.5双目运算符重载为友元函数 279

13.2.6单目运算符重载为友元函数 280

13.2.7成员运算符函数与友元运算符函数的比较 282

13.3特殊运算符的重载 282

13.3.1“++”和“--”的重载 282

13.3.2赋值运算符“=”的重载 283

13.3.3下标运算符“[]”的重载 285

13.4类类型转换 287

13.5小结 289

13.6习题 289

第14章 输入/输出流(教学视频:34分钟) 292

14.1输入/输出流的引入 292

14.1.1 printf与scanf的缺陷 292

14.1.2输入/输出流简介 293

14.1.3输入/输出流类层次 294

14.2标准输入/输出流 295

14.2.1标准输出流对象 295

14.2.2标准输入流对象 296

14.2.3标准错误输出流对象 297

14.3输入/输出流成员函数 298

14.3.1 get()函数:输出字符串 298

14.3.2 getline()函数:获取字符串 300

14.4输入/输出的格式控制 300

14.4.1用ios类的成员函数进行格式控制 301

14.4.2使用格式控制符进行格式控制 303

14.5用户自定义数据类型的输入/输出 305

14.5.1重载输出运算符“﹤” 305

14.5.2重载输入运算符“﹥﹥” 306

14.6小结 308

14.7习题 308

第4篇 C++高级特性篇 311

第15章 文件(教学视频:28分钟) 311

15.1文件和流 311

15.1.1文件概述 311

15.1.2文件流类 312

15.2文件的打开与关闭 313

15.2.1打开文件 313

15.2.2关闭文件 315

15.3文件的顺序读写 316

15.3.1读写文本文件 316

15.3.2文本文件应用示例 317

15.3.3二进制文件概述 319

15.3.4读写二进制文件 319

15.4文件的随机读写 322

15.5小结 324

15.6习题 324

第16章 命名空间(教学视频:34分钟) 327

16.1命名空间 327

16.1.1什么是命名空间 327

16.1.2定义命名空间 328

16.2使用命名空间 330

16.2.1使用作用域运算符引用成员 330

16.2.2使用using指令 331

16.2.3使用using声明 332

16.2.4 using指令与using声明的比较 333

16.3类的作用域 333

16.3.1静态数据成员 334

16.3.2静态成员函数 335

16.4作用域 336

16.4.1局部作用域 336

16.4.2全局作用域 338

16.4.3作用域嵌套 339

16.5 this指针 340

16.6小结 342

16.7习题 342

第17章 引用与内存管理(教学视频:31分钟) 345

17.1引用 345

17.1.1引用概述 345

17.1.2引用的使用 346

17.2引用的操作 347

17.2.1引用作为函数参数 347

17.2.2引用作为返回值 348

17.3动态内存分配 349

17.3.1申请动态内存 349

17.3.2释放空间 351

17.3.3 malloc和llee库函数 352

17.4 const引用 354

17.5指针与引用的区别 355

17.6小结 356

17.7习题 357

第5篇 C++编程实践篇 359

第18章 标准模板库STL(教学视频:30分钟) 359

18.1标准模板库 359

18.1.1 STL概述 359

18.1.2 STL的引入 359

18.1.3 STL的组成 360

18.2算法 361

18.3容器 363

18.3.1什么是容器 363

18.3.2向量 363

18.3.3列表 365

18.3.4集合 367

18.3.5双端队列 368

18.3.6栈 369

18.3.7映射和多重映射 371

18.4迭代器 372

18.5小结 373

18.6习题 373

第19章 模板与C++标准库(教学视频:33分钟) 376

19.1模板概述 376

19.1.1模板简介 376

19.1.2模板的引入 377

19.2函数模板 378

19.2.1定义函数模板 378

19.2.2生成模板函数 379

19.2.3函数模板的异常处理 380

19.3类模板 381

19.3.1定义类模板 381

19.3.2模板类 382