简介
本书紧密结合目前高等学校计算机教学的发展趋势,将ACM国际大学生
程序设计竞赛的相关内容引入教材,对学生养成良好的编程习惯和编程思
维,提高分析和解决问题的能力大有帮助-这是本书的创新之处。
全书共分12章,各章节内容由浅入深、相互衔接、前后呼应、循序渐
进。第1~6章介绍了C+十程序设计的基础、函数与程序结构、数组与字符
串、指针、结构体与共用体、ACM国际大学生程序设计竞赛相关知识和竞赛
中的输入/输出等;第7~11章介绍了C++面向对象的特性,包括类与对象及
封装性、类的深入、运算符重载和模板、继承性、多态性;第12章介绍了
C++输入/输出流和ACM国际大学生程序设计竞赛中的文件输入/输出;附录A
列出了ASCⅡ码对照表;附录B列出了C/C++与标准C++头文件对照表,方便
学习和参考;附录C介绍了Linux、Unix下编译和调试C++程序的方法。
与本书配套的教材《C++程序设计教程习题答案和实验指导》提供了本
课程的实验内容、习题参考答案和模拟试卷。所有习题和程序均按照ACM国
际大学生程序设计竞赛要求进行设计,并进行了严格的测试,验证了程序
的正确性。本课程设有专门的课程学习网站,具有丰富的学习参考资料,
所有的习题均可在学习网站进行测试。
本书特别适合用做计算机专业和相关专业的教材,作为ACM国际大学生
程序设计竞赛入门教材,也可作为各类考试培训和C++程序设计自学教材。
目录
第1章 C++语言概述
1.1 C++语言简介
1.1.1 C++语言的发展
1.1.2 C++语言的特点
1.2 C++程序基本结构
1.3 C++程序的开发环境
1.3.1 Turbo C++
1.3.2 Visual C++
1.3.3 Dev-C++
1.4 ACM国际大学生程序设计竞赛
1.4.1 ACM国际大学生程序设计竞赛简介
1.4.2 竞赛规则
1.4.3 自动评测系统
l.4.4 竞赛学习资源
习题1
第2章 C++语言编程基础
2.1 C++语言词法
2.1.1 注释
2.1.2 关键字
2.1.3 标识符
2.1.4 常量
2.1.5 变量
2.1.6 运算符
2.1.7 分隔符
2.2 基本数据类型
2.2.1 整型
2.2.2 浮点型
2.2.3 字符型
2.2.4 布尔型
2.2.5 类型转换
2.3 运算符与表达式
2.3.1 算术运算符及其表达式
2.3.2 赋值运算符及其表达式
2.3.3 关系运算符及其表达式
2.3.4 逻辑运算符及其表达式
2.3.5 位运算符
2.3.6 条件运算符
2.3.7 运算符的优先级
2.4 流程控制语句
2.4.1 C++语句
2.4.2 if语句与条件选择控制
2.4.3 条件表达式
2.4.4 switch语句与多项选择
2.4.5 while语句
2.4.6 do while语句
2.4.7 for语句
2.4.8 break语句和continue语句
2.4.9 循环嵌套
2.4.10 return语句
2.4.11 程序设计综合举例
2.5 ACM-ICPC中的输入/输出
习题2
第3章 函数与程序结构
3.1 函数与程序结构概述
3.2 函数的定义与声明
3.2.1 函数的定义
3.2.2 函数声明与函数原型
3.3 函数参数和函数调用
3.3.1 函数形式参数和实际参数
3.3.2 函数的返回值
3.3.3 函数调用
3.4 函数的嵌套与递归调用
3.4.1 函数的嵌套调用
3.4.2 递归调用
3.5 变量作用域和存储类型
3.5.1 局部变量与全局变量
3.5.2 静态存储变量和动态存储变量
3.6 内联函数
3.7 重载函数与默认参数函数
3.7.1 重载函数
3.7.2 默认参数函数
3.8 编译预处理
3.8.1 文件包含
3.8.2 宏定义
3.8.3 条件编译
习题3
第4章 数组与字符串
4.1 数组的概念
4.2 数组的定义
4.2.1 一维数组
4.2.2 二维数组
4.3 数组作为函数的参数
4.3.1 用数组元素做函数实参
4.3.2 用数组名做函数参数
4.3.3 用多维数组名做函数参数
4.4 数组应用举例
4.5 字符串
4.5.1 字符串概念
4.5.2 字符串函数
4.5.3 字符串应用举例
习题4
第5章 指针
5.1 指针的概念
5.2 指针变量
5.2.1 指针定义
5.2.2 指针运算符
5.2.3 引用变量
5.2.4 多级指针与指针数组
5.2.5 指针与常量限定符
5.3 指针与数组
5.3.1 指针与一维数组
5.3.2 指针与二维数组
5.3.3 指针与字符数组
5.3.4 指针与函数
5.4 指针运算
5.5 动态存储分配
5.5.1 new操作符
5.5.2 delete操作符
习题5
第6章 结构体与共用体
6.1 结构体
6.1.1 结构体的声明
6.1.2 结构体变量的引用及初始化赋值
6.2 嵌套结构体
6.3 结构体数组
6.3.1 结构体数组的定义和初始化
6.3.2 结构体数组成员的引用
6.4 结构体指针
6.4.1 指向结构体变量的指针
6.4.2 指向结构体数组的指针
6.4.3 用结构体变量和指向结构体变量的指针作为函数参数
6.5 链表的基本操作
6.5.1 链表基本知识
6.5.2 内存动态管理函数
6.5.3 建立链表
6.5.4 输出链表
6.5.5 对链表的删除操作
6.5.6 对链表的插入操作
6.5.7 对链表的综合操作
6.6 共用体
6.6.1 共用体的概念
6.6.2 共用型变量的定义
6.6.3 共用型变量的引用
6.6.4 共用型数据的特点
6.6.5 共用型变量的应用
6.7 枚举类型
6.8 用typedef定义
习题6
第7章类与对象及封装性
7.1 类的抽象
7.2 类的定义与对象的生成
7.3 构造函数和析构函数
7.4 构造函数的重载
7.5 对象指针
习题7
第8章类的深入
8.1 友元函数
8.2 对象传入函数的讨论
8.3 函数返回对象的讨论
8.4 拷贝构造函数
8.5 this关键字
习题8
第9章运算符重载和模板
9.1 使用成员函数的运算符重载
9.2 友元运算符函数
9.3 重载关系运算符
9.4 进一步考查赋值运算符
9.5 重载new和delete
9.6 重载[]
9.7 重载其他运算符
9.8 模板
9.8.1 模板的概念
9.8.2 函数模板
9.8.3 类模板
习题9
第10章继承性
10.1 对继承性的理解
10.2 类的继承过程
10.3 基类访问控制
10.4 简单的多重继承
10.5 构造函数/析构函数的调用顺序
10.6 给基类构造函数传递参数
10.7 访问的许可
10.8 虚基类
习题10
第11章多态性
11.1 指向派生类型的指针
11.2 虚函数
11.3 继承虚函数
11.4 多态性的优点
11.5 纯虚函数和抽象类
习题11
第12章输入/输出流
12.1 C++的输入/输出
12.2 标准输入/输出流
12.3 文件操作与文件流
12.4 串流类
12.5 格式控制
12.5.1 格式控制符
12.5.2 流对象的成员函数
12.6 ACM-ICPC中的文件输入/输出
习题12
附录A ASCⅡ码对照表
附录B C/C++与标准C++头文件对照表
附录C Linux、Linix下编译C++程序
参考文献
1.1 C++语言简介
1.1.1 C++语言的发展
1.1.2 C++语言的特点
1.2 C++程序基本结构
1.3 C++程序的开发环境
1.3.1 Turbo C++
1.3.2 Visual C++
1.3.3 Dev-C++
1.4 ACM国际大学生程序设计竞赛
1.4.1 ACM国际大学生程序设计竞赛简介
1.4.2 竞赛规则
1.4.3 自动评测系统
l.4.4 竞赛学习资源
习题1
第2章 C++语言编程基础
2.1 C++语言词法
2.1.1 注释
2.1.2 关键字
2.1.3 标识符
2.1.4 常量
2.1.5 变量
2.1.6 运算符
2.1.7 分隔符
2.2 基本数据类型
2.2.1 整型
2.2.2 浮点型
2.2.3 字符型
2.2.4 布尔型
2.2.5 类型转换
2.3 运算符与表达式
2.3.1 算术运算符及其表达式
2.3.2 赋值运算符及其表达式
2.3.3 关系运算符及其表达式
2.3.4 逻辑运算符及其表达式
2.3.5 位运算符
2.3.6 条件运算符
2.3.7 运算符的优先级
2.4 流程控制语句
2.4.1 C++语句
2.4.2 if语句与条件选择控制
2.4.3 条件表达式
2.4.4 switch语句与多项选择
2.4.5 while语句
2.4.6 do while语句
2.4.7 for语句
2.4.8 break语句和continue语句
2.4.9 循环嵌套
2.4.10 return语句
2.4.11 程序设计综合举例
2.5 ACM-ICPC中的输入/输出
习题2
第3章 函数与程序结构
3.1 函数与程序结构概述
3.2 函数的定义与声明
3.2.1 函数的定义
3.2.2 函数声明与函数原型
3.3 函数参数和函数调用
3.3.1 函数形式参数和实际参数
3.3.2 函数的返回值
3.3.3 函数调用
3.4 函数的嵌套与递归调用
3.4.1 函数的嵌套调用
3.4.2 递归调用
3.5 变量作用域和存储类型
3.5.1 局部变量与全局变量
3.5.2 静态存储变量和动态存储变量
3.6 内联函数
3.7 重载函数与默认参数函数
3.7.1 重载函数
3.7.2 默认参数函数
3.8 编译预处理
3.8.1 文件包含
3.8.2 宏定义
3.8.3 条件编译
习题3
第4章 数组与字符串
4.1 数组的概念
4.2 数组的定义
4.2.1 一维数组
4.2.2 二维数组
4.3 数组作为函数的参数
4.3.1 用数组元素做函数实参
4.3.2 用数组名做函数参数
4.3.3 用多维数组名做函数参数
4.4 数组应用举例
4.5 字符串
4.5.1 字符串概念
4.5.2 字符串函数
4.5.3 字符串应用举例
习题4
第5章 指针
5.1 指针的概念
5.2 指针变量
5.2.1 指针定义
5.2.2 指针运算符
5.2.3 引用变量
5.2.4 多级指针与指针数组
5.2.5 指针与常量限定符
5.3 指针与数组
5.3.1 指针与一维数组
5.3.2 指针与二维数组
5.3.3 指针与字符数组
5.3.4 指针与函数
5.4 指针运算
5.5 动态存储分配
5.5.1 new操作符
5.5.2 delete操作符
习题5
第6章 结构体与共用体
6.1 结构体
6.1.1 结构体的声明
6.1.2 结构体变量的引用及初始化赋值
6.2 嵌套结构体
6.3 结构体数组
6.3.1 结构体数组的定义和初始化
6.3.2 结构体数组成员的引用
6.4 结构体指针
6.4.1 指向结构体变量的指针
6.4.2 指向结构体数组的指针
6.4.3 用结构体变量和指向结构体变量的指针作为函数参数
6.5 链表的基本操作
6.5.1 链表基本知识
6.5.2 内存动态管理函数
6.5.3 建立链表
6.5.4 输出链表
6.5.5 对链表的删除操作
6.5.6 对链表的插入操作
6.5.7 对链表的综合操作
6.6 共用体
6.6.1 共用体的概念
6.6.2 共用型变量的定义
6.6.3 共用型变量的引用
6.6.4 共用型数据的特点
6.6.5 共用型变量的应用
6.7 枚举类型
6.8 用typedef定义
习题6
第7章类与对象及封装性
7.1 类的抽象
7.2 类的定义与对象的生成
7.3 构造函数和析构函数
7.4 构造函数的重载
7.5 对象指针
习题7
第8章类的深入
8.1 友元函数
8.2 对象传入函数的讨论
8.3 函数返回对象的讨论
8.4 拷贝构造函数
8.5 this关键字
习题8
第9章运算符重载和模板
9.1 使用成员函数的运算符重载
9.2 友元运算符函数
9.3 重载关系运算符
9.4 进一步考查赋值运算符
9.5 重载new和delete
9.6 重载[]
9.7 重载其他运算符
9.8 模板
9.8.1 模板的概念
9.8.2 函数模板
9.8.3 类模板
习题9
第10章继承性
10.1 对继承性的理解
10.2 类的继承过程
10.3 基类访问控制
10.4 简单的多重继承
10.5 构造函数/析构函数的调用顺序
10.6 给基类构造函数传递参数
10.7 访问的许可
10.8 虚基类
习题10
第11章多态性
11.1 指向派生类型的指针
11.2 虚函数
11.3 继承虚函数
11.4 多态性的优点
11.5 纯虚函数和抽象类
习题11
第12章输入/输出流
12.1 C++的输入/输出
12.2 标准输入/输出流
12.3 文件操作与文件流
12.4 串流类
12.5 格式控制
12.5.1 格式控制符
12.5.2 流对象的成员函数
12.6 ACM-ICPC中的文件输入/输出
习题12
附录A ASCⅡ码对照表
附录B C/C++与标准C++头文件对照表
附录C Linux、Linix下编译C++程序
参考文献
C++程序设计教程
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×