《C++编程-从问题分析到程序设计》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:(美)D.S.Malik著;钟书毅等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2003
  • ISBN:7505382411
  • 页数:724 页
图书介绍:本书循序渐进地介绍了C++程序设计的各个方面,包括C++语言的基本概念、结构化程序设计、面向对象编程以及本书介绍C++的一些高级主题。在内容和结构的安排上,本书强调编程实践的重要性,许多简洁易懂的实例贯穿始终,每一章的最后包含丰富的编程练习。此外,本书还注重对C++概念的深入理解,作者通过论述与简单实例相结合的形式,生动地阐明了C++中很多关键的概念。通过本书的系统学习,读者能够很快地掌握C++程序设计的知识并有效地提高编程技术。

1.2计算机历史的简要回顾 1

16.4编程练习:复数 55 1

目 录 1

1.1导言 1

第1章 计算机和编程语言回顾 1

1.3计算机系统的组成 2

1.4计算机语言 3

1.5编程语言的发展 4

1.6处理高级语言程序 5

1.7分析问题-编码-执行 6

1.8面向对象的编程 9

1.9 ANSI/ISO标准C++ 10

1.10小结 10

1.11练习 11

第2章 C++的基本要素 13

2.1 C++程序的基础知识 14

2.2数据类型 16

2.3算术运算符和运算符优先级 20

2.4表达式 22

2.5输入 25

2.6自增和自减运算符 32

2.7输出 34

2.8预处理器指令 39

2.9编程风格和形式 41

2.10赋值语句的更多知识 45

2.11编程实例:长度转换 46

2.12编程实例:找零钱 48

2.13小结 51

2.14练习 52

2.15编程练习 58

3.1 I/O数据流和标准I/O设备 60

第3章 输入/输出 60

3.2在程序中使用预定义函数 64

3.3输入失败 69

3.4输出和格式化输出 72

3.5其他输出格式化工具 77

3.6文件输入/输出 82

3.7编程实例:电影票销售和对慈善机构的捐助 84

3.8编程实例:学生分数 88

3.9小结 91

3.10练习 92

3.11编程练习 93

第4章 控制结构Ⅰ(选择结构) 95

4.1控制结构 95

4.2关系运算符 96

4.3逻辑(布尔)运算符和逻辑表达式 98

4.4选择:if和if…else 104

4.5 switch结构 117

4.6用assert()函数来终止一个程序 122

4.7编程实例:有线电视公司账单 123

4.8小结 127

4.9练习 128

4.10编程练习 132

第5章 控制结构Ⅱ(重复) 134

5.1为什么需要重复结构 134

5.2 while循环(重复)结构 135

5.3编程实例:检查账户余额 143

5.4编程实例:斐波那契数列 150

5.5 for循环(重复)结构 153

5.6编程实例:数字分类 157

5.7 do…while循环(重复)结构 159

5.8 break和continue语句 161

5.9嵌套控制结构 163

5.10小结 164

5.11练习 165

5.12编程练习 172

第6章 用户自定义函数Ⅰ 174

6.1标准(预定义)函数 174

6.3具有返回值的函数 176

6.2用户定义函数 176

6.4编程实例:最大数 184

6.5编程实例:有线电视公司账单问题 185

6.6小结 190

6.7练习 191

6.8编程练习 194

第7章 用户自定义函数Ⅱ 196

7.1 void函数 196

7.2值参数、引用参数和内存分配 204

7.4变量的范围 213

7.3引用参数和返回值函数 213

7.5全局变量的副作用 216

7.6静态和自动变量 216

7.7函数重载:介绍 218

7.8有默认参数的函数 218

7.9编程实例:对数字分类 220

7.10编程实例:数据比较 224

7.11小结 231

7.12练习 232

7.13编程练习 237

8.1枚举类型 240

第8章 用户定义的简单数据类型、命名空间和string类型 240

8.2编程实例:石头、剪子和布的游戏 247

8.3命名空间 255

8.4 string类型 259

8.5编程实例:Pig Latin字符串 266

8.6小结 270

8.7练习 271

8.8编程练习 274

第9章 数组和字符串 276

9.1数组 277

9.2 C字符串(字符数组) 288

9.3关联数组 292

9.4编程实例:代码检测 293

9.5编程实例:文本处理 298

9.6小结 302

9.7练习 303

9.8编程练习 306

10.1顺序表处理 308

第10章 数组的应用和扩展 308

10.2二维和多维数组 320

10.3多维数组 330

10.4编程实例:选举结果 331

10.5小结 344

10.6练习 344

10.7编程练习 346

第11章 递归 349

11.1递归的定义 349

11.2利用递归解决问题 351

11.3递归还是迭代 359

11.4编程实例:将一个数字从二进制表示转换为十进制表示 360

11.5编程实例:将一个数字从十进制转换为二进制 363

11.6小结 365

11.7练习 365

11.8编程练习 367

第12章 记录(结构体) 369

12.1记录(结构体) 369

12.2编程实例:销售数据分析 379

12.3小结 391

12.4练习 391

12.5编程练习 393

13.1类 395

第13章 类和数据抽象 395

13.2数据抽象、类和抽象数据类型 414

13.3结构体与类 415

13.4信息隐藏 416

13.5可执行代码 418

13.6编程实例:糖果机 421

13.7小结 431

13.8练习 432

13.9编程练习 434

第14章 继承和组合 437

14.1继承 437

14.2组合 452

14.3面向对象设计(OOD)和面向对象编程(OOP) 456

14.4编程实例:分数报告 457

14.5小结 473

14.6练习 474

14.7编程练习 479

第15章 指针、类和虚函数 482

15.1指针数据类型和指针变量 482

15.2取址运算符(&) 483

15.3取值运算符(*) 483

15.4类、结构和指针变量 487

15.5初始化指针变量 489

15.6动态变量 490

15.7指针变量的运算 491

15.8动态数组 492

15.9指针的浅(shallow)复制与深(deep)复制 494

15.10类和指针:一些特性 496

15.11继承、指针和虚函数 504

15.12取址运算符和类 508

15.13小结 511

15.14练习 512

15.15编程练习 517

第16章 重载和模板 518

16.1为什么需要运算符重载 518

16.2运算符重载 519

16.3编程练习:clockType 546

16.5重载数组索引(下标)运算符([]) 554

16.6编程练习:newString 556

16.7函数重载 560

16.8模板 561

16.9小结 568

16.10练习 570

16.11编程练习 573

第17章 链表 578

17.1链表 578

17.2作为ADT的链表 587

17.3有序链表 597

17.4双向链表 606

17.5编程实例:音像商店 612

17.6小结 627

17.7练习 627

17.8编程练习 630

第18章 栈和队列 632

18.1栈 632

18.2栈的数组实现 635

18.3程序实例:最大GPA 645

18.4栈的链表实现 648

18.5栈的应用:后缀表达式计算器 658

18.6消除递归:非递归逆序打印链表的算法 664

18.7队列 668

18.8队列的应用:仿真 680

18.9小结 697

18.10练习 697

18.11编程练习 700

附录A保留字 703

附录B运算符的优先级 704

附录C字符集 705

附录D运算符重载 707

附录E在ANSI/ISO标准C++和标准C++中头文件的名称约定 708

附录F头文件 709

附录G系统中数据类型的内存尺寸 714

附录H部分练习答案 715