C/C++及其相关
-
C程序设计周作厚主编本书是以C语言的新标准——ANSIC为基础,以目前微机上流行的C语言版本—TurboC等为主线,全面系统地介绍了C语言及其利用C语言进行程序设计。本书共12章。主要内容包括:C语言的产生和发展,C语言的特点;C源程序的组成和格式以及执行过程;简单数据类型的特性和使用;各种运算符及它们运算顺序;各种表达式;程序流程流程控制的方法;数组及使用;函数的类型和函数之间的数据传递;结构体、公用体和枚举类型及它们的使用;指会的概念和使用;编译预处理;文件操作;C语言程序设计的实例。书中还给出大量的例题,很多例题都有实用程序。且每章后都配有大量的习题。这些习题可作为课后练习,也可作为上机实习题或自我测试题。本书可作为计算机专业及相关专业的高职、高专的通用教植物。也可为相关专业的本科生教材。可供从事计算机软件开发的技术人员作为参考书。也可供教师作为教学的参考书。 -
大规模C++程序设计(美)John Lakos著;李师贤[等]译;李师贤译这是一本为所有从事软件开发工作(例如数据库、操作系统、编译程序及框架)的C++软件专业人员而写的权威著作。它是第一本实际演示如何开发大型C++系统的书,并且是一本少有的面向对象设计的书,尤其侧重于C++编程语言的实践方面。JohnLakos在MentorGraphics公司工作。该公司编写的大规模C++程序比大多数其他公司要多,并且是首先尝试真正的大规模C++项目的公司之一。Lakos从1987年起就一直使用C++进行专业编程,并于1990年在哥哥伦比亚大学开设了面向对象编程方面的研究生课程。在本书中,Lakos介绍了将大型系统分解成较小且较好管理的组件层次结构(不是继承)的过程。这种具有非循环物理依赖的系统的维护、测试和重用从根本上比相互紧密依赖的系统更容易且更经济。此外,本书还说明了遵从好的物理设计和逻辑设计规划的动机。Lakos给读者提供了一系列用来消除循环依赖、编译时依赖和连接时(物理)依赖的特殊技术。 -
C++高效编程(美)R. Alexander,(美)G. Bensley著;王峰,史金虎译;王峰译专家作者Rene Alexander与Graham Benstey将在本书中详尽阐述C++优化技术和技巧:学习书中的现实应用程序、实用诀窍、解决方案与技术,可轻松编写高效而理想的应用程序、阅读本书后,你的编程技术必定将再迈新高. 学习优化原理,编写高效程序: ●研究不同硬件设备的,性能●应用编程能力来弥补操作系统不足 ●洞察客户评价程序性能的视角 ●开发识别关键程序模块的测量技术 ●寻求有助于确定程序性能的工具 ●使用科学度量方法研究程序功能关系 ●学习定义与使用程序模块的新方法 ●改善数据输入输出性能 ●全新观点考察C/C++变量 Rene Alexander十年前开始了自己的职业生涯,当时在一家小型公司中从事股票管理系统与医疗救助专家系统的开发工作(C/C++)。几年后,他加盟全球最大的一家跨国公司,从事数字音频和数字视频领域内的嵌入式软件设计和开发工作(C/C++):目前,他拥有了自己的公司:他勤勤恳恳,每周工作达60小时。 Graham Bensley一直从事软件开发工作,早在80年代初就参加过MSX系统开发、在创建自己的软件公司前,他曾经任职于一家全球领先的电子公司,从事卫星传输软件、Internet工具与数字视频系统的开发工作。 -
实用C语言简明教程顾小晶主编本书为高等学校培养应用型人才教材之一,由具有丰富教学经验的一线教师编写。本书编者根据应用型高校学生的特点,结合多年讲授C语言的教学经验,力求做到:注重基础、强调方法、突出实用和强化实践。全书在全面阐述基础语法、语言特点的基础上,强调程序设计的方法和程序设计的风格。全书内容在满足教学大纲和计算机等级考试要求的同时,对于实际应用中C语言的不易掌握之处和灵活性加以重点说明。本书重视实践环节,除了每章提供上机实习题外,有专门章节进行上机实验和课程设计指导以及程序调试方法的介绍。同时,在全书的体系结构上也作了精心编排;重点突出、难点分散、深入浅出、循序渐进。本书是高等院校及相关专业的教材,也可作为程序设计人员学习的参考教材。 -
数据结构学习指导与题解薛超英编这是和华中科技大学出版社出版的“面向21世纪计算机专业本科系列教材”中的《数据结构——用Pascal语言、C++语言对照描述算法》(第二版)配套的教学辅导书。内容包括教材中每一章的基本知识点、主要教学内容、同步练习题和解答等。提供同步练习题约有1100道,分9组,对应于教材的第1章至第9章。每一组习题包括判断题、选择题、填空题、图表计算题、算法填空题和算法设计题等6种题型。这些题型都是目前各类考试如研究生入学考试、自学考试和等级考试中常见的题型。每道习题都有参考答案,其中每个算法设计题的参考答案均由解题思路和算法两部分构成。和教材的风格一致,本书中每个算法也用PasCal语言、C++语言对照描述,并且都是经过作者上机调试的。本书的最后还有4套模拟试卷。本书的习题与解答由作者精心设计与编排,内容丰富、覆盖面广,对教师讲授和学生学习“数据结构”课程都能起到较好的帮助作用,也可作为有关专业的研究生入学考试和其它各类考试的参考书。 -
嵌入式C编程与Atmel AVR(美)Richard Barnett,(美)Larry O'Cull,(美)Sarah Cox著;周俊杰等译本书是目前可以获得的最佳书籍之一。对于初学者,本书将会是极好的选择。随着对AtmelAVRRISC处理器的介绍,读者会立即进入嵌入式C语言教程之中。欢迎进入嵌入式编程和微控制器应用的世界!使用日益流行且价格适宜的AtmelAVR嵌入式控制器作为学习平台。本书是目前可以获得的最佳书籍之一。对于初学者,本书将会是极好的选择。随着对AtmelAVRRISC处理器的介绍,读者会立即进入嵌入式C语言教程之中。在本书中,读者将学习C语言的变量和常量、运算符和表达式、控制语句、指针和数组、存储器类型、预处理指令、实时方法等等。本书特点:强调嵌入式系统编程,包括大量的示例,本书通过这些示例来引导读者入门,进而学习高级嵌入式C编程技术。本书第4章完整地介绍了CodeVisionAVRCCompiler,该章提供了关于IDE安装与操作以及CodeWizardCodeGenerator的使用的一个清晰的、循序渐进的指导。本书还介绍了外设的使用,如键区、LCD显示器以及其他常用的嵌入式微控制器相关设备。作者简介:RICHARDH.BARNETT是PURDUE大学的电子工程技术专业的教授。在教学方面,BARNETT博士获得了很多奖项,包括作为PURDUE大学杰出的毕业生教师而获得了CHARLESB.MURPHYAWARD,同时因为教学出色而获得ELECTRICALENGINEERINGTECHNOLOGYAWARD以及CTSELECTRICALENGINEE-RINGTECHNOLOGYAWARD。SARAHA.COX获得了PURDUE大学的计算机和电子工程两个专业的学士学位。她目前担任PROG-RESSIVERESOURCESLLC的软件开发主任,并开发了一些软件项目,包括消费品和工业品及测试设备。LARRYD.O''''CULL获得了PURDUE大学的电子工程技术专业的学士学位,目前是PROGRESSIVERESOURCESLLC的高级操作员,他专攻于具有创新性的商业、工业和消费者产品开发。 -
C++编程基础(美)Steve Heller著;胡凤燕,朱德爽等译这是初学者学习标准C++的一本理想书籍。本书的写作体例非常有特色,其内容以初学者(一个聪明的女孩,苏珊)提出问题、编程高手(本书的作者,史狄夫)回答问题的形式为主线进行组织,知识讲解和概念分析非常适合初学者的思维。而且,这里的对话都是真实对话的记录,对话中的男女主人公演绎了一段动人的爱情故事,现在他们建立了一个幸福的家庭。本书以对话的方式,逐步深入地讲解C++编程中的概念和技巧,特别讲述初学者容易混淆的概念,使得初学者可以快速掌握C++的开发技巧。本书首先介绍最基本的编程概念,让初学者解除编程的神秘面纱并知道如何进行编程,然后介绍编程的基础知识,通过开发几个比较实用的例子来介绍如何使用C++语言进行编程,这几个例子分别是:商店的库存管理、创建自定义的string类以及家庭物品清单项目。通过这些例子,读者可以确切地理解专业程序设计人员是如何开发一个完整的应用程序并部署于实际环境的。贯穿本书,作者介绍了C++的一些重要语言特征,如类、标准类库、数组、指针、封装、继承、多态性、枚举和名字空间等。与一般的初学者用书不同,本书使用的是符合产业标准的代码,读者可以学习到最新、最实用的语法和标准C++开发工具。附带光盘中含有所有的示例代码和标准C++编译器,方便读者的学习。前言大多数科技书所存在的基本问题是作者太想当然。一个人一旦成为高科技领域(如C++编程)的专家,他往往就不知道如何与正在努力奋斗的新手沟通。还有一点必须说明:大部分科技人员并不是很好的作者。幸运的是,程序设计员中10%最顶尖的人有望成为很好的作者——我的老朋友SteveHeller就是这两方面的高手。他非常聪明,知道自己不能够像编程新手一样考虑问题,所以他向新手寻求帮助。现在你手中拿的这本书不仅非常巧妙,而且具有特殊的、意想不到的魅力,这使它成为我所见过的最出色的科技书之一。这是因为,史狄夫所找到的写作伙伴具有与他一样的智慧,而且她对这方面知识的渴望和一无所知成了史狄夫的熟练技能的完美补充。本书不但是史狄夫和苏珊共同写作的书本的选集,而且还是两种非凡智慧结合到一起的故事。他们连贯的对话使本书更为亲切,而这正是大多数科技指南所没有的。他们都从对方那里得到了最有价值的收获,史狄夫让苏珊不断思考、学习并进步,而苏珊使史狄夫从高度抽象的世界回归到日常经历的实例和模拟。对话的结果是用两个声音将许多主题交织在一起的优美乐章。史狄夫揭开了C++的神秘性,而苏珊不断学习该语言,这两者结合在一起。他们一起研究计算机的内部世界时,不但学到了字节和硅等内容,而且他们相互之间产生了不断增长的好感和关怀。苏珊学到了她所不知道的知识,而史狄夫进行了复习——多么令人愉悦的经历。有多少编程入门书也是爱情故事?这可能是惟一的。我不强求大家效仿,但我要说的是,史狄夫和苏珊之间的关系所产生的著作不仅仅是顶级的技术指导书,而且是精妙的艺术。认识他俩是我的荣幸,而介绍这本书更是我的荣耀。我希望他们发现问题、解决问题的过程能在各位的学习过程中起到指导作用。EricS.Raymond序言本书是否适合你?如果你是其他计算机语言(非C++语言)的程序员,而想提高自己的能力,那么只要读几页就可以毫不费力地得出结论。那么,对于没有编程经验的新手又如何呢?在这种情况下,下面给出的一些测验可能会对大家有所帮助:1.是否想知道计算机程序内部是如何工作的以及如何编写自己的程序?2.是否愿意尽全力学习一门复杂的技术科目?3.是否有幽默感?如果所有答案都是肯定的并且能够坚持到底,那么你将能够从中学到很多知识。常识认为,编程是少数专业人员所做的困难工作。我写这本书的主要原因之一是,我认为这种态度是错误的,让大家了解程序如何运行以及如何编程是可能的,而且甚至是合乎需要的。对于那些不知道计算机是如何执行那些看起来很神秘的工作的人,他们在越来越依赖于这些非凡机器的社会中,将越来越处于不利地位。除了话题之外,我看不出一本书枯燥乏味的任何正当原因。而且,我已经尽我所能使此书浅显易懂。不过,不要因此就觉得该学科很简单:编程没有捷径可走,它比几何学更为烦琐。尤其是对于没有编程经验的人,C++比实际中其他任何研究领域更能拓宽你的思维。想要学习C++,那为什么要选择这本书而不是其他数不胜数的C++入门书呢?本书与其他入门书的一个不同点是,其他书中有许多仍没有使用C++标准类库①,这是C++语言定义中非常重要的一部分。本书将使用一些标准类库的功能,以便于读者开始了解C++语言中这一重要部分。当然,本书没有包含其全部内容,这将需要更多的空间。实际上介绍标准类库的书有许多,不过我不清楚哪些适合编程新手。有一个因素使得本书是独一无二的:一个真实的、活生生的人的参与,她在读这份材料之前什么都不知道,她就是我的妻子苏珊②。她的主要贡献就是从初稿开始认真阅读书中每一行,并通过E-mail对她所不理解的内容进行提问。我同样通过E-mail回答她的问题,直到我俩都满意——她理解了问题而材料文本变得清晰为止。文本完成之后,我抽出部分合适的E-mail信件,对它们进行编辑,检查其拼写和标点符号等,然后将它们加入到文本中最合适的地方。对本书的这个最新版本,我们讨论了由标准类库的应用而引起的改变。作为讨论的结果,我对现有的E-mail信件进行了适当地添加和修改,以使它们在变化的环境中讲得通。不过,苏珊对这些信件中有关她的内容做最终决定,这样,它们仍是真实的对话。当然,这些对话的确占了一定的篇幅,或许因此而减少了一些有关C++和编程的信息。因此,如果想从书本的每一页上获得最大量的新信息,那么或许该选择其他书,如BjarneStroustrup所编写的优秀的“TheC++ProgrammingLanguage”(ISBN0-201-88954-4),或者由AndrewKoenig和BarbaraMoo所著的“AcceleratedC++”(ISBN0-201-70353-X)。但是,从我的其他书本的读者所获得的绝大部分评论都表明:他们认为我这种方式很有帮助,我猜想你们也会有此感觉。在这个序的后面,苏珊写了关于她加入此工程的叙述。我建议大家在开始学习后面的内容之前先阅读此叙述,因为这里说明了她是如何以及为什么致力于使你的工作更简单而更有趣。说到苏珊,下面有一小段关于如何学习本书的对话,这段对话是在她首次学习本书第2章和第3章时进行的。苏珊:让我说,要觉得真正了解了它,我真的需要再研究两遍。现在我可以这么做,但是我不知道你是否希望我这么做。我想:对大多数人来说,每章读一遍就够了。史狄夫:事实上,我希望读者有必要的话对这些章节多读几遍;对于编程新手,我认为这是必要的。编程是最复杂的人类学科之一,尽管它不需要学科的数学能力,如核物理学①。我努力使我的解释尽可能简单,但不进行大量的工作和思考是不可能学好编程(或其他复杂学科)的。她完成文本的多遍阅读并从中学到更多知识之后,我们继续下面的讨论:苏珊:或许这点应该在序言或其他位置指出。当然,最终读者将同我一样明白这点,不过我花了不少时间才得出此结论。如果事先知道这一点,那么,或许我不会因为读完一遍后不明白而气馁。史狄夫:我在序言中真正要讲的是,读者不要因此而认为这如同在公园里散步一样简单。无论如何,请不要气馁。我认为你已经在没有任何专业背景的情况下学到了许多非常专业的知识,这是值得骄傲的!在本书中,我们将多次听到苏珊的心声。在本书的测试和修订过程中,我们通过E-mail进行讨论,她的话将被频繁地摘录出来。我希望她的意见和我的回答将对你学习此技术材料有所帮助。言归正传,该告诉读者在本书中发现错误或遇到其他问题时如何获得更新和帮助了。最好的方法是访问我的站点:steveheller.com,我的E-mail地址是steve@steveheller.com。如果你喜欢这本书并想要告诉其他人,那么你可能想在Amazon.com上撰写在线评论——可以通过访问我的主页进行,也可以沿着“用户评论”链接到Amazon上。请注意,对于“classes”(类)和其他C++术语的复数,我都用统一的等宽字体,而不是在复数词尾用普通字体,如“classes”,这是因为,我认为在一个单词中用不同的字体容易分散注意力。在C++中没有复数术语,知道这一点就不会出现将“classes”当做C++术语的错误,实际上此术语是“class”。如果出现这种错误,那么将很快就会发现,因为在程序中错误使用术语时将得到出错消息。下面是来自我的试读者苏珊的心声。我希望大家从她的参与中得到的收获能和我一样多。致谢 -
程序设计基础陆虹主编本书是普通高等教育“十五”国家级规划教材(高职高专教育),主要内容包括程序设计概述、数据类型与数据的输入输出、表达式语句、控制语句、数组、指针与文件、结构和函数等。本书针对高职高专学生的认知特点,以及在开始学习程序设计时的实际情况,使用“示范实例——模仿实例——实训任务”的体例。每章首先给出学习目标,明确对知识、技能掌握程度的要求,然后选用大量实用、趣味及学生身边所熟悉的问题,作为实例与实训任务,便于教师组织互动式的教学。本书不仅注重编程能力的培养,而且强调程序调试能力的培养,通过调试实例提高学生解决问题的能力,增强编程的信心。本书适用于高等职业学校、高等专科学校、成人高校及本科院校举办的二级职业技术学院、继续教育学院和民办高校使用。 -
C++编程导论(美)Diane Zak著;马良荔 等译本书主要介绍了C++语言的基本知识,首先概述了微机系统及其软、硬件,程序设计语言及其控制结构,从面向对象的设计方法着手引入C++语言;第4章详细介绍了C++的基础知识,包括变量、常量、运算符、内存分配;第5章、第7章和第8章分别说明了内置函数、函数的返回值以及无返回值函数;接下来又详细讲述了程序设计的选择和循环结构,深入说明了如何用选择结构编程实现一些实际的算法;第11章系统地讲述了C++中的字符和字符串概念及其一些相关的实际算法应用;第12章给出了C++语言最重要的特性——面向对象的概念和简单的编程方法;接着,描述了顺序存取文件的基本概念以及打开、关闭文件等一些操作;最后,详细讲述了数组的概念、编程方法及其在具体算法中的编程应用。通过阅读本书,读者可以清楚地了解有关C++语言的特性和基本知识,可以熟练地掌握C++的基本编程设计方法。本书可作为大中专院校计算机专业的教材和参考书,也可供从事相关工作的工程技术人员参考。 -
C++参考大全(美)Herbert Schildt著;周志荣[等]译;周志荣译本书是根据著名C语言专家HerbertSchildt的著作翻译的。这是一本关于C++语言的百科全书,包括C和C++的命令、功能、编程和应用等方面的内容。全书分为五个部分:C++基础:C子集;C++的专有特征;标准函数库;标准C++类库;C++应用程序范例。详细描述和演示了定义C++语言的关键字、语法、函数、类和特征。其中第一部分全面讨论了C++的C子集;第二部分详细介绍了C++本身的特性,如类和对象、构造函数、析构函数和模板等;第三部分描述了标准函数库;第四部分讨论了标准类库,包括STL(标准模板库);第五部分显示了两个应用C++和面向对象编程的实际例子。本书内容全面、翔实,是学习C++编程语言的广大学生的一部有用的工具书,也是对C++感兴趣的读者的必备参考书。前言如果有一种语言定义了现代化程序设计的概念,它就是C++。C++的语法、风格和理念设立了所有其他语言得以进行评判的标准。此外,C++是一种通用的程序设计语言。当对算法或技巧进行描述时,通常使用C++语法来完成。C++长时间的成功在计算机语言开发的历史上留下了不可磨灭的印记,例如,Java和C#都是从C++中派生出的。坦率地讲,要成为一名专业的程序设计人员,就要精通C++。C++是一种所有程序员都不能忽视的语言。本书全面描述和演示了定义C++语言的关键字、语法、函数、类和特征。更准确地讲,本书全面描述了标准C++语言。标准C++是由ANSI/ISOC++标准定义的C++版本,也是为所有主要编译器、包括Microsoft的VisualC++和Borland的C++Builder所支持的C++版本。因此,本书中的内容适用于所有现代编程环境。自本书前一版出版以来,C++语言并没有变化,然而,计算环境却有了相当大的改变。例如,C语言的一个新标准,即C99得以建立,Java变成了进行Web编程的主要语言,.NET框架发布,C#产生。在过去几年所发生的这些变化中,有一件事保持不变:C++的强大功能。C++一直是并将仍然是未来开发高性能软件的首选语言。第四版中的新内容第四版的整个结构和组织与第三版类似。因此,如果你一直在使用第三版,你会非常喜欢第四版。第四版的主要变化涉及整个内容的更新和扩展。有时加入了额外的细节内容,有时对问题的表述方法进行了修改,有时对描述的内容进行了更新以反映当前的编程环境,也添加了几个新的章节。在第一部分适当的地方,提到了我们称为C99的新的C标准,并论述了它与C++的关系。另外,添加了两个附录。附录A描述了由Microsoft定义的扩展关键字,用于创建.NET框架的可管理代码。附录B描述了机器人。作者一直对机器人感兴趣,也相信许多读者会对作者的实验用机器人感兴趣。当然,生成它的多数软件是用C++编写的。最后,所有的代码范例都用现有的编译器进行了重新测试,包括Microsoft的VisualStudio.NET和Borland的C++Builder。本书内容本书详细讨论了C++语言的所有方面,包括它的基础:C语言。本书分为下面五个部分:●C++基础:C子集●C++语言●标准函数库●标准C++类库●C++应用程序范例第一部分全面讨论了C++的C子集。就像大部分读者将要知道的,C语言是C++得以建立的基础。正是C子集定义了C++的基础特征,包括for循环和if语句。它也定义了C++语言块结构、指针和函数的基本性质。因为许多读者对C语言非常熟悉,可称得上是专业水平的,所以在本书第一部分单独讨论C子集就不会使有经验的C程序员重复阅读他们已经知道的东西。相反,他们可以直接进入本书讨论C++专有特征的部分开始学习。第二部分详细讨论了C语言基础以外的特征,同时也定义了C++语言,包括它的面向对象的特征,如类、构造函数、析构函数、RTTI和模板。因此,第二部分讨论了“使C++成为C++”的那些结构。第三部分描述了标准函数库,第四部分讨论了标准类库,包括STL(标准模板库),第五部分给出了两个应用C++和面向对象编程的实际例子。一本面向所有程序员的书本书是为所有C++程序员设计的,而不管他们的经验水平。然而,本书假定读者能够创建至少一个简单的程序。如果你正在学习C++,本书将是与任何C++教程配套的极好的参考书,也可用做回答特定问题的参考书。有经验的C++支持者将会发现对C++高级特征的详细讨论特别有用。如果使用的是Windows操作系统如果你的计算机使用的是Windows操作系统,那么,你选择了正确的语言。C++特别适合于Windows程序设计。然而,本书中的程序都不是Windows程序,相反,它们是基于控制台的程序。理由很简单:从本质上讲,Windows程序很大、很复杂。创建一个小的Windows程序的开销是50到70行代码。要编写演示C++特征的Windows程序,则需要几百行代码。简言之,Windows不是一个讨论编程语言特征的合适的环境。然而,仍然可以使用基于Windows的编译器来编译本书中的程序,因为编译器将自动创建一个控制台会话,在这个会话中执行程序。Web上的代码记住,本书中所有程序的源代码都可以在Web上免费得到,其网址为www.osborne.com。下载这些代码可以使你免于自己键入范例代码。
