C/C++及其相关
-
C及C++程序设计张富编本书以Turbo C++为依据,以C语言为起点,全面地介绍C++语言的程序设计基础和面向对象的程序设计方法。全书分为两大部分。第一部分介绍C语言基础;第二部分,介绍面向对象程序设计的概念和方法。 本书可作为高等学校的程序设计语言的教材或参考书,也可供从事计算机的技术人员参考。 -
数据结构金远平本书系统、全面地论述数据结构的重要内容,包括基本概念和方法、线性表、链表、树、堆结构、图、排序和搜索结构。在充分继承国内外经典教材的合理体系结构和优秀内容的基础上,结合国内实际教学情况编写,内容系统、精炼,且经过优化整合,在深度和广度上有明显增强;突出重点、难点,强调分析问题和解决问题的方法,以及产生这些方法的背景。书中内容都经过编者深入研究,且在教学实践中反复验证,因而较易理解。本书注重启发创新思维,培养能力;概念准确,逻辑性强;自然引用面向对象设计思想,用C++语言描述算法。本书适于作为计算机科学与技术、软件工程以及相关专业的教材,也可供从事相关工作的科技与工程人员参考。本书前言设计解决实际问题的计算机软件系统,首先需要建立被处理对象的数据模型。数据和世上万物一样,都是具有结构的。因此,人们很自然地用数据结构表示应用领域的被处理对象。为了模拟实际问题的求解过程和现实对象的行为,还必须提供对数据结构的相应操作。数据结构的实现是由下一层数据结构表示上一层数据结构,直至由程序设计语言提供的基本数据类型表示的过程。评价数据结构表示优劣的标准主要是其能否方便且有效地实现需要的操作,而实现操作的算法设计及其效率高低也依赖于数据结构表示。因此,数据结构的定义、表示以及操作的实现相互关联,都是数据结构研究的重要内容。计算机软件系统可看成是通过不同层次的数据结构及其操作实现的。通过多层表示,完成计算机对应用领域问题的求解过程。在此,中间层数据结构起着核心作用。数据结构的研究产生了一批通用性强、具有很高实用价值的中间层数据结构,如数组、字符串、集合、线性表、栈、队列、链表、树、图、符号表等。这些结构不仅为我们提供了设计软件系统的有用工具,而且向我们展示了在广泛的应用领域表示与解决问题的精巧思路和技术。系统地学习和掌握数据结构知识和方法,对于提高设计与开发软件系统尤其是复杂软件系统的能力,无疑是十分重要的。因此,数据结构早已成为计算机科学与技术和软件工程等专业的核心课程。数据结构课程内容丰富,涵盖了计算机科学与技术的许多重要的成果,分析问题和解决问题的思路和方法新颖,创新点多,技巧性强,对学生专业素质的培养作用明显,但同时也是一门较难学习的课程。我校计算机科学与工程系开设的"数据结构"课程一直采用美国南加州大学教授E.Horowitz等编著的《数据结构基础》作为教材。该书注重培养学生分析问题、解决问题的能力,在数据结构和算法设计以及时空复杂性分析的深度和广度方面特色明显。但在教学中也感到该书内容的表达形式学生较难理解,方法和技术的论述还不够简明扼要,有的内容不够精炼,部分章节存在一些小错误,教学效果较多依赖于教师的讲解。为此,编者在充分继承该书体系结构和内容优点的基础上,吸收其他教材长处,进行优化整合,并结合自身多年的教学改革与实践经验,编写了这本教材,力图使其系统全面,内容深刻,表达简洁,易于理解,以适应计算机科学与技术及相关专业的教学需要。本书共分为8章。第1章论述数据结构的基本概念和方法,包括数据结构与软件系统,数据抽象与封装,算法,递归,性能分析、性能测量,以及效率与权衡等。特别引入了代价分摊分析方法,将相关的操作序列联系起来分析,从而得到更接近实际代价的结果。此外,还从软件重用的角度描述了C++的模板机制。第2章介绍线性表的概念及其顺序表示方法,讨论了通过线性表表示的多项式、稀疏矩阵和字符串等结构。在描述著名的字符串模式匹配算法KMP时,采用了简明易懂的图示方法。还通过两个字符串的最长公共子序列问题的求解,展示了利用动态规划改进算法效率的方法。由于栈和队列是受限的线性表,因此也被整合到这一章。此章不仅给出了通用栈和队列的实现方法,还分别通过求解迷宫问题、表达式计算以及机场模拟问题描述了栈和队列的应用。第3章论述以链表形式实现线性表的方法和技术,讨论了遍历通用模板类容器对象的游标技术。还介绍了广义表的功能及其实现方法,并结合C++的动态类型,讨论了异构表的实现方法。第4章介绍最基本的非线性结构:树,包括树和森林的概念、二叉树、二叉树的遍历及应用、线索二叉树、胜者树、败者树、森林的二叉树表示及遍历、树在并查集问题中的应用和二叉树计数等。特别给出了有一定难度的中序线索二叉树的后序遍历算法,还给出了生成所有可能的二叉树的算法。第5章介绍支持各种优先队列的堆结构,包括最大堆、最大最小堆、双堆、左偏树、二项式堆和斐波纳契堆。在分析二项式堆和斐波纳契堆的性能时,采用了代价分摊方法。第6章介绍更普遍的非线性结构:图,包括图的定义和表示方法、图的遍历、图的连通性、最小代价生成树、最短路径和传递闭包以及活动网络等。特别讨论了应用斐波纳契堆改进最短路径算法性能的技术。在数据结构中,数据元素之间的次序是一种重要的关系。按照数据元素的特定属性对其进行排序是最频繁的计算任务之一。第7章介绍各种典型的排序方法,包括插入排序、希尔排序、快速排序、归并排序、堆排序、基数排序、基于链表和映射表排序结果的顺序化以及外排序。第8章介绍符号表概念以及实现符号表的各种结构,包括二叉查找树、AVL树、2-3树、Splay树、B树、B+树、Trie、静态散列和动态散列等,特别分析了二叉查找树的平均性能。在分析Splay树的性能时,采用了代价分摊方法。此外,还论述了上述结构的演变关系,帮助读者理解其设计思想。本书可供各种层次的读者选用,既适用于教学,也可供从事相关工作的科技与工程人员参考。可以按"数据结构基础"(64学时,必修)和"高级数据结构"(24~32学时,选修)两门课组织教学。本书的2.4、2.9、3.10、4.5、4.8、4.9、5.2~5.6、6.4、7.8、8.4、8.5、8.7和8.9节可作为"高级数据结构"课程的内容,其余作为"数据结构基础"课程的内容。本书引用了数据结构研究的大量先进成果,在此,作者谨向这些成果的原创者表示崇高的敬意和衷心的感谢。同时,对本书所引用的参考文献的作者也表示衷心的感谢。在本书的写作过程中,作者与徐宝文、孙志挥、王茜、徐冬梅、王树梅、吉根林和张丽晖老师开展了卓有成效的讨论,并由此得到很多启发。南京大学计算机科学与技术系陈道蓄教授认真审读了全部书稿,并提出了十分宝贵的修改意见,在此对他们表示最诚挚的谢意。感谢清华大学出版社的鼓励与支持。感谢东南大学教学改革基金的资助。还要感谢作者的众多学生,他们在数据结构课程学习过程中表现出的热情与执着给了作者很大的鼓励,与他们的讨论和交流使作者对教学内容和教学方法的改进有了更深刻的认识。 -
Visual C++教程郑阿奇主编;丁有和编著本书以丰富的实例介绍了如何使用VisualC++6.0编写Windows应用程序。全书共分9章,介绍VisualC++6.0的开发环境,C++语言基础,Windows消息的使用方法,利用MFCAppWizard编写Windows应用程序的具体步骤,对话框及常用控件的相关知识,菜单、工具栏和状态栏的基本知识及它们的制作方法,框架窗口、文档和视图、文本和图形操作,数据库的相关知识,ADO编程过程,网络方面的相关知识及如何利用WinSocket进行网站编程等内容。本书适合作为高职学校计算机及通信专业学生的教材,也适合作为普通院校计算机及通信专业的本科和专科学生的教材,还适合作为VisualC++自学者的的入门教材和软件开发人员的参考书。 -
数据结构——C++实现习题解析与实验指导缪淮扣,沈俊,顾训穰编著本书是与主教材《数据结构——C++实现》(科学出版社)配套的教学参考书,旨在指导、启发和帮助学生学好数据结构这门课程。本书对主教材的每一章给出了复习提要,并给出了主教材中全部习题的参考答案和分析。本书为主教材的每一章设计了一套上机实习题,并提供了可在计算机上运行的上机实习的实例。此外,我们还对数据结构考试的题型做了介绍,并给出了3套模拟试卷。本书是高等院校计算机专业"数据结构"课程的教学参考书,也可供参加硕士研究生入学考试的考生以及从事计算机开发和应用的工程技术人员阅读、参考。 -
C++语言程序设计案例教程郑莉[等]编著本书基于C语言的基本语法设计了数百个经典语法案例,以综合性和实用性为基准设计了十几个大型综合案例。通过这些精心设计的案例深入浅出地介绍了C语言程序设计的特点,循序渐进地介绍了面向对象程序设计思想和方法。全书共分为13章,内容包括:C程序设计和面向对象程序设计的概念,基础知识和函数,类与对象,数据的存储和访问属性,数组、指针与字符串,继承与派生,多态性,群体类和群体数据的组织,泛型程序设计与STL,流类库与输入输出,异常处理和Windows程序设计特点。本书语言精练,案例选择得当,语法讲解深入浅出。如果本书与《C语言程序设计(第3版)》配套使用,将会得到更好的效果。该书不仅可以作为初学者学习C程序设计的入门教程,而且能够作为自学者的提高教程。本书前言C是从C语言发展演变而来的一种面向对象的程序设计语言。C语言的主要特点表现在3个方面:一是全面兼容C语言支持面向过程的程序设计方法;二是支持面向对象的方法;三是支持范型程序设计方法。本书是《C语言程序设计(第3版)》系列教材的组成部分,旨在帮助读者通过实践学习和掌握C语言。本系列教材将C语言作为大学生的计算机编程入门语言,不仅详细介绍了语言本身,而且介绍了常用的数据结构和算法、面向对象的程序设计思想和方法、UML建模语言、范型程序设计思想和方法。本书以面向过程的程序设计为起点,以面向对象的程序设计为主线,以范型程序设计为补充。各章中的每节均包含知识点综述、疑难辨析和典型语法案例解析,每章最后则立足于本章的知识点设计出1~3个综合案例。知识点综述部分概要介绍本节涉及的主要知识点,疑难辨析部分将学生们经常遇到的疑点和难点加以详细解答和辨析,典型语法案例解析部分针对各个语法要点,精心设计出相应的语法案例,帮助读者深入理解相关语法要点,每章最后的综合案例则集综合性、实用性于一身,结合本章主要知识点设计而成,帮助读者灵活掌握和使用本章的知识要点。本书的宗旨是不仅要使读者掌握C语言本身,而且能够对现实世界中较简单的问题和解决方案用C语言进行描述。当然,要能够描述较复杂的问题,还需要学习面向对象的软件工程课等其他课程。本书的结构合理且实用、直观。全书的主要特色是知识点全面、系统;综合案例具有很好的启发性和引导性;通过案例对逐个知识点进行讲解,针对性强。另外,从第4章开始,综合案例中涉及类设计部分均给出相应的UML图形。本书的章节安排基本上与《C语言程序设计(第3版)》一致,既可以配合该书使用,也可以独立使用。 -
C++面向对象程序设计教程陈懿编著高等学校21世纪计算机教材。本书共分12章,内容包括C++概述,C++基本数据类型与表达式,数组,预处理和语句、函数,指针,引用与动态空间管理等。 -
C语言案例教程李崇泰主编本书是教育部职业教育与成人教育司推荐教材。“C语言案例教程”是三年制中职计算机软件专业的重要课程。本书用任务驱动的思想来编写,并以案例来贯穿全书的各章节。本书把枯燥的概念、语法、算法融会在生动、有趣的案例中,以调动学生的学习积极性;本教材结构特点鲜明,源程序书写规范,知识点正确,叙述通俗易懂,文笔流畅。本书还配有电子教学参考资料包,详见前言。本书前言根据教育部《职业院校计算机和软件专业领域技能型紧缺人才培养培训指导方案》的精神,按照中等职业学校计算机应用和软件专业培养目标的要求,我们编写了《C语言案例教程》。该书是软件技能型紧缺人才培养的入门课程,引导初学者学习C语言程序设计的基本知识,为进一步学习必要的理论和各种面向对象的程序设计做好铺垫。本教材侧重于应用,不强调学科知识理论的系统性,编写时按照任务驱动的教学思想,尽量按照案例教学的格式组织材料,以安排在机房上课为背景来设计。全书给出大量的引例和实例,以趣味性的案例引导学生实训。从实例中导出C语言的基本知识点,淡化C语言的学科系统性;希望通过案例教学,努力将C语言作为解决实际问题的工具,强化学生的编程能力。为了克服案例教学法的不足之处,本书通过每个案例,主要介绍与案例相关的C语言知识和使用技巧,但对于与案例关系不密切的那些C语言系统知识,均以附录的形式归纳在本书的最后。在C语言词法和句法的编写上,本书不介绍C语言的历史沿革,甚至连词法的枯燥概念都被融会到各种案例中。以程序实例导出C语言词法和句法的必需部分,先使用,后解释;围绕着实际编程所需导出词法和句法,是作者的一个新的尝试。本书将基本常用的词法集中到第1章,通过实际编程引出所用到的词法,其他一些词法和句法,分散到控制结构部分,用到时再引出讲述。本书的每章开头先说明本章的学习任务,在适当的地方给出教与学的建议。每节以引例开头,给出相当的模仿性实训题加以巩固,随后抽象出本节中C语言的必需的理论,再给出应用性的、趣味性的若干实例。每个内容之后,还相应给出较多的课堂练习,以便及时反馈学生的当堂学习情况;每节之后给出10道左右带趣味性的习题。文中涉及复杂操作时,都充分利用图、表辅助阐明问题,解决难点。内容的排列尽量照顾到中职生的知识结构和程序设计的知识结构,做到由浅入深、由易到难,循序渐进。所有的例题、习题所涉及的知识,尽量不超过初中的水平,肯定不超过高中的要求。全书从开头就很注意源程序书写规范,希望通过训练,使学生较早按照软件行业的习惯书写源程序。全书在文字上,尽量用课堂教学用语;概念的解释方面,尽量用中职生可以理解的字句实现。本书适合中等职业学校计算机应用专业软件设计方向三年制中等学校的学生使用,也可作为计算机爱好者的自学用书。全书分为5章,拟用132学时,其中在机房教学辅导不少于100学时。本书由广西柳州一职校特级教师李崇泰担任主编,四川信息技术职业学院高级讲师赵克林担任副主编,杨培添老师和段标老师担任本书的主审。本书第1章由李崇泰老师编写;第2、3章由辽宁大连电子学校讲师刘淑清编写;第4章的4.1~4.4节及第4章复习与测验由天津电子信息学院讲师苏楠编写,第4章的4.5节由李崇泰老师编写,第4章的4.6节以及第5章的5.1~5.5节、5.8节以及第5章复习与测验由赵克林老师编写,第5章的5.6~5.7节由李崇泰老师编写。全书由赵克林老师修改,刘淑清老师校对,李崇泰老师统稿。本书经教育部审批,列为教育部职业教育与成人教育司推荐教材。由于编审者全是教学第一线的老师,水平有限,书中难免有错漏,敬请读者批评指正。本书还配有“电子教学参考资料包”(包括:教学指南、电子教案和习题答案),免费提供给教师使用。有需要的教师,请登录华信教育资源网(http://www.hxedu.com.cn)下载或与电子工业出版社联系,我们将免费提供。E-mail:ve@phei.com.cn。 -
数据结构(C++版)王红梅,胡明,王涛编著数据结构是计算机专业教学计划中的核心课程,也是计算机及相关专业考研和水平等级考试的必考科目。要从事和计算机科学与技术相关的工作,尤其是计算机应用领域的开发和研制工作,必须具备坚实的数据结构基础。本书介绍了学习数据结构所用到的预备知识,叙述了数据结构、算法以及抽象数据类型的概念,介绍了线性表、栈、队列和串、数组和广义表、树和二叉树、图等常用数据结构,讨论了常用的查找、排序和索引技术,给出了较多的数据结构的应用实例,最终通过一个案例将书中所有数据结构贯穿起来。本书内容丰富,层次清晰,讲解深入浅出,可作为计算机及相关专业本、专科数据结构课程的教材,也可供从事计算机软件开发和应用的工程技术人员阅读、参考。本书前言前言:数据结构是计算机及相关专业的一门重要的专业基础课,也是计算机及相关专业考研和水平等级考试的必考科目,而且正逐渐发展成为众多理工专业的热门选修课。它所讨论的知识内容和提倡的技术方法,无论对进一步学习计算机领域的其他课程,还是对从事软件工程的开发,都有着不可替代的作用。数据结构课程知识丰富,内容抽象,学习量大,隐藏在各部分内容中的方法和技术多。本书的编写者长期从事数据结构课程的教学,对课程的教学特点和难点有比较深切的体会。在总结讲授数据结构课程的基础上,对多年来形成的数据结构课程的教学内容进行了合理的剪裁和重组,既强调数据结构的原理和方法,又注重其实践性与实用性。本书具有以下特色:系统性强注重与前导课的知识衔接,知识单元的前驱和后继关系安排合理,每一章的内容主线清晰。启发性强精心安排的人物小传和思想火花,以及具有启发性的习题和思考题,引导学生的思维过程。实用性强随书光盘给出了本书所有算法的C程序实现,提供了学生电子笔记、算法和图解素材、英汉词汇表。深入浅出采用分析、伪代码、C描述三级模式讲解算法,并设计了250多个插图,降低了理解问题的复杂性。案例驱动每种数据结构给出若干应用实例,提倡从实用性和实践性的角度学习数据结构,并通过一个案例将书中所有的数据结构贯穿起来。本书由三个模块构成,第一个模块是基础知识,介绍了学习数据结构的预备知识以及数据结构的基本概念;第二个模块是基本数据结构,介绍了线性表、栈、队列和串、数组和广义表、树和二叉树、图等常用数据结构;第三个模块是查找与排序技术,讨论了常用的查找技术、排序技术和索引技术。本书的随书光盘包括以下内容:每种数据结构的C实现,案例设计与实现,电子笔记,算法素材,图解素材,英汉词汇表等。参加本书编写的还有于德海、徐立新老师,研究生李娜、陈、李洋、闵聚、何文华参与了本书的案例设计并制作了光盘,李万龙教授对本书的编写提出了很多有益的建议,在此表示感谢。由于作者的水平有限,书稿虽几经修改,仍难免有缺点和错误。热忱欢迎同行专家和读者批评指正,使本书在使用中不断改进、日臻完善。 -
C语言程序设计黄迪明主编本书详细介绍C语言及其程序设计方法。全书共12章,主要内容包括:C语言程序设计基础知识;数据类型、各类运算及数据的输入/输出;控制语句;数组;指针;函数;变量的存储类型;结构;联合、枚举;文件管理等。此外,本书还为读者介绍了TurboC编译系统以及VisualC编译系统的使用及标准库函数在动态内存分配、BIOS接口及DOS系统调用、文件输入/输出、图形和数据结构应用程序中的调用方法及各类实例。本书为读者展示了C语言灵活、精致的编程方法和在工程、科研中的应用,力求做到C语言知识和应用开发能力的融会贯通。为了帮助读者学习,每章设有小结和习题,并有配套的程序设计题解与上机指导辅导教材。本书是高等学校计算机专业及电子信息类其他专业的教科书,亦可作为高等学校非计算机专业的教材或其他学习C语言人员的自学教材。本书前言前言C语言是一种通用的程序设计语言。它的结构简单,数据类型丰富,运算灵活方便,用它编写的程序,具有速度快、效率高、代码紧凑、可移植性好等优点,能够有效地用来编制各种系统软件和应用软件,是当今最为流行的一种计算机语言。本书以美国国家标准C语言(ANSIC)为基本内容,以当前广为使用的TurboC编译系统为实现版本,全面系统地介绍了C语言及其程序设计方法。本书的第一版是国家电子信息类“九五”规划教材。本书是在第一版的基础上修订而成的,由电子科技大学黄迪明教授主编,全书共12章,主要内容包括:C语言程序设计基础知识,基本数据类型及运算,数据的输入/输出,控制语句,数组,指针,函数,变量的存储类型,结构,联合、枚举,文件管理,及C语言高级程序应用等。书中对指针、函数、变量的存储类型、结构和联合、文件等较难掌握的内容进行了深入讲解和分析,介绍了编译系统标准库函数在动态内存分配、BIOS接口及DOS系统调用、文件输入/输出、图形及数据结构应用程序中的调用方法和实例,为读者展示了C语言灵活、精致的编程方法和在工程、科研中的应用,力求做到C语言知识和应用开发能力的融会贯通。本书是作为程序设计的入门教材而编写的,如果读者对第1章中的1.1节和1.2节内容已经了解,可直接阅读后面的内容。本书参考学时数为51学时(含上机17学时),书中标注“*”的内容,可根据教学实际情况来取舍,既可作为基本教学内容的扩展,亦可作为自学内容。为了帮助读者学习,每章设有小结和习题,同时本书有配套的程序设计题解与上机指导的辅导教材,重点介绍了TurboC编译系统以及VisualC编译系统的使用方法,使学生在课堂学习过程中能迅速掌握C语言程序的编制、编译、调试和运行方法。本书由黄迪明、许家珆、胡德昆编写。黄迪明编写了第1章、第2章、第7章~第11章,许家珆编写了第3章~第6章,胡德昆编写了第12章及附录。电子科技大学杨国炜教授、王健教授对本书的编写提出了各种有益的建议。本书在编写过程中,还得到了杜海涛、王波、刘家芬、陈琼等人的热情帮助。在此对他们及所有为本书的出版付出了辛勤劳动的同志表示衷心的感谢!由于编者水平有限,书中难免存在一些缺点和错误,殷切希望广大读者批评指正。 -
C程序设计题解与上机指导谭浩强编著本书是与谭浩强所著的《C程序设计》(第三版)(清华大学出版社2005年出版)配合使用的参考书。内容包括: (1)《C程序设计》(第三版)一书的习题和参考解答,包括了该书各章的全部习题,约150题,对全部编程习题都给出了参考解答。(2)上机指导,详细介绍了在Turbo C 2.0、Turbo C++ 3.0和Visual C++ 6.0集成环境下编辑、编译、调试和运行程序的方法。(3)上机实验内容,提供了学习本课程应当进行的12个实验(每一个实验对应教材中一章的内容)。本书内容丰富、概念清晰、实用性强,是学习C语言的一本好参考书,不仅可以作为《C程序设计》(第三版)的参考书,而且可以作为任何C语言教材的参考书;既适于高等学校师生或计算机培训班使用,也可供报考计算机等级考试者和其他自学者参考。本书特色:·至2004午底本书累计发行了近300万册。·本书包括三部分。第一部分为“C程序设计习题与参考解答”。在这一部分中包括了清华大学出版社出版的《C程序设计(第三版)》一书的全部习题。对其中一些概念问答题,山于能在教材书中直接找到答案,为节省篇幅本书不另给出答案。对其他类型的习题都一律给出参考答案。对编程序题,除给出参考程序外,还给出运行结果,以使读者对照分析。·本书第二部分是“C语言上机指南”。介绍了Turbo C 2.0、Turbo C++3.0和Visual C++ 6.0集成环境的上机方法,相信对读者上机练习会有帮助。·本书的第三部分是上机实验内容。在这部分中提出了上机实验的要求,介绍了程序调试和测试的初步知识,并且具体安排了12个实验(每一个实验对应教材中一章的内容)。·对所有程序都重新进行了调试,对部分程序进行了重写或较大的修改完善,全部程序都在Turbo C++ 3.0或Visual C++ 6.0环境下调试通过。
