📄 c++易学.txt
字号:
本书主要是依照计算机本科专业的实际教学需要来编排内容的。虽然内容的条理可能不
及某些专业的 C++工具书那么清晰,但是这样的次序让初学者比较容易上手。毕竟那些工具
书是面向一些已经掌握 C++或有较高的高级语言程序设计基础的读者。编写此书的主旨就是
不要一下子把什么都说出来,而是一点一点循序渐进地增长读者的能力这样,读者就不会
一下子被那么多难以接受的概念吓住,以至于失去了继续学习的信心。
本书所有程序使用的编译器是 Microsoft Visual C++,并介绍 C++标准,对于 Borland C++
我们不作讨论,以免初学者把各种概念混淆起来,也有效降低了学习的压力。对于一些 C++
中存在却不常用的内容,本书一般一笔带过或不予提及因为这些内容在应试方面不作要求,
在实际使用上也可以由其他方法代替。但是,如果您是一位初学者,那么就请务必要看到本
书的每一个角落。您所遗落的一句话就有可能是一个知识的关键点
本书的内容有四个特点:
1、粗体字:读者必须掌握理解的内容,也是每个知识点的精髓或要点。很多初学者容
易犯的错误也在粗体字中予以提醒。
2、试试看:把一些可能与一般情况不符甚至矛盾的情况列举出来鼓励读者上机试验,
以得到深刻的结论。这些结论可能对以后的学习有所帮助。所以建议有条件的读者务必去试
试看。对于没有条件上机的读者,则需要牢记书中给出的结论。
3、算法时间:向大家介绍一些程序设计的常用算法。其实大多数情况下一个程序就是
把这些算法以不同形式搭建起来。能够掌握这些算法不论是对阅读别人的代码还是对自己设
计程序都有着很大的帮助。
4、习题:帮助大家巩固已经学习的知识。有些题型则是符合应试的要求。从难度上来
说,都算适中。如果读者已经掌握了章节中的知识,那么做这些习题也不会有什么困难。
本书的定位是 C++程序设计的教学辅导书,而不是 C++的工具书或语法书。如果您想
要了解更多深层的内容,请查阅 C++的专业工具书。
目 录
目 录
前篇 ..
过程化的程序设计 1
第一章 良好的开端 1
1.1 软件与程序..1
1.2 程序设计到底要做什么?..1
1.3 选好一种语言.2
1.4Visual C++能够做些什么? 2
1.5 学习程序设计的方法和一些准备..3
第二章 HELLO,WORLD! ..4
2.1 如何创建一个示例程序4
2.2 创建自己的World.6
2.3 输出与输入..7
习题..9
第三章 会变的箱子 .10
3.1 什么是变量?..10
3.2 常用的基本数据类型..12
3.3 不会变的箱子..12
3.4 算术表达式13
习题14
第四章 要走哪条路? 16
4.1 如果…….16
4.2 否则…….20
4.3 爱判断的问号..23
4.4 切换的开关23
习题27
第五章 有个圈儿的程序 ..31
5.1 程序赛车.31
5.2 进维修站和退出比赛..34
5.3 圈圈里的圈圈..36
5.4 当……..38
习题41
第六章 好用的工具 .45
6.1 简单的工具——函数..45
6.2 打造自己的工具.48
6.3 多功能开瓶器..52
6.4 自动的工具55
6.5 给变量和参数起个绰号.56
6.6*函数里的自己 .58
习题59
第七章 好大的仓库 .63
7.1 方便地让电脑处理更多数据..63
7.2 仓库是怎样造成的?..65
目 录
7.3 向函数传递数组.69
7.4 二维数组.71
习题74
第八章 内存里的快捷方式 .78
8.1 什么是指针78
8.2 指针变量的定义和使用.78
8.3 指针的操作80
8.4 指针与保护82
8.5 指针与数组83
8.6 指针与函数84
8.7 更灵活的存储..86
习题88
第九章 自己设计的箱子 ..91
9.1 我的类型我做主.91
9.2 设计一个收纳箱.94
9.3 结构与函数96
9.4 结构数组与结构指针..98
9.5 自行车的链条100
9.6 链表的实现.101
习题.108
中篇
实战程序设计112
第十章 如何阅读程序代码 ..112
10.1 整体把握法..112
10.2 经验法.114
10.3 模拟法.115
习题.116
第十一章 如何调试程序代码 .120
11.1 再谈变量120
11.2 头文件的奥秘.126
11.3 更快更好地完成程序调试..130
11.4 最麻烦的问题.134
11.5 调试工具——Debug ..138
习题.141
第十二章 如何编写程序代码 .144
12.1 程序设计的基本步骤.144
12.2 三类问题144
12.3 函数的递归..149
习题.154
后篇 面向对象的程序设计 ..156
第十三章 初识对象 ..156
13.1 对象就是物体156
13.2 一个字符串也是对象156
13.3 面向对象特点一:封装性.159
目 录
13.4 从数组到向量159
习题.161
第十四章 再识对象 ..162
14.1 类是一种数据类型..162
14.2 公有和私有..163
14.3 成员函数164
14.4 对象、引用和指针..167
习题.167
第十五章 造物者与毁灭者 ..171
15.1 麻烦的初始化.171
15.2 造物者——构造函数.172
15.3 先有鸡还是先有蛋?.175
15.4 克隆技术180
15.5 毁灭者棗析构函数.187
习题.189
第十六章 共有财产泛门笥逊操作符 193
16.1 有多少个结点?193
16.2 类的好朋友..197
16.3 多功能的操作符205
习题.212
第十七章 父与子 213
17.1 剑士·弓箭手·法师的困惑.213
17.2 面向对象特点二:继承性..214
17.3 继承的实现..214
17.4 子类对象的生灭224
17.5 继承与对象指针228
17.6 面向对象特点三:多态性..231
17.7 多态与虚函数.231
17.8 虚函数与虚析构函数.236
17.9 抽象类与纯虚函数..238
17.10 多重继承.241
习题.242
第十八章 再谈输入与输出 ..261
各位读者:
感谢大家对我和我的作品的支持!看到众多网友来信与我交流,肯定我的写作风格、向
我提出众多宝贵的建议,我感到非常高兴。第 17 章将会是我公布在网上的最后一个章节
之后的 2-3 章或许大家以后可以在书店里看到。近期我会和各大出版社联系,讨论出版事宜,
以便更多的读者能够快速踏入C++程序设计的大门。如果您有在出版社工作的朋友,并且看
好我的作品,也欢迎您主动来和我联系!我的邮箱地址为tomatostudio@126.com。
2007 年 7 月 5 日
于上海大学延长校区 计算机学院
易学 C++
前篇 过程化的程序设计
第一章 良好的开端
本章主要讲述一些学习程序设计前需要了解的一些知识和一些学习程序设计的方并
且对 C++语言作了一个简要的介绍。学好这一章,对日后的学习能够起到事半功倍的效果
1.1 软件与程序
随着电脑的普及和科学技术的发展,无纸化办公、电脑辅助设计(CAD——Computer Aid
Design)和电脑辅助制造(CAM——Computer Aid Manufacture)已经渐渐走进我们的日常
工作中。有了电脑的帮助,我们的工作效率得到明显的提升。财务人员不必一天到晚扎在账
本堆里了;报社编辑点一下鼠标就能够发稿了;设计人员只需要把数据输入电脑,就能显示
出一个精确的三维立体模型了。当我们使用电脑的时候,有没有想过人类是如何教电脑学会
这些的呢?
其实我们平时对电脑进行的操作是在与电脑软件(Software)打交道。电脑之所以能够
帮助人类工作,离不开软件的支持。那么软件到底是什么?其实它是看不见摸不着,但却又
能够通过电脑为用户所用的一种东西。打一个比方,电脑的各种硬件(Hardware)设备就像
是人的肉身,而软件就像是人的灵魂。少了软件这个灵魂,那么电脑只能是一堆废铜烂铁。
人们通过编写一款软件,来教会电脑做一些事情。像我们用的 Windows、Word、QQ 甚至游
戏都是软件。
那么,软件和我们说的程序(Program)又有着什么样的关系呢?首先,我们要弄清什
么是程序。从初学者比较容易理解的角度说,程序是电脑执行一系列有序的动作的集合。
通过一个程序,可以使电脑完成某一类有着共同特点的工作。如求解一个一元二次方程或
是找出一组数里面最大的一个数而一款软件,往往是由若干个相关的程序、运行这些程序
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -