C++与数据结构基础简明教程
分類: 图书,计算机/网络,程序设计,C C++ C# VC VC++,
作者: 陆明,赵国瑞,汪大菊主编
出 版 社: 天津大学出版社
出版时间: 2008-2-1字数: 512000版次: 1页数: 318印刷时间: 2008/02/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787561826126包装: 平装编辑推荐
本书介绍了C++语言的主要内容,包括数据类型、程序控制、指针、函数、类、继承、重载、多态性、输入/输出等。数据结构是程序设计的重要理论与技术基础,掌握数据结构知识对于有效地开发计算机程序非常必要。本书介绍了线性表、栈、队列、数组、树、二叉树、图等基本数据结构以及相应的算法和简单应用,对部分算法还给出了C++语言描述。 本书各部分都提供了丰富的例题,读者可以从这些例题中学习程序设计的技巧和有效使用数据结构求解问题的方法。各章后设有习题,通过各种类型习题的练习,不仅能加深读者对基本概念和定义的理解,而且还能通过上机提高编程能力和调试程序能力。
内容简介
本书介绍了C++语言的主要内容,包括数据类型、程序控制、指针、函数、类、继承、重载、多态性、输入,输出等,还介绍了线性表、栈、队列、数组、树、二叉树、图等基本数据结构以及相应的算法和简单应用,对部分算法还给出了C++语言描述。
本书内容由浅入深、重点突出、概念清晰、通俗易懂,并含有大量的程序设计例题和各种练习题,以供读者自学。
本书适合作为普通高等学校非计算机专业少学时(60~80学时)的程序设计教材,还可供各类计算机软件人员和软件开发人员、程序设计爱好者和工程技术人员参考。
目录
第1章 C++程序设计基础
1.1 C++语言概述
1.2 C++程序开发过程
1.3 C++程序实例
1.4 基本数据类型
1.5 常量、变量及引用
1.6 运算符与表达式
1.7 基本输入、输出
1.8 例题
练习1
第2章 C++简单程序设计
2.1 程序的三种基本结构
2.2 C++语句
2.3 选择结构
2.4 循环结构
2.5 跳转语句
2.6 例题
练习2
第3章 数组与指针
3.1 数组
3.2 指针
3.3 指针与数组
3.4 指针数组
3.5 堆内存分配
3.6 const指针和const引用
3.7 例题
练习3
第4章 函数
4.1 函数概述
4.2 函数的定义和调用
4.3 函数原型
4.4 参数的传递机制
4.5 嵌套调用和递归调用
4.6 函数与指针
4.7 函数参数的缺省
4.8 函数重载
4.9 函数模板
4.10 内联函数
4.11 系统函数
4.12 作用域、生存期与可见性
4.13 编译预处理
4.14 例题
练习4
第5章 类和对象
5.1 面向对象程序设计概述
5.2 类的定义
5.3 对象的定义和对象成员的引用
5.4 对象的初始化
5.5 this指针
5.6 其他定义类的形式
5.7 静态成员
5.8 友元
5.9 类模板
5.10 例题
练习5
第6章 继承和派生类
6.1 继承概述
6.2 基类和派生类
6.3 派生类的构造函数与析构函数
6.4 赋值兼容规则
6.5 例题
练习6
第7章 多态性与虚函数
7.1 多态性概述
7.2 运算符重载
7.3 虚函数
7.4 例题
练习7
第8章 C++I/O流标准库
8.1 C++I/O流概述
8.2 输出流
8.3 输入流
8.4 格式化输入输出
8.5 例题
练习8例题
第9章 线性结构
9.1 数据结构概述
9.2 线性表
9.3 栈
9.4 队列
9.5 数组
9.6 例题
练习9
第10章 非线性结构
10.1 树的基本概念
10.2 二叉树
10.3 图
10.4 例题
练习10
第11章 查找和排序
11.1 查找
11.2 排序
11.3 例题
练习11
附录
附录A C++关键字
附录B C++常用库函数
附录C ASCII码表
参考文献
书摘插图
第1章 C++程序设计基础:
本章主要介绍C++语言及程序设计的基本概念,包括C++简单程序格式,C++基本数据类型、运算符及表达式和简单的输入输出。通过本章的学习,可以掌握C++语言的基础知识并能编写顺序结构的简单C++程序,为后续的学习打下基础。
1.1 C++语言概述:
1.1.1 C++语言与程序设计:
语言是人类交流思想的工具。在人和计算机打交道的时候,要让计算机按人们预先安排的步骤进行工作,就要解决人和计算机进行交流的问题。人和计算机进行交流的语言,称为计算机语言。
最早的计算机语言称为机器语言。机器语言是一条条二进制代码的指令,每一条二进制指令表示一个功能,例如取数、加运算等。计算机可以直接执行机器语言而不需要转化。由计算机专业人员用指令编写的机器语言程序难读、难写、难修改。为简化机器语言,人们用符号代替二进制代码,这种便于记忆的符号语言称为汇编语言。用汇编语言写出的程序称为汇编源程序。汇编源程序上机运行时必须通过一个“汇编程序”将汇编源程序翻译成二进制指令机器才能执行。汇编语言的出现,为程序设计人员提供了很大方便。但用汇编语言编写程序同样是一件繁琐的工作,它需要程序设计人员了解计算机硬件的细节,因而影响了计算机的推广、应用。高级语言的出现为广大非计算机专业人员应用计算机提供了极大的方便。目前常用的高级语言有BASIC、FORTRAN、C、C++及JAVA等。用高级语言编写的程序称为源程序。计算机不能直接执行源程序,必须经过“编译程序”或“解释程序”将源程序翻译成机器指令,机器才能执行。不同的高级语言有不同的编译程序或解释程序。因为计算机语言是程序设计使用的语言,所以又称为程序设计语言。
程序设计就是将解决某个问题的过程用程序设计语言描述出来,计算机按这个描述逐步实现。不同高级语言的程序设计方法不同。因此,从程序设计方法的角度看,高级语言中的FORTRAN、C等都是面向过程的结构化程序设计语言,而C++、JAVA等在面向过程语言的基础上增lluT面向对象的语言内容,常称为面向对象的程序设计语言。面向对象的程序设计方法被认为是最有希望、最有前途的方法。它是为适应计算机发展,特别是为操作系统等软件资源的发展而产生的。面向对象的程序设计方法是对面向过程的结构化程序设计方法的一次革命。这两者的根本区别是:在面向过程的结构化程序设计中,程序设计人员把重点放在解决某个问题的过程上;而在面向对象的程序设计中,设计人员把着眼点放在解决“什么”问题上,而不是问题的解决过程上,也就是只需关心一个对象能做什么,而不必关心对象的内部构成,从而使程序设计人员以更开阔的视野来观察问题、解决问题,使计算机的求解过程更接近人的思维过程,从而可以更充分发挥计算机系统的潜在能力。
……