简介
本书是根据教育部非计算机专业计算机基础课程教学指导分委员会提出的高等学校计算机基础课程教学基本要求组织编写的。
为适应新的人才培养的要求,结合程序设计技术和信息技术的发展,对程序设计基础课程教学内容和体系结构进行了重大改革。本书以C/C++语言为背景,全面介绍了结构化程序设计和面向对象程序设计的基本原理和方法,内容由浅入深,循序渐进,每章都有丰富的例题和习题,并有配套的实验教材指导学生上机实践,以及丰富的数字化资源。
本书可作为高等学校各专业的程序设计基础课程教材,也可用于网络化教学及培训机构和读者自学程序设计课程的教材。
目录
第1篇结构化程序设计
第1章概述
1.1计算机语言和计算机程序设计
1.1.1计算机语言
1.1.2计算机程序设计
1.2程序设计方法
1.2.1结构化程序设计基本思想
1.2.23种基本结构
1.2.3结构化程序设计的过程
1.2.4用自顶向下、逐步细化的方法构造算法实例
1.3程序的实现环境
1.3.1硬件环境
1.3.2软件环境
1.4c语言与c++的发展
1.5本章小结
思考题
习题
第2章程序设计初步
2.1程序的基本结构
2.1.1简单程序:输出一行文本
.2.1,2简单程序:计算两个整数的和
2.1.3简单程序:用多函数方法计算两个整数的和
2.1.4c/c++语言结构化程序的基本结构
2.2数据类型
2.2.1基本数据类型
2.2.2常量
2.2.3变量和内存的概念
2.2.4变量定义和赋初值
2.3算术运算符和算术表达式
2.4赋值运算符和赋值表达式
2.5数据类型的转换
2.6数据的输出和输入
2.6.1格式输出函数
2.6.2格式输入函数
2.7数学函数
2.8简单程序设计
2.9本章小结
思考题
习题
第3章程序控制结构
3.1选择结构程序设计
3.1.1引例
3.1.2关系运算和逻辑运算
3.1.3讧选择结构
3.1.4switch多分支选择结构
3.1.5程序设计举例
3.2循环结构程序设计
3.2.1引例
3.2.2自增和自减运算符
3.2.3while循环和do-while循环
3.2.4for循环
3.2.5循环嵌套
3.2.6break和continue语句
3.2.7循环应用举例
3.3本章小结
思考题
习题
第4章模块化程序设计
4.1模块化程序设计概述
4.2函数的声明、定义和调用
4.2.1函数说明
4.2.2函数定义
4.2.3函数调用及参数的传递
4.2.4带自定义函数的程序设计
4.3函数的多级调用
4.3.1嵌套调用
4.3.2递归调用
4.3.3递归与递推
4.4变量的作用域和存储类别
4.4.1局部变量及存储类别
4.4.2全局变量及存储类别
4.5计算机随机模拟友法
4.5.1伪随机数的产生
4.5.2蒙特卡罗方法
4.6编译预处理
4.7本章小结
思考题
习题
第5章构造数据类型
5.1数组概述
5.2一维数组
5.2.1引例
5.2.2一维数组的定义
5.2.3数组的初始化
5.2.4数组的引用
5.3数组做函数的参数
5.4一维数组的应用
5.4.1排序
5.4.2数据查找
5.4.3数据统计分析
5.5多维数组
5.5.1二维数组的定义
5.5.2二维数组的初始化
5.5.3二维数组的引用
5.5.4二维数组元素在内存中的排列顺序
5.5.5多维数组举例
5.6字符数组与字符串
5.6.1字符数组的定义及初始化
5.6.2用字符数组存放字符串
5.6.3字符数组的输入输出
5.6.4用于字符串处理的函数
5.6.5应用举例
5.7结构体类型
5.7.1结构体类型的定义
5.7.2结构体变量的定义和引用
5.7.3结构体变量的初始化
5.7.4结构体应用举例
5.8共用体类型
5.8.1共用体类型的定义
5.8.2共用体类型变量的定义和引用
5.8.3共用体应用举例
5.9本章小结
思考题
习题
第6章指针
6.1变量的地址和指针
6.1.1数据在内存中的存储
6.1.2访问变量的方式
6.1.3指针变量
6.2指针变量的定义及引用
6.2.1指针变量的定义
6.2.2指针变量的引用
6.3指针与函数
6.3.1指针作为函数参数
6.3.2函数返回指针
6.3.3函数指针
6.4指针与数组
6.4.1指向数组的指针
6.4.2引用数组元素的方法
6.5字符指针
6.5.1字符串的表示形式
6.5.2程序设计举例
6.6指针数组
6.6.1指针数组的概念
6.6.2指针数组的初始化
6.7本章小结
思考题
习题
第7章动态数据结构
7.1从静态数据结构到动态数据结构
7.2动态内存分配
7.2.1ansic中用于动态操作的标准函数
7.2.2c抖中用于动态操作的运算符--new和delete
7.3链表
7.3.1链表的定义
7.3.2链表的建立
7.3.3链表结点的插入
7.3.4链表结点的删除
7.3.5循环链表
7.4本章小结
思考题
习题
第8章文件
8.1文件概述
8.1.1文件的概念和分类
8.1.2文件的操作过程
8.1.3缓冲区和文件指针
8.2文件的打开和关闭
8.2.1文件的打开
8.2.2文件的关闭
8.3文件的顺序操作
8.3.1文件的字符读写函数
8.3.2文件的字符串读写函数
8.3.3文件的数据块读写函数
8.3.4文件的格式化读写函数
8.4文件的随机操作
8.4.1文件定位
8.4.2文件的随机读写
8.5文件的检测
8.6本章小结
思考题
习题
第2篇面向对象程序设计
第9章从结构化程序设计到面向对象程序设计
9.1c++对c的改进和扩充
9.1.1输入输出流
9.1.2函数的重载
9.1.3带默认参数的函数
9.1.4内联函数
9.1.5一元作用域运算符
9.1.6引用与函数
9.2面向对象的程序设计方法
9.2.1面向对象的概念
9.2.2类和对象
9.2.3面向对象程序设计的特性--封装性、继承性和多态性
9.3本章小结
思考题
习题
第10章类和对象
10.1从结构到类
10.2类和成员函数的定义
10.2.1类的定义
10.2.2在类外定义成员函数
10.2.3接口与实现方法的分离
10.3对象的定义与成员的访问
10.3.1对象的定义
10.3.2对象成员的访问
10.3.3this指针
10.4构造函数和析构函数
10.4.1构造函数
10.4.2析构函数
10.4.3默认构造函数和默认析构函数
10.4.4拷贝构造函数
10.5静态成员
10.5.1静态数据成员
10.5.2静态成员函数
10.6友元
10.6.1友元函数
10.6.2友元类
10.7对象数组
10.8复合类
10.9本章小结
思考题
习题
第11章继承与派生类
11.1继承与派生类概述
11.2单一继承
11.2.1派生类的定义与实现
11.2.2单一继承与访问控制
11.2.3继承类别及派生类对基类成员的访问权
11.3多重继承
11.3.1派生类的定义与实现
11.3.2多重继承与访问控制
11.3.3虚基类
11.4综合实例
11.5本章小结
思考题
习题
第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在基类构造函数与析构函数中调用虚函数
12.4.4多重继承与虚函数
12.5纯虚函数与抽象类
12.6本章小结
思考题
习题
附录a运算符的优先级和结合性
附录bascii字符集
附录c常用库函数
参考文献
第1章概述
1.1计算机语言和计算机程序设计
1.1.1计算机语言
1.1.2计算机程序设计
1.2程序设计方法
1.2.1结构化程序设计基本思想
1.2.23种基本结构
1.2.3结构化程序设计的过程
1.2.4用自顶向下、逐步细化的方法构造算法实例
1.3程序的实现环境
1.3.1硬件环境
1.3.2软件环境
1.4c语言与c++的发展
1.5本章小结
思考题
习题
第2章程序设计初步
2.1程序的基本结构
2.1.1简单程序:输出一行文本
.2.1,2简单程序:计算两个整数的和
2.1.3简单程序:用多函数方法计算两个整数的和
2.1.4c/c++语言结构化程序的基本结构
2.2数据类型
2.2.1基本数据类型
2.2.2常量
2.2.3变量和内存的概念
2.2.4变量定义和赋初值
2.3算术运算符和算术表达式
2.4赋值运算符和赋值表达式
2.5数据类型的转换
2.6数据的输出和输入
2.6.1格式输出函数
2.6.2格式输入函数
2.7数学函数
2.8简单程序设计
2.9本章小结
思考题
习题
第3章程序控制结构
3.1选择结构程序设计
3.1.1引例
3.1.2关系运算和逻辑运算
3.1.3讧选择结构
3.1.4switch多分支选择结构
3.1.5程序设计举例
3.2循环结构程序设计
3.2.1引例
3.2.2自增和自减运算符
3.2.3while循环和do-while循环
3.2.4for循环
3.2.5循环嵌套
3.2.6break和continue语句
3.2.7循环应用举例
3.3本章小结
思考题
习题
第4章模块化程序设计
4.1模块化程序设计概述
4.2函数的声明、定义和调用
4.2.1函数说明
4.2.2函数定义
4.2.3函数调用及参数的传递
4.2.4带自定义函数的程序设计
4.3函数的多级调用
4.3.1嵌套调用
4.3.2递归调用
4.3.3递归与递推
4.4变量的作用域和存储类别
4.4.1局部变量及存储类别
4.4.2全局变量及存储类别
4.5计算机随机模拟友法
4.5.1伪随机数的产生
4.5.2蒙特卡罗方法
4.6编译预处理
4.7本章小结
思考题
习题
第5章构造数据类型
5.1数组概述
5.2一维数组
5.2.1引例
5.2.2一维数组的定义
5.2.3数组的初始化
5.2.4数组的引用
5.3数组做函数的参数
5.4一维数组的应用
5.4.1排序
5.4.2数据查找
5.4.3数据统计分析
5.5多维数组
5.5.1二维数组的定义
5.5.2二维数组的初始化
5.5.3二维数组的引用
5.5.4二维数组元素在内存中的排列顺序
5.5.5多维数组举例
5.6字符数组与字符串
5.6.1字符数组的定义及初始化
5.6.2用字符数组存放字符串
5.6.3字符数组的输入输出
5.6.4用于字符串处理的函数
5.6.5应用举例
5.7结构体类型
5.7.1结构体类型的定义
5.7.2结构体变量的定义和引用
5.7.3结构体变量的初始化
5.7.4结构体应用举例
5.8共用体类型
5.8.1共用体类型的定义
5.8.2共用体类型变量的定义和引用
5.8.3共用体应用举例
5.9本章小结
思考题
习题
第6章指针
6.1变量的地址和指针
6.1.1数据在内存中的存储
6.1.2访问变量的方式
6.1.3指针变量
6.2指针变量的定义及引用
6.2.1指针变量的定义
6.2.2指针变量的引用
6.3指针与函数
6.3.1指针作为函数参数
6.3.2函数返回指针
6.3.3函数指针
6.4指针与数组
6.4.1指向数组的指针
6.4.2引用数组元素的方法
6.5字符指针
6.5.1字符串的表示形式
6.5.2程序设计举例
6.6指针数组
6.6.1指针数组的概念
6.6.2指针数组的初始化
6.7本章小结
思考题
习题
第7章动态数据结构
7.1从静态数据结构到动态数据结构
7.2动态内存分配
7.2.1ansic中用于动态操作的标准函数
7.2.2c抖中用于动态操作的运算符--new和delete
7.3链表
7.3.1链表的定义
7.3.2链表的建立
7.3.3链表结点的插入
7.3.4链表结点的删除
7.3.5循环链表
7.4本章小结
思考题
习题
第8章文件
8.1文件概述
8.1.1文件的概念和分类
8.1.2文件的操作过程
8.1.3缓冲区和文件指针
8.2文件的打开和关闭
8.2.1文件的打开
8.2.2文件的关闭
8.3文件的顺序操作
8.3.1文件的字符读写函数
8.3.2文件的字符串读写函数
8.3.3文件的数据块读写函数
8.3.4文件的格式化读写函数
8.4文件的随机操作
8.4.1文件定位
8.4.2文件的随机读写
8.5文件的检测
8.6本章小结
思考题
习题
第2篇面向对象程序设计
第9章从结构化程序设计到面向对象程序设计
9.1c++对c的改进和扩充
9.1.1输入输出流
9.1.2函数的重载
9.1.3带默认参数的函数
9.1.4内联函数
9.1.5一元作用域运算符
9.1.6引用与函数
9.2面向对象的程序设计方法
9.2.1面向对象的概念
9.2.2类和对象
9.2.3面向对象程序设计的特性--封装性、继承性和多态性
9.3本章小结
思考题
习题
第10章类和对象
10.1从结构到类
10.2类和成员函数的定义
10.2.1类的定义
10.2.2在类外定义成员函数
10.2.3接口与实现方法的分离
10.3对象的定义与成员的访问
10.3.1对象的定义
10.3.2对象成员的访问
10.3.3this指针
10.4构造函数和析构函数
10.4.1构造函数
10.4.2析构函数
10.4.3默认构造函数和默认析构函数
10.4.4拷贝构造函数
10.5静态成员
10.5.1静态数据成员
10.5.2静态成员函数
10.6友元
10.6.1友元函数
10.6.2友元类
10.7对象数组
10.8复合类
10.9本章小结
思考题
习题
第11章继承与派生类
11.1继承与派生类概述
11.2单一继承
11.2.1派生类的定义与实现
11.2.2单一继承与访问控制
11.2.3继承类别及派生类对基类成员的访问权
11.3多重继承
11.3.1派生类的定义与实现
11.3.2多重继承与访问控制
11.3.3虚基类
11.4综合实例
11.5本章小结
思考题
习题
第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在基类构造函数与析构函数中调用虚函数
12.4.4多重继承与虚函数
12.5纯虚函数与抽象类
12.6本章小结
思考题
习题
附录a运算符的优先级和结合性
附录bascii字符集
附录c常用库函数
参考文献
计算机程序设计基础
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×