C++程序设计.pdf

C++程序设计.pdf
 

书籍描述

编辑推荐
《C++程序设计》是谭浩强教授的又一力作,依据C++标准进行介绍,引导学生学习标准C++,而不仅学习依赖于某一特定环境下的“方言化”的C++ ,教与学的新突破,学习“C++ 程序设计”从此变得容易。
本书特色:
定位准确
取舍合理
体系得当
内容翔实
例题丰富
通俗易懂
本书是为已学过C语言程序设计、具有程序设计初步知识的读者编写的,是与作者编著的《C++面向对象程序设计》(清华大学出版社出版)一书配套的辅助教材。本书包括3个部分: 《C++面向对象程序设计》一书各章中的全部习题的参考解答;C++的上机操作,这部分介绍了在两种典型的环境下运行C++程序的方法,即Visual C++6.0和GCC在DOS/Windows平台上的版本DJGPP(以及与之配合使用的集成软件开发环境RHIDE);上机实验内容与安排,这部分提出了上机实验的指导思想和上机实验的内容与安排,供教学参考。
随本书赠送的光盘中包括《C++面向对象程序设计》一书中的全部例题程序,各章习题解答的程序以及DOS/Windows环境下的GCC版本(DJGPP及其配套集成环境RHIDE)。
本书可作为学习《C++面向对象程序设计》的辅助教材,也可供其他初学C++的读者参考。
本书特色:
(1)准确定位,合理取舍。
本书使读者对C++的全貌有基本的认识,用容易理解的方法讲清楚有关的基本概念和基本方法。
(2)全新体系,内容翔实。
本书以面向过程的程序设计为切入点,从编写简单的程序开始,循序渐进,由面向过程、基于对象到面向对象,逐步深入,符合读者的认识规律。
(3)例题丰富,通俗易懂。
本书作者花费了很大的精力去考虑怎样使读者易于接受和理解,尽量用通俗易懂的方法和语言叙述复杂的概念,力求减少初学者学习C++的困难。书中所举的程序,是从教学的角度考虑的,非常切合教学之用。
(4)体现C++标准。
本书依据C++标准进行介绍,引导学生学习标准C++,而不仅学习依赖于某一特定环境下的“方言化”的C++。
(5)配套齐全,考虑纵深。
本书的配套资源:
《C++程序设计题解与上机指导》(附光盘,包括教材中全部例题的源程序)
《C++程序编程实践指导》(帮助学生提高编程能力)
向选用本教材的教师免费提供讲课的电子演示文稿。
本书配有两本辅导教材,即《C++程序设计题解上机指导》和《C++编程实践指导》。本书是大学各专业学生学习C++的基础教材,也是适于初学者学习的教材。即使没有教师讲授,读者也能看懂本书的大部分内容。

作者简介
谭浩强教授,我国著名计算机教育专家。1934年生。1958年清华大学毕业。学生时代曾担任清华大学学生会主席、北京市人民代表。他是我国计算机普及和高校计算机基础教育开拓者之一,现任全国高等院校计算机基础教育研究会会长、教育部全国计算机应用技术证书考试委员会主任委员。 谭浩强教授创造了3个世界纪录:(1)20年来他(及和他人合作)共编著出版了130本计算机著作,此外主编了250多本计算机书籍,是出版科技著作数量最多的人。(2)他编著和主编的书发行量超过4500万册,是读者最多的科技作家。我国平均每30人、知识分子每1.5人就拥有1本谭浩强教授编著的书。(3)他和别人合作编著的《BASIC语言》发行了1200万册,创科技书籍发行量的世界纪录。此外,他编著的《C程序设计》发行了600万册。他曾在中央电视台主讲了BASIC,FORTRAN,COBOL,Pascal,QBASIC,C,Visual Basic七种计算机语言,观众超过300万人。 在我国学习计算机的人中很少有不知道谭浩强教授的。他善于用容易理解的方法和语言说明复杂的概念。许多人认为他开创了计算机书籍贴近大众的新风,为我国的计算机普及事业做出了重要的贡献。 谭浩强教授曾获全国高校教学成果国家级奖、国家科技进步奖,以及北京市政府授予的“有突出贡献专家”称号。《计算机世界》报组织的“世纪评选”把他评为我国“20世纪最有影响的IT人物”10个人之一(排在第2位)。他的功绩是把千百万群众带入计算机的大门。

目录
第1篇 基本知识
第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 为变量赋初值
2.3.5 常变量
2.4 C++的运算符
2.5 算术运算符与算术表达式
2.5.1 基本的算术运算符
2.5.2 算术表达式和运算符的优先级与结合性
2.5.3 表达式中各类数值型数据间的混合运算
2.5.4 自增和自减运算符
2.5.5 强制类型转换运算符
2.6 赋值运算符与赋值表达式
2.6.1 赋值运算符
2.6.2 赋值过程中的类型转换
2.6.3 复合的赋值运算符
2.6.4 赋值表达式
2.7 逗号运算符与逗号表达式
习题

第2篇 面向过程的程序设计

第3章 程序设计初步
3.1 面向过程的程序设计和算法
3.1.1 算法的概念
3.1.2 算法的表示
3.2 C++程序和语句
3.3 赋值语句
3.4 C++的输入与输出
*3.4.1 输入流与输出流的基本操作
*3.4.2 在输入流与输出流中使用控制符
3.4.3 用getchar和putchar函数进行字符的输入和输出
3.4.4 用scanf和printf函数进行输入和输出
3.5 编写顺序结构的程序
3.6 关系运算和逻辑运算
3.6.1 关系运算和关系表达式
3.6.2 逻辑常量和逻辑变量
3.6.3 逻辑运算和逻辑表达式
3.7 选择结构和if语句
3.7.1 if语句的3种形式
3.7.2 if语句的嵌套
3.8 条件运算符和条件表达式
3.9 多分支选择结构和switch语句
3.10 编写选择结构的程序
3.11 循环结构和循环语句
3.11.1 用while语句构成循环
3.11.2 用do-while语句构成循环
3.11.3 用for语句构成循环
3.11.4 几种循环的比较
3.12 循环的嵌套
3.13 break语句和continue语句
3.14 编写循环结构的程序
习题

第4章 函数与预处理
4.1 概述
4.2 定义函数的一般形式
4.2.1 定义无参函数的一般形式
4.2.2 定义有参函数的一般形式
4.3 函数参数和函数的值
4.3.1 形式参数和实际参数
4.3.2 函数的返回值
4.4 函数的调用
4.4.1 函数调用的一般形式
4.4.2 函数调用的方式
4.4.3 对被调用函数的声明和函数原型
*4.5 内置函数
*4.6 函数的重载
*4.7 函数模板
*4.8 有默认参数的函数
4.9 函数的嵌套调用
4.10 函数的递归调用
4.11 局部变量和全局变量
4.11.1 局部变量
4.11.2 全局变量
4.12 变量的存储类别
4.12.1 动态存储方式与静态存储方式
4.12.2 自动变量
4.12.3 用static声明静态局部变量
4.12.4 用register声明寄存器变量
4.12.5 用extern声明外部变量
4.12.6 用static声明静态外部变量
4.13 变量属性小结
4.14 关于变量的声明和定义
4.15 内部函数和外部函数
4.15.1 内部函数
4.15.2 外部函数
4.16 预处理命令
4.16.1 宏定义
4.16 2 “文件包含”处理
4.16.3 条件编译
习题

第5章 数组
5.1 数组的概念
5.2 一维数组的定义和引用
5.2.1 定义一维数组
5.2.2 引用一维数组的元素
5.2.3 一维数组的初始化
5.2.4 一维数组程序举例
5.3 二维数组的定义和引用
5.3.1 定义二维数组
5.3.2 二维数组的引用
5.3.3 二维数组的初始化
5.3.4 二维数组程序举例
5.4 用数组名作函数参数
5.5 字符数组
5.5.1 字符数组的定义和初始化
5.5.2 字符数组的赋值与引用
5.5.3 字符串和字符串结束标志
5.5.4 字符数组的输入输出
5.5.5 字符串处理函数
5.5.6 字符数组应用举例
*5.6 C++处理字符串的方法——字符串类与字符串变量
5.6.1 字符串变量的定义和引用
5.6.2 字符串变量的运算
5.6.3 字符串数组
5.6.4 字符串运算举例
习题

第6章 指针
6.1 指针的概念
6.2 变量与指针
6.2.1 定义指针变量
6.2.2 引用指针变量
6.2.3 指针作为函数参数
6.3 数组与指针
6.3.1 指向数组元素的指针
6.3.2 用指针变量作函数参数接收数组地址
6.3.3 多维数组与指针
6.4 字符串与指针
6.5 函数与指针
6.5.1 用函数指针变量调用函数
6.5.2 用指向函数的指针作函数参数
6.6 返回指针值的函数
6.7 指针数组和指向指针的指针
6.7.1 指针数组的概念
6.7.2 指向指针的指针
6.8 有关指针的数据类型和指针运算的小结
6.8.1 有关指针的数据类型的小结
6.8.2 指针运算小结
*6.9 引用
6.9.1 什么是变量的引用
6.9.2 引用的简单使用
6.9.3 引用作为函数参数
习题

第7章 自定义数据类型
7.1 结构体类型
7.1.1 结构体概述
7.1.2 结构体类型变量的定义方法及其初始化
7.1.3 结构体变量的引用
7.1.4 结构体数组
7.1.5 指向结构体变量的指针
7.1.6 结构体类型数据作为函数参数
*7.1.7 动态分配和撤销内存的运算符new和delete
7.2 共用体
7.2.1 共用体的概念
7.2.2 对共用体变量的访问方式
7.2.3 共用体类型数据的特点
7.3 校举类型
7.4 用typedef声明类型
习题

第3篇 基于对象的程序设计

第8章 类和对象
8.1 面向对象程序设计方法概述
8.1.1 什么是面向对象的程序设计
8.1.2 面向对象程序设计的特点
8.1.3 类和对象的作用
8.1.4 面向对象的软件开发
8.2 类的声明和对象的定义
8.2.1 类和对象的关系
8.2.2 声明类类型
8.2.3 定义对象的方法
8.2.4 类和结构体类型的异同
8.3 类的成员函数
8.3.1 成员函数的性质
8.3.2 在类外定义成员函数
8.3.3 inline成员函数
8.3.4 成员函数的存储方式
8.4 对象成员的引用
8.4.1 通过对象名和成员运算符访问对象中的成员
8.4.2 通过指向对象的指针访问对象中的成员
8.4.3 通过对象的引用变量来访问对象中的成员
8.5 类的封装性和信息隐蔽
8.5.1 公用接口与私有实现的分离
8.5.2 类声明和成员函数定义的分离
8.5.3 面向对象程序设计中的几个名词
8.6 类和对象的简单应用举例
习题

第9章 关于类和对象的进一步讨论
9.1 构造函数
9.1.1 对象的初始化
9.1.2 构造函数的作用
9.1.3 带参数的构造函数
9.1.4 用参数初始化表对数据成员初始化
9.1.5 构造函数的重载
9.1.6 使用默认参数的构造函数
9.2 析构函数
9.3 调用构造函数和析构函数的顺序
9.4 对象数组
9.5 对象指针
9.5.1 指向对象的指针
9.5.2 指向对象成员的指针
9.5.3 this指针
9.6 共用数据的保护
9.6.1 常对象
9.6.2 常对象成员
9.6.3 指向对象的常指针
9.6.4 指向常对象的指针变量
9.6.5 对象的常引用
9.6.6 const型数据的小结
9.7 对象的动态建立和释放
9.8 对象的赋值和复制
9.8.1 对象的赋值
9.8.2 对象的复制
9.9 静态成员
9.9.1 静态数据成员
9.9.2 静态成员函数
9.10 友元
9.10.1 友元函数
9.10.2 友元类
9.11 类模板
习题

第10章 运算符重载
10.1 什么是运算符重载
10.2 运算符重载的方法
10.3 重载运算符的规则
10.4 运算符重载函数作为类成员函数和友元函数
10.5 重载双目运算符
10.6 重载单目运算符
10.7 重载流插入运算符和流提取运算符
10.7.1 重载流插入运算符“<<”
10.7.2 重载流提取运算符“>>”
10.8 不同类型数据间的转换
10.8.1 标准类型数据间的转换
10.8.2 转换构造函数
10.8.3 类型转换函数
习题

第4篇 面向对象的程序设计

第11章 继承与派生
11.1 继承与派生的概念
11.2 派生类的声明方式
11.3 派生类的构成
11.4 派生类成员的访问属性
11.4.1 公用继承
11.4.2 私有继承
11.4.3 保护成员和保护继承
11.4.4 多级派生时的访问属性
11.5 派生类的构造函数和析构函数
11.5.1 简单的派生类的构造函数
11.5.2 有子对象的派生类的构造函数
11.5.3 多层派生时的构造函数
11.5.4 派生类构造函数的特殊形式
11.5.5 派生类的析构函数
11.6 多重继承
11.6.1 声明多重继承的方法
11.6.2 多重继承派生类的构造函数
11.6.3 多重继承引起的二义性问题
11.6.4 虚基类
11.7 基类与派生类的转换
11.8 继承与组合
11.9 继承在软件开发中的重要意义
习题

第12章 多态性与虚函数
12.1 多态性的概念
12.2 一个典型的例子
12.3 虚函数
12.3.1 虚函数的作用
12.3.2 静态关联与动态关联
12.3.3 在什么情况下应当声明虚函数
12.3.4 虚析构函数
12.4 纯虚函数与抽象类
12.4.1 纯虚函数
12.4.2 抽象类
12.4.3 应用实例
习题

第13章 输入输出流
13.1 C++的输入和输出
13.1.1 输入输出的含义
13.1.2 C++的I/O对C的发展——类型安全和可扩展性
13.1.3 C++的输入输出流
13.2 标准输出流
13.2.1 cout,cerr和clog流
13.2.2 格式输出
13.2.3 用流成员函数put输出字符
13.3 标准输入流
13.3.1 cin流
13.3.2 用于字符输入的流成员函数
13.3.3 istream类的其他成员函数
13.4 文件操作与文件流
13.4.1 文件的概念
13.4.2 文件流类与文件流对象
13.4.3 文件的打开与关闭
13.4.4 对ASCII文件的操作
13.4.5 对二进制文件的操作
13.5 字符串流
习题

第14章 C++工具
14.1 异常处理
14.1.1 异常处理的任务
14.1.2 异常处理的方法
14.1.3 在函数声明中进行异常情况指定
14.1.4 在异常处理中处理析构函数
14.2 命名空间
14.2.1 为什么需要命名空间
14.2.2 什么是命名空间
14.2.3 使用命名空间解决名字冲突
14.2.4 使用命名空间成员的方法
14.2.5 无名的命名空间
14.2.6 标准命名空间std
14.3 使用早期的函数库
习题

附录A 常用字符与ASCII代码对照表
附录B 运算符与结合性
参考文献

内容简介
《C++程序设计》作者深入调查了我国大学的程序设计课程的现状和发展趋势,参阅了国内外数十种有关C++的教材,认真分析了学习者在学习过程中遇到的困难,研究了初学者的认识规律。在本书中做到准确定位,合理取舍内容,设计了读者易于学习的教材体系,并且以通俗易懂的语言化解了许多复杂的概念,大大减少了初学者学习C++的困难。C++是近年来国内外广泛使用的现代计算机语言,它既支持面向过程的程序设计,也支持基于对象和面向对象的程序设计。国内许多高校已陆续开设了C++程序设计课程。但是,由于C++涉及概念很多,语法比较复杂,内容十分广泛,使不少人感到学习难度较大,难以入门。
考虑到许多读者在学习C++前未学过其他语言,本书把入门起点降低,读者不需要具备C语言的基础。本书包括14章,分为4篇:基本知识;面向过程的程序设计;基于对象的程序设计;面向对象的程序设计。本书内容全面,例题丰富,概念清晰,循序渐进,易于学习。
《C++程序设计》是依据ANSI C++标准进行介绍的,引导读者从一开始就按标准C++的规定编程。本书配有两本辅导教材,即《C++程序设计题解与上机指导》和《C++编程实践指导》。
C++程序设计》是大学各专业学生学习C++的基础教材,也是适于初学者学习的教材。即使没有教师讲授,读者也能看懂本书的大部分内容。此书有谭浩强编写。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多