第1版前言
本书旨在帮助读者学习如何使用C++进行编程。在编写此书的过程中,作者始终遵循“不要一下子把什么都说出来,而是循序渐进地增长读者能力”的原则。这样,读者就不会一下子被众多难以接受的概念吓住,以至于失去了继续学习的信心。作者将抽象的理论通俗化讲解,使它成为一个友好的、便于使用的指南;通俗化了的概念再实例化,突出了本书的实践性学习本质。从而向读者传达这样一个信念:任何人都可以把快乐融入到编程语言C++的学习之中。
本书内容编排上独具匠心,依照过程化的程序设计、实战程序设计、面向对象的程序设计的次序讲解,让初学者更容易上手。学习程序设计是一个循序渐进的漫长过程,在短短的时间内很难完全掌握。若在内容上求精求全,更是难上加难。对初学者来说,知道得越多往往就越是迷茫。所以本书将不常用的技术知识略去,添加了一些常用的算法介绍和可能与后继课程有关联的知识,以帮助大家更快地掌握高级语言程序设计的精髓。
本书的初稿曾在上海一些学校试用,得到了很多学习者的喜爱和广泛的关注,上海《新闻晚报》特意报道,下面是摘自该报纸的报道:
本书的特点
1.本书从初学者的角度讲解C++,降低了C++的学习门槛,是一本编程基础零起点的好教程。通过在网站上提供试读,本书已经得到广大C++编程爱好者的强烈响应和支持。
《易学C++》在各大编程论坛反响强烈,部分转载网站如下:
http://www.programfan.com/club/post-128840-1.html
http://download.youkuaiyun.com/source/227661
http://bbs.bc-cn.net/dispbbs.asp?boardID=56&ID=37649&page=1
http://www.shubulo.com/viewthread.php?tid=32915
2.书中的语言通俗易懂,常以形象的比喻和插图来解释C++的语法和各种概念,便于读者理解。书中介绍的大量实用技巧也是一项特色,介绍的程序阅读、调试技巧和编程思想,是市面上同类书籍少有的。
本书的定位是C++程序设计的入门教材,读者不需要有任何编程经验。本书既介绍C++语法,又讨论使用C++进行编程涉及的概念,并提供了大量实例和详细代码分析,是引导读者开始C++编程的优秀向导。无论读者是刚开始学习编程,还是已经有一些编程经验,书中精心安排的内容都将让你的C++学习变得既快速又容易。
本书约定
程序实例:除少数程序出于教学需要无法通过编译外,其余程序均是完整的代码,在Visual C++ 6.0下通过编译,并能正常运行。
小提示:提醒读者应该注意的各种细节。
试试看:鼓励读者上机试验,以得到深刻的结论。这些结论将对以后的学习有所帮助。建议有条件的读者一定要去努力尝试,没有条件的读者则需牢记书中给出的结论。
算法与思想:介绍程序设计的常用算法和思想。大多数情况下,一个程序就是把各种算法以不同的形式搭建起来。如果能够掌握这些算法,不论是对阅读别人的代码还是对自己设计程序都有很大的帮助。
习题:帮助读者巩固已经学习的知识。如果读者已经完全掌握了章节中的知识,那么完成这些习题也不会有困难。
编程环境:书中程序主要使用的编译器是微软公司的Visual C++ 6.0,对于其他编译器不作讨论,以免初学者把各种概念混淆起来。①
友情提示:如果您是一位初学者,请务必要看到本书的每一个角落。您未阅读到的一句话,有可能是一个关键的知识点。
特别鸣谢
感谢上海市市北高级中学金缨老师、顾梦伟老师传授我许多程序设计的知识。她们在课堂上的实例仍时常在我脑海中浮现,为我的创作带来灵感。
感谢已故恩师——上海大学计算机学院陈毛狗老师,是他生前兢兢业业地教书育人,助我跨入了C++的大门。
感谢上海大学计算机学院赵正德老师、周叔望老师在C++语言和数据结构方面给予我诸多指导。
感谢上海大学计算机学院徐炜民老师、沈云付老师、金翊老师、吕俊老师长期以来对我写作的关心和支持。
感谢上海市北郊高级中学周一民老师在本书作为教材试用期间提出了许多宝贵的建议。
感谢上海大学机自学院陈晨同学为本书的早日出版作出了很多努力。
感谢我身边的亲人、老师、同学、朋友、网友对我写作的支持和鼓励!
由于写作时间仓促,加之水平有限,书中难免有疏漏或错误,希望各位专家、老师、同学能够不吝赐教。如果您对本书有什么建议或者意见,请发送邮件到zhangtao@ptpress.com.cn。
作 者
2008年3月
于上海大学
① 在本书第2版中,将主要使用主流的Visual Studio 2012集成开发环境,但同时介绍了Visual C++ 6.0、Dev-C++等开发环境。程序代码也尽可能符合最新的C++标准,使运行结果与编译器无关。对于更“古老”的编译器,本书中不再讨论。