程序设计(C++)——基础、程序解析与实验指导 / 电子信息学科基础课程系列教材
¥35.00定价
作者: 姚普选
出版时间:2014年11月
出版社:清华大学出版社
- 清华大学出版社
- 9787302380955
- 1-1
- 173510
- 16开
- 2014年11月
- 工学
- 软件工程
- TP311.1
- 电工电子
- 高职高专
内容简介
姚普选编著的这本《程序设计(C++基础程序解析与实验指导)》以C++语言为载体,介绍了程序设计的基本思想、常用的程序设计方法以及算法、数据结构的概念等程序设计的相关知识与技能。本书的主要内容包括:程序设计基础知识与C++程序设计的一般方法;算法、数据结构的概念及应用;数据类型的概念以及C++中的常用数据类型;面向对象程序设计方法;模板、异常处理等机制的概念及应用;输入输出流与数据文件的概念及应用。
本书将理论知识、程序实例与实验指导整合为一体,尽力为各教学环节的融会贯通创造条件。本书注重程序设计理念的先进性、程序设计方法的实用性以及学习过程中思维的连贯性,对于主要概念、常用方法以及具有递进关系的系列内容,都根据教学活动中的实际需求予以精心的编排与讲解。
本书可用作高等院校计算机程序设计课程的教材,也可与《程序设计教程(C++)》一书一起作为教材,还可作为程序设计工作者的参考书。
本书将理论知识、程序实例与实验指导整合为一体,尽力为各教学环节的融会贯通创造条件。本书注重程序设计理念的先进性、程序设计方法的实用性以及学习过程中思维的连贯性,对于主要概念、常用方法以及具有递进关系的系列内容,都根据教学活动中的实际需求予以精心的编排与讲解。
本书可用作高等院校计算机程序设计课程的教材,也可与《程序设计教程(C++)》一书一起作为教材,还可作为程序设计工作者的参考书。
目录
第1章 程序设计的概念
1.1 基本知识
1.1.1 C++程序中的语句及命令行
1.1.2 C++程序中的函数
1.1.3 Visual C++的控制台工程
1.2 程序解析
程序1-1 计算并联电阻
程序1-2 求解二元一次方程组
程序1-3 判断考试是否及格
1.3 实验指导
实验1-1 C++程序的编辑、编译和运行
实验1-2 简单C++程序
实验1-3 程序的调试和运行
第2章 基本数据类型与表达式
2.1 基本知识
2.1.1 基本数据类型、常量与变量
2.1.2 运算符与表达式
2.1.3 数据的输入与输出
2.2 程序解析
程序2-1 整数加法练习
程序2-2 输出5位整数的反序数
程序2-3 统计参赛选手分数
2.3 实验指导
实验2-1 不同类型数据的输入输出
实验2-2 表达式求值
实验2-3 数据的输出格式控制
第3章 算法与控制结构
3.1 基本知识
3.1.1 算法的概念与表示
3.1.2 算法的3种基本结构
3.1.3 C++中实现选择结构和循环结构的语句
3.2 程序解析
程序3-1 求三角形的面积
程序3-2 确定某年某月的天数
程序3-3 输出100以内能同时被3和5整除的数
程序3-4 穷举法求组合数
程序3-5 计算sinx函数的值
3.3 实验指导
实验3-1 3种基本结构
实验3-2 迭代法与穷举法
第4章 函数与编译预处理
4.1 基本知识
4.1.1 函数的定义和调用
4.1.2 变量的作用域
4.1.3 变量的生存期
4.1.4 C++程序的多文件结构
4.1.5 编译预处理
4.2 程序解析
程序4-1 将字符串中的小写字母转换为大写字母
程序4-2 求3个实数中的最大数
程序4-3 比较两个分数的大小
程序4-4 求多项式的值
程序4-5 牛顿迭代法求方程的根
4.3 实验指导
实验4-1 函数的定义和调用
实验4-2 函数的嵌套与递归调用
实验4-3 编译预处理与多文件结构
第5章 构造类型与顺序表操作
5.1 基本知识
5.1.1 一维数组的定义和使用
5.1.2 二维数组的定义和使用
5.1.3 字符串处理
5.1.4 结构体的定义和使用
5.1.5 顺序表的概念
5.1.6 顺序表的C++实现
5.2 程序解析
程序5-1 顺序查找
程序5-2 二分查找
程序5-3 筛法求素数
程序5-4 约瑟夫斯问题
程序5-5 快速排序
程序5-6 计算并输出学生成绩表
程序5-7 枚举型变量的使用
5.3 实验指导
实验5-1 数组的使用
实验5-2 字符串的使用
实验5-3 结构体及结构体数组的使用
第6章 指针与链表
6.1 基本知识
6.1.1 指针变量
6.1.2 动态存储分配
6.1.3 指针与数组和字符串
6.1.4 指针与函数
6.1.5 线性链表
6.2 程序解析
程序6-1 三数排序并输出
程序6-2 逆置数组元素
程序6-3 计算圆的周长和面积
程序6-4 按3位分节格式输出正整数
程序6-5 线性链表求解约瑟夫斯问题
6.3 实验指导
实验6-1 指针变量与取地址运算符
实验6-2 指针与数组和字符串
实验6-3 线性单链表的创建与查找
第7章 类和对象
7.1 基本知识
7.1.1 类与对象的定义和使用
7.1.2 构造函数与析构函数
7.1.3 对象与指针
7.1.4 类的静态成员和友元
7.1.5 类的常对象与常成员
7.2 程序解析
程序7-1 日期类
程序7-2 日期时间类
程序7-3 学生成绩类
程序7-4 核对密码的学生成绩类
程序7-5 矩阵的加减运算
7.3 实验指导
实验7-1 修改并运行程序
实验7-2 人员类及其对象
实验7-3 椭圆类及其对象
第8章 类的继承性与多态性
8.1 基本知识
8.1.1 派生类的定义
8.1.2 派生类的继承方式
8.1.3 派生类的构造函数和析构函数
8.1.4 重载
8.1.5 虚函数
8.2 程序解析
程序8-1 点类与直线类
程序8-2 点类、圆类与圆柱类
程序8-3 多重继承的工程硕士类
程序8-4 通过函数重载求数组中最大元素
程序8-5 抽象图形类以及圆、矩形和三角形类
8.3 实验指导
实验8-1 类的继承性
实验8-2 函数重载与运算符重载
实验8-3 虚函数与抽象类
第9章 模板、异常处理和命名空间
9.1 基本知识
9.1.1 函数模板和类模板
9.1.2 异常处理
9.1.3 命名空间
9.2 程序解析
程序9-1 模板函数实现矩阵加法
程序9-2 类模板实现顺序表
程序9-3 类模板实现数组越界报错
9.3 实验指导
实验9-1 函数模板和类模板
实验9-2 异常处理
第10章 输入/输出流
10.1 基本知识
10.1.1 输入/输出流
10.1.2 数据文件的打开与关闭
10.1.3 数据文件的读写
10.2 程序解析
程序10-1 从输入流中分析出数字串
程序10-2 通信录文本文件
程序10-3 二进制方式打开指定文件
10.3 实验指导
实验10-1 输出操作
实验10-2 输入操作
实验10-3 文件读写操作
附录A ASCII码表
附录B 程序的调试与纠错
附录C 图形用户界面应用程序
参考文献
1.1 基本知识
1.1.1 C++程序中的语句及命令行
1.1.2 C++程序中的函数
1.1.3 Visual C++的控制台工程
1.2 程序解析
程序1-1 计算并联电阻
程序1-2 求解二元一次方程组
程序1-3 判断考试是否及格
1.3 实验指导
实验1-1 C++程序的编辑、编译和运行
实验1-2 简单C++程序
实验1-3 程序的调试和运行
第2章 基本数据类型与表达式
2.1 基本知识
2.1.1 基本数据类型、常量与变量
2.1.2 运算符与表达式
2.1.3 数据的输入与输出
2.2 程序解析
程序2-1 整数加法练习
程序2-2 输出5位整数的反序数
程序2-3 统计参赛选手分数
2.3 实验指导
实验2-1 不同类型数据的输入输出
实验2-2 表达式求值
实验2-3 数据的输出格式控制
第3章 算法与控制结构
3.1 基本知识
3.1.1 算法的概念与表示
3.1.2 算法的3种基本结构
3.1.3 C++中实现选择结构和循环结构的语句
3.2 程序解析
程序3-1 求三角形的面积
程序3-2 确定某年某月的天数
程序3-3 输出100以内能同时被3和5整除的数
程序3-4 穷举法求组合数
程序3-5 计算sinx函数的值
3.3 实验指导
实验3-1 3种基本结构
实验3-2 迭代法与穷举法
第4章 函数与编译预处理
4.1 基本知识
4.1.1 函数的定义和调用
4.1.2 变量的作用域
4.1.3 变量的生存期
4.1.4 C++程序的多文件结构
4.1.5 编译预处理
4.2 程序解析
程序4-1 将字符串中的小写字母转换为大写字母
程序4-2 求3个实数中的最大数
程序4-3 比较两个分数的大小
程序4-4 求多项式的值
程序4-5 牛顿迭代法求方程的根
4.3 实验指导
实验4-1 函数的定义和调用
实验4-2 函数的嵌套与递归调用
实验4-3 编译预处理与多文件结构
第5章 构造类型与顺序表操作
5.1 基本知识
5.1.1 一维数组的定义和使用
5.1.2 二维数组的定义和使用
5.1.3 字符串处理
5.1.4 结构体的定义和使用
5.1.5 顺序表的概念
5.1.6 顺序表的C++实现
5.2 程序解析
程序5-1 顺序查找
程序5-2 二分查找
程序5-3 筛法求素数
程序5-4 约瑟夫斯问题
程序5-5 快速排序
程序5-6 计算并输出学生成绩表
程序5-7 枚举型变量的使用
5.3 实验指导
实验5-1 数组的使用
实验5-2 字符串的使用
实验5-3 结构体及结构体数组的使用
第6章 指针与链表
6.1 基本知识
6.1.1 指针变量
6.1.2 动态存储分配
6.1.3 指针与数组和字符串
6.1.4 指针与函数
6.1.5 线性链表
6.2 程序解析
程序6-1 三数排序并输出
程序6-2 逆置数组元素
程序6-3 计算圆的周长和面积
程序6-4 按3位分节格式输出正整数
程序6-5 线性链表求解约瑟夫斯问题
6.3 实验指导
实验6-1 指针变量与取地址运算符
实验6-2 指针与数组和字符串
实验6-3 线性单链表的创建与查找
第7章 类和对象
7.1 基本知识
7.1.1 类与对象的定义和使用
7.1.2 构造函数与析构函数
7.1.3 对象与指针
7.1.4 类的静态成员和友元
7.1.5 类的常对象与常成员
7.2 程序解析
程序7-1 日期类
程序7-2 日期时间类
程序7-3 学生成绩类
程序7-4 核对密码的学生成绩类
程序7-5 矩阵的加减运算
7.3 实验指导
实验7-1 修改并运行程序
实验7-2 人员类及其对象
实验7-3 椭圆类及其对象
第8章 类的继承性与多态性
8.1 基本知识
8.1.1 派生类的定义
8.1.2 派生类的继承方式
8.1.3 派生类的构造函数和析构函数
8.1.4 重载
8.1.5 虚函数
8.2 程序解析
程序8-1 点类与直线类
程序8-2 点类、圆类与圆柱类
程序8-3 多重继承的工程硕士类
程序8-4 通过函数重载求数组中最大元素
程序8-5 抽象图形类以及圆、矩形和三角形类
8.3 实验指导
实验8-1 类的继承性
实验8-2 函数重载与运算符重载
实验8-3 虚函数与抽象类
第9章 模板、异常处理和命名空间
9.1 基本知识
9.1.1 函数模板和类模板
9.1.2 异常处理
9.1.3 命名空间
9.2 程序解析
程序9-1 模板函数实现矩阵加法
程序9-2 类模板实现顺序表
程序9-3 类模板实现数组越界报错
9.3 实验指导
实验9-1 函数模板和类模板
实验9-2 异常处理
第10章 输入/输出流
10.1 基本知识
10.1.1 输入/输出流
10.1.2 数据文件的打开与关闭
10.1.3 数据文件的读写
10.2 程序解析
程序10-1 从输入流中分析出数字串
程序10-2 通信录文本文件
程序10-3 二进制方式打开指定文件
10.3 实验指导
实验10-1 输出操作
实验10-2 输入操作
实验10-3 文件读写操作
附录A ASCII码表
附录B 程序的调试与纠错
附录C 图形用户界面应用程序
参考文献