C和C++基础教程与题解(第2版)

C和C++基础教程与题解(第2版)
作 者: Timothy Ramteke 施平安 施平安
出版社: 清华大学出版社
丛编项: 国外经典教材·计算机科学与技术
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: C
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  TimothyS.Ramteke,DeVryUniversity计算机信息系教授。他是LibaryCommitte.ATS.ACM,IEEE的会员。

内容简介

本书既介绍了面向过程程序设计,又介绍了面向对象程序设计,书中语法的介绍与面向对象的原理、实践、分析和设计紧密地结合在一起。每个单元包括正文、练习、实验、问答题和程序设计部分,此种安排颇具匠心,帮助读者完全理解每个单元的内容。本书既可以作为大专院校计算机及相关专业的程序设计基础课程的教材,也可以作为C和C++语言的自学教材。

图书目录

第1单元函数和数据输出1

正文1

学习面向对象程序设计所需的步骤1

什么是函数1

C和C 中的函数3

编写main 的各种方法5

使用C 的cout7

程序运行8

练习9

实验12

printf 函数13

使用cout对象17

问答题18

程序设计19

附加主题20

其他打印方法20

更多的转义符20

使用cout格式化输出21

第2单元变量与赋值23

正文23

数据类型23

变量属性26

常量27

两个新的C 数据类型(选学)28

练习29

数值变量和算术运算29

字符和字符串32

变量地址和作用域33

实验35

赋值语句35

整型与浮点型36

字符串37

变量属性40

问答题41

程序设计43

附加主题44

一些算术主题44

C的define声明44

第3单元对象. 消息和数据输入47

正文47

日常生活中的对象和消息47

cout和cin对象50

面向对象的基本概念回顾51

string类52

字符和字符串回顾53

实例54

读入字符串和string对象55

scanf 函数58

练习58

类和对象58

数据输入60

实验61

getline 函数(选学)64

scanf 函数(选学)65

问答题66

程序设计68

第4单元循环69

正文69

流程图70

循环的编码71

使用while循环重写上述程序71

其他编写循环的方法72

dowhile循环73

条件运算符73

最后一个例子74

练习75

实验79

问答题83

程序设计84

第5单元循环中的数据读取86

正文86

练习88

实验93

问答题97

程序设计98

附加主题98

EOF字符98

使用连续的输入控制循环99

·xii·第6单元if语句102

正文102

硬币分类器实例103

AND, OR, NOT, continue和break106

条件求值108

条件运算符?:108

switch语句108

练习109

决策表109

按顺序放置3个数据项111

真值表114

缩进115

实验116

分类选择116

最大值与最小值122

问答题125

程序设计127

附加主题128

连续投掷硬币示例128

第7单元数组131

正文131

数组的基本知识131

字符串的处理132

数值型数组的处理133

数组的作用134

数组处理实例135

数组的查找136

练习138

数组基本知识138

数组打印139

数组元素的处理140

数组的读取142

并行数组的处理143

实验144

元素值与元素索引对比144

数组元素移位146

并行数组147

元素的选择与交换148

问答题150

程序设计152

附加主题152

折半查找152

第8单元嵌套循环和二维数组156

正文156

顺序循环和嵌套循环156

二维数组158

string对象的二维数组159

练习162

嵌套循环162

二维数组163

实验165

嵌套循环165

二维数组167

把数据读入string对象的数组168

字符串数组169

问答题170

程序设计171

附加主题172

字符型二维数组172

选择排序174

跟踪175

第9单元不带返回的函数177

正文177

函数的好处177

关于函数178

传递数组和标量给函数180

练习182

实验189

问答题197

程序设计200

附加主题200

使用数组实现链表200

第10单元带返回的函数206

正文206

从函数返回值206

菜单驱动的程序实例208

练习212

实验215

问答题219

程序设计220

附加主题(递归)221

·xiii·第11单元结构223

正文223

结构数组225

函数使用结构示例226

复合结构228

练习229

实验233

问答题238

程序设计239

第12单元指针241

正文241

动机241

一个简单的类比241

理解指针242

指针的正确使用244

数组和指针247

实例248

练习250

比较指针和数组252

复习与函数253

实验256

问答题264

程序设计265

第13单元指针与结构267

正文267

简介267

指针数组267

结构指针270

malloc 和free 函数270

链表271

链表使用实例273

指针运算276

练习278

双向链表278

指针运算283

实验285

结构指针287

指针运算291

问答题293

程序设计295

附加主题296

双向链表296

第14单元C中的文件I/O301

正文301

数据缓冲和处理类型301

二进制文件和文本文件302

文件的打开与关闭302

I/O函数303

顺序文件更新303

示例141的跟踪图304

练习308

实验312

问答题319

程序设计320

第15单元抽象322

正文322

面向对象程序设计--一种新的思维方式322

为什么先学习C语言323

OOP的研发323

OO方法的好处323

城堡类比324

抽象325

实例326

接口326

封装326

类327

对象328

成员函数328

继承和多态性330

小结332

练习333

实验338

问答题342

程序设计343

·xiv·第16单元分析344

正文344

面向对象软件的生命期344

需求规范345

会议345

CRC卡片346

识别类347

责任347

协作者348

示例161(及附加讨论)348

练习352

实验358

问答题362

程序设计363

第17单元设计365

正文365

Jacobson的交互图365

实现阶段367

练习371

实验379

问答题386

程序设计386

第18单元C 基础387

正文387

指针回顾387

引用388

内联函数389

指针和函数390

在类中使用内联函数391

构造函数和析构函数392

重载394

练习395

引用395

在函数中使用const397

构造函数与析构函数398

实验400

引用400

内联函数402

构造函数与析构函数403

函数重载404

问题405

程序设计407

第19单元动态对象409

正文409

动态内存分配409

动态对象的数组411

指针数组412

在构造函数中使用new运算符413

动态对象数组415

动态指针数组418

练习422

实验429

问答题434

程序设计435

第20单元继承437

正文437

理解继承437

什么是合适的继承438

示例440

练习445

实验452

问答题460

程序设计462

第21单元多态性和重载464

正文464

OOP的三大概念464

日常生活中的多态性464

多态性的额外好处467

动态绑定469

C 中的重载方法470

C 中的重载运算符472

友元函数475

重载赋值运算符477

赋值与初始化479

ClineLomow的大三(Big Three)定律483

练习483

现实生活中的多态性483

C 中的多态性484

重载运算符485

开发一个适合ClineLomow的大三定律的案例486

实验489

重载方法489

重载运算符490

大三定律492

问答题494

程序设计495

·xv·第22单元覆盖496

正文496

虚函数496

多态对象499

覆盖与重载501

抽象基类503

练习504

实验511

问答题515

程序设计516

第23单元标准模板库518

正文518

动机518

vector519

模板简介521

STL简介525

算法和迭代器527

示例234529

display 函数和示例235532

插入迭代器533

其余算法534

实验536

编写自己的模板536

问答题548

程序设计549

第24单元异常处理551

正文551

使用错误代码551

使用异常553

实验555

问答题563

程序设计564

第25单元使用流类进行文件I/O565

正文565

写入文件流567

追加文件和读取文件568

实验570

问答题576

程序设计576

第26单元C 指针专题577

正文577

this指针577

函数指针578

指针和常量580

软指针582

指向对象的软指针584

练习585

实验588

问答题592

程序设计592

附录594

安装C

Builder 5.5594