- 定价:¥36.00
- 校园优惠价:¥32.40 (90折) (马上了解)
- 评分:
(已有147条评价)
- 促销活动:
- 此商品暂时缺货(可留下联系方式,到货将第一时间通知您)
基本信息
编辑推荐
本书是谭浩强教授的又一力作,依据C++标准进行介绍,引导学生学习标准C++,而不仅学习依赖于某一特定环境下的“方言化”的C++ ,教与学的新突破,学习“C++ 程序设计”从此变得容易。
内容简介
计算机书籍
[font color="#FF6600">“中国高等院校计算机基础教育课程体系规划教材”[/font>[/a>
C++是近年来国内外广泛使用的现代计算机语言,它既支持面向过程的程序设计,也支持基于对象和面向对象的程序设计。国内许多高校已陆续开设了C++程序设计课程。但是,由于C++涉及概念很多,语法比较复杂,内容十分广泛,使不少人感到学习难度较大,难以入门。 本书作者深入调查了我国大学的程序设计课程的现状和发展趋势,参阅了国内外数十种有关C++的教材,认真分析了学习者在学习过程中遇到的困难,研究了初学者的认识规律。在本书中做到准确定位,合理取舍内容,设计了读者易于学习的教材体系,并且以通俗易懂的语言化解了许多复杂的概念,大大减少了初学者学习C++的困难。 考虑到许多读者在学习C++前未学过其他语言,本书把入门起点降低,读者不需要具备C语言的基础。本书包括14章,分为4篇: 基本知识;面向过程的程序设计;基于对象的程序设计;面向对象的程序设计。本书内容全面,例题丰富,概念清晰,循序渐进,易于学习。 本书是依据ANSI C++标准进行介绍的,引导读者从一开始就按标准C++的规定编程。本书配有两本辅导教材,即《C++程序设计题解与上机指导》和《C++编程实践指导》。 本书是大学各专业学生学习C++的基础教材,也是适于初学者学习的教材。即使没有教师讲授,读者也能看懂本书的大部分内容。
作译者
谭浩强教授创造了3个世界纪录:(1)20年来他(及和他人合作)共编著出版了130本计算机著作,此外主编了250多本计算机书籍,是出版科技著作数量最多的人。(2)他编著和主编的书发行量超过了4500万册,是读者最多的科技作家。我国平均每30人、知识分子每1.5人就拥有一本谭浩强的书。(3)他和别人合作编著的《BASIC语言》发行1200多万册,创科技书籍发行量的世界纪录。此外他编著的《C程序设计》发行了600万册,他曾在中央电视台主讲了BASIC,FORTRAN,COBOL,Pascal,QBASIC,C,Visual Basic七种计算机语言,观众超过300万人。
在我国学习计算机的人中很少有不知道谭浩强教授的。他善于用容易理解的方法和语言说明复杂的概念。许多人认为他开创了计算机书籍贴近大众的新风,为我国的计算机普及事业做出了重要的贡献。
谭浩强教授曾获全国高校教学成果国家级奖、国家科技进步奖,以及北京市政府授予的“有突出贡献专家”称号。被国家科委、中国科协表彰为“全国优秀科普工作者”。英国剑桥国际传记中心将他列入“世界名人录”。《计算机世界》报组织的“世纪评选”把他评为我国“20世纪最有影响的IT人物”10个人之一(排在第2位)。他的功绩是把千百万群众带入计算机的大门。
目录
第1章 C++的初步知识
*1.1 从C到C++
*1.2 最简单的C++程序
1.3 C++程序的构成和书写形式
1.4 C++程序的编写和实现
1.5 关于C++上机实践
习题
第2章 数据类型与表达式
2.1 C++的数据类型
2.2 常量
2.2.1 什么是常量
2.2.2 数值常量
2.2.3 字符常量
2.2.4 符号常量
2.3 变量
2.3.1 什么是变量
2.3.2 变量名规则
2.3.3 定义变量
2.3.4 为变量赋初值
前言
由于C++牵涉概念很多,语法比较复杂,内容十分广泛,不少人感到学习难度较大,难以入门。许多热情的读者多次向我提出,希望我能在《C程序设计》的基础上,再写一本易于入门的《C++程序设计》,以帮助更多的初学者更顺利地迈进C++的大门。我感到热情难却,责任重大,但由于工作和活动较忙,心有余而力不足,迟迟未能动笔。在各高校老师和出版社同仁的多次催促下,我于2002年1月1日午夜开始动笔,写出了第一页。其后利用工作和活动的空隙断断续续地进行,2003年春季,北京为防治非典(SARS)停止一切集会,使我有机会集中时间和精力,加快了进度。其间数易其稿,终于在2004年春完成了第4稿。
要写好和教好C++程序设计,决不是一个纯技术问题,需要综合考虑多方面因素,做出合理的决策和安排。我调查了我国大学的程序设计课程的现状和发展趋势,了解了国内外C++的教学和使用情况,认真分析了学习者在学习过程中遇到的困难,研究了初学者的认识规律,并且参阅了国内外数十种有关C++的教材,形成了以下几点看法,并体现在本教材中。
1. 教材必须准确定位,合理取舍内容。写书首先要弄清楚本书是为什么人写的,他们学习C++的目的是什么,应当学到什么程度。应当声明:本书的对象不是C++的专业开发人员,而是高校各专业的大学生,他们并无从事程序设计的实际经验,将来也不一定是C++的专业开发人员。众所周知,研制C++的初衷是为了解决大型软件开发中遇到的问题,提高软件的开发效率。只有参加过研制大型软件的人才能真正体会到C++的优越性,并善于利用C++的独特机制去进行软件开发。
大学生在学校学习期间学习C++的目的是了解面向对象程序设计方法,能够利用C++编写相对简单的程序,为以后进一步学习和应用打下良好的基础。不可能设想,通过几十小时的学习,能使一个没有程序设计基础的人变成一个熟练的C++开发人员。应当有一个实事求是的分析和估计。因此,本书着力于使读者对C++的全貌和作用有基本的认识,用容易理解的方法讲清楚有关的基本概念和基本方法,而不去罗列C++语法中各种烦琐的细节。否则将会使篇幅过大(许多国外的书厚达近千页),而且会冲淡重点,主次不分,使读者感到枯燥无味。不应当把教材写成手册,教材的任务是用读者容易理解的方法讲清基本的概念和方法,而手册的任务则是给出一个包罗万象的备查资料。读者在掌握基本的概念和方法的基础上,在从事实际程序开发工作过程中遇到具体问题时,查阅一下手册即可。
2. 需要选好学习C++的切入点。对于怎样介绍C++,国内外的教材有多种模式。有的不介绍面向过程的程序设计,一开始就直接介绍类和对象;有的先介绍面向过程的程序设计,然后介绍面向对象的程序设计,各有特点。作者认为:不应当把面向过程和面向对象的程序设计对立起来,任何程序设计都需要用到面向过程的知识。作为一个程序设计人员,要掌握面向过程的程序设计,也要掌握面向对象的程序设计。以前,人们通过C语言学习面向过程的程序设计,再通过C++学习面向对象的程序设计。其实,C++并不是纯粹的面向对象的语言,它是一种混合语言。学习C++既可以编写面向过程的程序,也可以编写面向对象的程序。在参考、比较国内外多种教材的基础上,作者确定了本书的结构。全书分为4部分:第1部分介绍C++的基本知识;第2部分介绍C++面向过程的程序设计;第3部分介绍C++基于对象的程序设计;第4部分介绍C++面向对象的程序设计。许多教师的实践表明,以面向过程的程序设计作为切入点,从编写简单的程序开始,循序渐进,由面向过程到面向对象,逐步深入,比较符合读者的认识规律,每一步的台阶都比较小,学习难度不大,读者容易理解。这样,人们既可以通过C语言学习面向过程的程序设计,也可以直接通过C++去学习面向过程和面向对象的程序设计。读者可以根据需要选择。
3. 应设计合适的教材体系。C++程序设计牵涉到面向对象程序设计的理论、C++语言的语法以及算法等三个方面的内容,其中每一方面都包含十分丰富的内容,都可以分别单独成书。显然在一本教材中深入、详细地介绍以上3个方面的知识是不可能的,必须把它们有机地结合起来,综合应用。不同的书对此采取不同的写法,侧重点有所不同,各有道理,也各有优缺点,适合于不同的读者。需要在教学实践中检验,取长补短,不断完善。
作者认为:要进行C++程序设计当然需要了解面向对象程序设计的有关概念,但是本课程毕竟不是一门面向对象程序设计的理论课程,在本书中不是抽象地介绍面向对象程序设计的理论,而是在介绍C++语言的特点和应用过程中自然地引出面向对象程序设计的有关概念,通过C++的编程过程理解面向对象程序设计方法。在介绍程序设计过程中,介绍有关的算法,引导读者思考怎样构造一个算法。编写程序的过程就是设计算法的过程。要用C++编程序,最基本的要求是正确掌握和运用C++。由于C++语法复杂,内容又多,如果对它缺乏系统的了解,将难以真正应用,编出来的程序将会错误百出,编译出错,事倍功半。本书的做法是全面而系统地介绍C++的主要特点和功能,引导读者由简而繁地学会编写C++程序。有了C++编程的初步基础后,再进一步提高,掌握更多更深入的算法。这样的方法可能符合大多数学习者的情况,降低了学习难度。
4. 应当体现C++标准。C++是从C语言发展而来的,为了与C兼容, C++保留了C的许多用法,人们在编写C++程序时也常常沿用C的某些传统用法。例如,主函数为void类型,无返回值;头文件带后缀.h;使用系统库时不使用命名空间等。但是,ANSI C++标准有新的规定,要求主函数为int类型,如果程序正常执行则返回0值;系统头文件不带后缀.h;使用系统库时使用命名空间std;增加了字符串类型string等。虽然C++仍然允许使用从C继承来的传统用法,但作者认为作为教材应提倡C++的新方法,而不应过分适就C的习惯。应当引导大学生和所有读者从一开始就按照C++标准编写程序,养成C++的编程风格。本书各章都是依据C++标准介绍的,同时也说明允许使用的C的用法。
在本书中,程序的形式如下:
# include [iostream] // 头文件不带后缀.h
# include [string] // 包含string头文件
using namespace std; // 使用系统库时使用命名空间std
int main( ) // 主函数为int类型
{
string str; // 定义字符串变量str
return 0; // 程序正常执行则返回0
}
5. 应引导学生学习标准C++,而不仅学习依赖于某一特定环境下编译和的"方言化"的C++。本书介绍的是标准C++,读者在学习过程中可以在不同的环境下运行自己的C++程序,但它们只是被当作编译器来使用。不宜喧宾夺主,把过多的精力放在学习某一编译系统的特殊环境和具体细节上,学习的重点应当是C++本身。读者应当能够在不同的平台上(例如Windows环境和非Windows环境) 编译和运行C++程序。
序言
从20世纪70年代末、80年代初开始,我国的高等院校开始面向各个专业的全体大学生开展计算机教育。特别是面向非计算机专业学生的计算机基础教育,牵涉的专业面广、人数众多,影响深远。高校开展计算机基础教育的状况将直接影响我国各行各业、各个领域中计算机应用的发展水平。这是一项意义重大而且大有可为的工作,应该引起各方面的充分重视。
20多年来,全国高等院校计算机基础教育研究会和全国高校从事计算机基础教育的老师始终不渝地在这片未被开垦的土地上辛勤工作,深入探索,努力开拓,积累了丰富的经验,初步形成了一套行之有效的课程体系和教学理念。20年来高等院校计算机基础教育的发展经历了3个阶段:20世纪80年代是初创阶段,带有扫盲的性质,多数学校只开设一门入门课程;20世纪90年代是规范阶段,在全国范围内形成了按3个层次进行教学的课程体系,教学的广度和深度都有所发展;进入21世纪,开始了深化提高的第3阶段,需要在原有基础上再上一个新台阶。
在计算机基础教育的新阶段,要充分认识到计算机基础教育面临的挑战:
(1) 在世界范围内信息技术以空前的速度迅猛发展,新的技术和新的方法层出不穷,要求高等院校计算机基础教育必须跟上信息技术发展的潮流,大力更新教学内容,用信息技术的新成就武装当今的大学生。
(2) 我国国民经济现在处于持续快速稳定发展阶段,需要大力发展信息产业,加快经济与社会信息化的进程,这就迫切需要大批既熟悉本领域业务,又能熟练使用计算机,并能将信息技术应用于本领域的新型专门人才。因此需要大力提高高校计算机基础教育的水平,培养出数以百万计的计算机应用人才。
(3) 从21世纪初开始,信息技术教育在我国中小学中全面开展,计算机教育的起点从大学下移到中小学。水涨船高,这样也为提高大学的计算机教育水平创造了十分有利的条件。
迎接21世纪的挑战,大力提高我国高等学校计算机基础教育的水平,培养出符合信息时代要求的人才,已成为广大计算机教育工作者的神圣使命和光荣职责。全国高等院校计算机基础教育研究会和清华大学出版社于2002年联合成立了"中国高等院校计算机基础教育改革课题研究组",集中了一批长期在高校计算机基础教育领域从事教学和研究的专家、教授,经过深入调查研究,广泛征求意见,反复讨论修改,于2004年春提出了新的高校计算机基础教育改革思路和课程方案,并编写了《中国高等院校计算机基础教育课程体系2004》(简称CFC 2004),由清华大学出版社出版。该课题受到各方面的关注、支持和欢迎,大家一致认为CFC 2004提出了一个既体现先进又切合实际的思路和解决方案。
为了实现课题研究组提出的要求,必须有一批与之配套的教材。教材是实现教育思想和教学要求的重要保证,是教学改革中的一项重要的基本建设。如果没有好的教材,提高教学质量只是一句空话。要写好一本教材是不容易的,不仅需要掌握有关的科学技术知识,而且要熟悉自己工作的对象、研究读者的认识规律、善于组织教材内容、具有较好的文字功底,还需要学习一点教育学和心理学的知识等。一本好的计算机基础教材应当具备以下5个要素:
(1) 定位准确。要十分明确本教材是为哪一部分读者写的,要有的放矢,不要不问对象,提笔就写。
(2) 内容先进。要能反映计算机科学技术的新成果、新趋势。
(3) 取舍合理。要做到"该有的有,不该有的没有",不要包罗万象、贪多求全,不应把教材写成手册。
(4) 体系得当。要针对非计算机专业学生的特点,精心设计教材体系,不仅使教材体现科学性和先进性,还要注意循序渐进、降低台阶、分散难点,使学生易于理解。
(5) 风格鲜明。要用通俗易懂的方法和语言叙述复杂的概念。善于运用形象思维,深入浅出,引人入胜。
为了推动各高校的教学,我们愿意与全国各地区、各学校的专家和老师共同奋斗,编写和出版一批具有中国特色的、符合非计算机专业学生特点的、受广大读者欢迎的优秀教材。为此,我们成立了"中国高等院校计算机基础教育课程体系规划教材"编审委员会,全面指导本套教材的编写工作。
这套教材具有以下几个特点:
(1) 全面体现CFC 2004的思路和课程要求。本套教材的作者多数是课题研究组的成员或参加过课题研讨的专家,对计算机基础教育改革的方向和思路有深切的体会和清醒的认识。因而可以说,本套教材是CFC 2004的具体化。
(2) 教材内容体现了信息技术发展的趋势。由于信息技术发展迅速,教材需要不断更新内容,推陈出新。本套教材力求反映信息技术领域中新的发展、新的应用。
(3) 按照非计算机专业学生的特点构建课程内容和教材体系,强调面向应用,注重培养应用能力,针对多数学生的认知规律,尽量采用通俗易懂的方法说明复杂的概念,使学生易于学习。
(4) 考虑到教学对象不同,本套教材包括了各方面所需要的教材(重点课程和一般课程;必修课和选修课;理论课和实践课) ,供不同学校、不同专业的学生选用。