《挑战C++程序语言》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:蔡文辉等著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2002
  • ISBN:7111107764
  • 页数:463 页
图书介绍:本书以简单的实例来说明C++语言的结构、数据类型的种类、流程的控制方法、面向对象程序设计方法、对象的继承机制、运算符的重载以及多态性等。

第1章 程序设计基本概念 1

1.1 计算机的过去与现在 2

1.2 计算机硬件结构 3

1.3 计算机软件 5

1.3.1 操作系统 5

1.3.2 应用软件 6

1.3.3 程序语言 6

1.4 程序设计方法 7

第2章 流程图 11

2.1 简介 12

2.2 范例 15

问题练习 29

第3章 C++程序语言初步 31

3.2 C++的程序结构 32

3.1 前言 32

3.3 变量与常量 38

3.4 数据类型(Data Type) 39

3.4.1 整数(Integer) 40

3.4.2 浮点数(Floating Point) 41

3.4.3 字符(Character)与字符串(String) 45

3.4.4 布尔型 47

3.4.5 枚举型 49

3.4.6 数据类型转换 51

3.5 操作数与运算符 53

3.5.1 算术运算符 54

3.5.2 递增(++)、递减(--)运算符 54

3.5.3 赋值(=)与复合赋值(op=)运算符 56

3.6 结论 58

问题练习 59

第4章 选择语句与重复语句 63

4.1 前言 64

4.2 关系运算符、逻辑运算符 64

4.2.1 关系运算符 64

4.2.2 逻辑运算符 66

4.2.3 运算符的优先级 66

4.3 if语句 66

4.4 switch语句 73

4.5 while语句 80

4.6 do while语句 83

4.7 for语句 85

4.8 break语句 89

4.10 goto label 90

4.9 continue语句 90

4.11 选择语句与重复语句的应用 92

4.11.1 十进制转换成二进制 92

4.11.2 求不大于整数n的质数 95

4.12 结论 97

问题练习 98

第5章 数组与结构 101

5.1 前言 102

5.2 数组(Array) 102

5.2.1 数组的定义与初始值设定 102

5.2.2 数组数据的访问 109

5.2.3 字符数组 111

5.3 结构(Structure) 115

5.3.1 结构的声明与初始值设定 115

5.3.2 结构中的结构 118

5.3.3 结构数据成员的访问 119

5.3.5 结构与类的差异 122

5.4 数组与结构的应用 122

5.4.1 转置矩阵 122

5.3.4 结构指针 122

5.4.2 反射矩阵 125

5.4.3 选择排序法 127

5.4.4 插入排序法 130

5.4.5 二元搜寻法 133

5.4.6 堆栈(Stack) 137

5.4.7 队列(Queue) 138

5.5 结论 139

问题练习 140

第6章 指针 143

6.2 指针(Pointer) 144

6.1 前言 144

6.3 字符指针 148

6.4 字符串指针 150

6.5 数组指针 151

6.6 结构指针 153

6.7 动态内存配置 155

6.8 结论 158

问题练习 159

第7章 输入与输出 161

7.1 前言 162

7.2 格式化的输出 162

7.2.1 设定输出宽度 162

7.2.2 设定对齐方式 163

7.2.4 设定以小数点或科学记号方式输出 165

7.2.3 设定输出的小数点位数 165

7.2.5 格式化标志 166

7.3 字符、字符串的输入与输出 167

7.3.1 字符的输入与输出 167

7.3.2 字符串的输入与输出 169

7.4 文本数据的存取 172

7.4.1 文本文件的存取 173

7.4.2 文件的打开模式 179

7.4.3 二进制文件的存取 183

7.5 结论 187

问题练习 188

第8章 进一步讨论字符 191

8.2 字符的应用 192

8.2.1 字符的定义与赋值 192

8.1 前言 192

8.2.2 字符的运算 194

8.2.3 控制符 195

8.2.4 测试字符 196

8.2.5 字符数组 198

8.3 字符串的应用 200

8.3.1 字符串的定义与赋值 200

8.3.2 字符串的链接 202

8.3.3 字符串的长度 205

8.3.4 子字符串 206

8.3.5 比较字符串大小 207

8.3.6 寻找某字符串 211

8.3.7 寻找特定字符 214

8.3.8 插入字符串 216

8.3.9 替换字符串内容 218

8.3.10 删除子字符串 219

8.4 结论 221

问题练习 223

第9章 函数 225

9.1 前言 226

9.2 函数的定义与声明 226

9.2.1 函数的定义 226

9.2.2 函数的声明——函数原型 227

9.2.3 调用函数 227

9.3 C++的程序结构 230

9.4 标识符的作用域 231

9.5 参数的传递 236

9.5.1 传值调用(Call By Value) 236

9.5.2 传址调用(Call By Address) 238

9.5.3 引用调用(Call By Reference) 243

9.6 内联(inline)函数 244

9.7 递归函数(Recursive Function) 247

9.8 主程序的实参 252

9.9 函数的应用 254

9.9.1 系统函数:随机数发生器rand()与random(n) 254

9.9.2 系统函数:日期与时间getdate()与gettime() 257

9.9.3 系统函数:ceil(x)与floor(x) 259

9.9.4 系统函数:平方根sqrt(x) 260

9.9.5 系统函数:次方pow(x,y) 261

9.9.6 输出空格与空行 262

9.9.7 布尔函数 264

9.9.8 冒泡排序法 265

9.9.9 堆栈的实作(使用数组) 269

9.9.10 堆栈的制作(使用链接串行结构) 271

问题练习 275

9.10 结论 275

第10章 预处理指令、程序文件的分割与异常处理 279

10.1 前言 280

10.2 预处理指令 280

10.2.1 #include 280

10.2.2 #define与#undef 281

10.2.3 #if、#ifdef与#ifndef 283

10.3 程序文件的分割 284

10.3.1 变量的范围法则与外部变量 285

10.3.2 名空间(Namespace) 290

10.4 异常处理 296

10.5 结论 302

问题练习 303

第11章 面向对象的基本概念 305

11.1 软件危机 306

11.2 回归自然 307

11.3 面向对象的问题分析 313

11.4 面向对象的程序语言 314

问题练习 315

第12章 类的定义 317

12.1 前言 318

12.2 类的声明 318

12.2.1 结构的定义 318

12.2.2 声明 321

12.3 成员函数的定义与内联函数 323

12.4 构造函数与析构函数 327

12.5 合成使用类 332

12.6 静态的类成员 336

12.7 结论 339

问题练习 340

第13章 运算符的重载 343

13.1 前言 344

13.2 友元函数与this指针 344

13.2.1 友元函数 344

13.2.2 this指针 346

13.3 重载的基本概念 348

13.3.1 运算符 348

13.3.2 定义运算符重载 350

13.4 流运算符重载 350

13.5 一元运算符重载 354

13.5.1 取址运算符 354

13.5.2 !运算符 355

13.5.3 ++与--运算符 357

13.6.1 下标运算符[] 361

13.6 二元运算符重载 361

13.6.2 赋值运算符 363

13.6.3 其他的二元运算符 364

13.7 实用性的Date类 365

13.8 结论 377

问题练习 378

第14章 继承 381

14.1 前言 382

14.2 继承的声明 383

14.2.1 基类与派生类 383

14.2.2 派生类的定义 384

14.3 构造函数与析构函数的使用 387

14.4 类的赋值问题 390

14.5 多重继承 392

问题练习 396

14.6 结论 396

第15章 虚函数与多态性 399

15.1 前言 400

15.2 虚函数的声明 401

15.3 抽象类 407

15.4 虚析构函数 409

15.5 结论 417

问题练习 417

第16章 软件工程简介 419

16.1 前言 420

16.2 何谓成功的信息系统开发项目 421

16.3 软件开发程序 421

16.4 软件开发方法 425

16.4.1 结构化方法 425

16.4.2 面向对象方法 433

16.5 软件开发工具 436

16.6 软件开发文件 437

16.6.1 为什么需要软件开发文件 437

16.6.2 软件分类原则 437

16.6.3 软件开发过程的文件 438

16.7 软件开发管理 439

16.7.1 项目管理 439

16.7.2 建构管理 439

16.8 结论 440

附录 441

附录A 流程图范例程序 442

附录B C++保留字 459

附录C ASCII码表 460

附录D 运算符的优先级 461

参考文献 463