程序设计教程:用C++语言编程

程序设计教程:用C++语言编程
作 者: 陈家骏 郑滔
出版社: 机械工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: C++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  陈家骏,男,1963年生。于南京大学获博士学位,现为南京大学计算机系教授,博士生导师。主要从事软件工程和自然语言处理领域的研究工作,曾多次参加国家/省科技攻关项目、国家/省自然科学基金项目和国家863高科技项目的研究与开发,研究成果多次获得省部级科研奖励。具有多年的实际软件开发和程序设计课程教学的经历。目前正在主持国家863项目“奥运多语言智能信息服务系统关键技术及示范系统研究”中的“受限领域日汉机器翻译技术研究”子课题的研究与开发。郑滔,男,1966年生。于南京大学获硕士学位,现为南京大学软件学院副教授。主要从事软件工程和嵌入式系统领域的研究工作。曾多次参加国家/省科技攻关项目、国家/省自然科学基金项目和国家863高科技项目的研究与开发,研究成果两次获得部级科技成果二等获。具有多年从事实际软件开发和程序设计以及编译技术课程教学的经历。目前正在主持手持智能设备的研究与开发。

内容简介

本教程以C++作为实现语言,介绍了基本的程序设计思想、概念和技术,意图使读者通过阅读,再加上必要的训练和实践,掌握程序设计的规律和步骤。所介绍的具体内容包括:数据类型、表达式、循环、子程序、递归、类/对象、继承、类属、输入/输出以及异常处理等。本教程对于程序设计初学者和具有一定设计经验的技术人员均有相当高的使用价值。本教程是作者多年程序设计教学以及实际科研项目开发经验的结晶。它以C++作为实现语言,介绍了基本的程序设计思想、概念和技术,意图使读者通过阅读,再加上必要的训练和实践.掌握程序设计的规律和步骤。所介绍的具体内容包括:数据类型、表达式、循环、子程序、递归、类对象、继承、类属(泛型)、异常处理以及输入输出等:对于程序设计初学者和具有一定设计经验的技术人员均有相当高的使用价值。在内容上相对完整,在概念上力求精确;该书覆盖了过程式和面向对象两种主流的程序设计范型的基本内容:对一些不太受初学者重视而又非常重要的内容不余笔墨地进行介绍,如:表达式 函数的副作用问题、程序的调试、程序设计风格、异常处理等。书中对一些容易模糊的概念逐个给予 解释和澄清,如:循环与递归的区别.抽象类和虚函数的作用等。在体系结构上安排合理.把握事情的来龙去脉。每一章首先指出本章内容的目的,即解决什么问题.然后再介绍具体的做法,这样使得初学者不至于一上来就陷入"漫无边际"的细节中去;各章之间衔接自然,使得读者有循序渐进的感觉。特别是在介绍了过程式程序设计之后再介绍面向对象程序设计的基本内容.这使得读者能够很好地体会面向对象程序设计的优势。除了第12章给出的"面向对象的Windows应用程序框架"实例外,书中例题丰富,讲解细致、透彻,这能够加强读者对程序设计的实际感受。书中还给出了大量的习题,为读者提供了训练的机会。

图书目录

第1章 概述

1. 1 计算机的工作模型

1. 1. 1 硬件结构

1. 1. 2 软件

1. 2 程序设计

1. 2. 1 程序设计范型

1. 2. 2 程序设计语言

1. 2. 3 程序设计的步骤

1. 3 C十十语言

1. 3. 1 C++的特点

1. 3. 2 C++程序的基本结构

1. 3. 3 C+十语言的词法

1. 3. 4 C++程序设计环境

1. 4 小结

1. 5 习题

第2章 基本数据类型和表达式

2. 1 数据类型概述

2. 2 C+十基本数据类型

2. 3 数据的表现形式

2. 3. 1 常量

2. 3. 2 变量

2. 3. 3 变量值的输入

2. 4 操作符(运算符)

2. 4. 1 算术操作符

2. 4. 2 关系与逻辑操作符

2. 4. 3 位操作符

2. 4. 4 赋值操作符

2. 4. 5 其他操作符

2. 5 表达式

2. 5. 1 表达式的构成与分类

2. 5. 2 操作符的优先级和结合性

2. 5. 3 表达式中的类型转换

2. 5. 4 表达式的副作用问题

2. 5. 5 表达式结果的输出

2. 6 小结

2. 7 习题

第3章 程序的流程控制--语句

3. 1 语句的分类

3. 2 表达式语句

3. 3 复合语句

3. 4 选择语句

3. 4. 1 if语句

3. 4. 2 switch语句

3. 5 循环(重复)语句

3. 5. 1 while语句

3. 5. 2 do-while语句

3. 5. 3 for语句

3. 5. 4 三种循环语句的使用原则

3. 5. 5 循环程序设计实例

3. 6 转移语句

3. 6. 1 break语句

3. 6. 2 continue语句

3. 6. 3 goto语句

3. 7 空语句

3. 8 程序设计风格

3. 8. 1 结构化程序设计

3. 8. 2 关于goto语句

3. 9 小结

3. 10 习题

第4章 过程抽象--函数

4. 1 子程序

4. 1. 1 过程抽象

4. 1. 2 子程序间的数据传输

4. 2 函数

4. 2. 1 函数的定义

4. 2. 2 函数的调用

4. 2. 3 函数的参数传递

4. 3 变量的局部性

4. 3. 1 全局变量与局部变量

4. 3. 2 变量的存储分配(生存期)

4. 3. 3 基于栈的函数调用的实现

4. 3. 4 C++程序的多模块结构

4. 3. 5 标识符的作用域

4. 3. 6 名空间(namespace)

4. 4 递归函数

4. 4. 1 递归函数的定义

4. 4. 2 递归函数的作用

4. 4. 3 递归与循环的选择

4. 4. 4 递归函数实例

4. 5 函数名重载

4. 6 带默认值的形式参数

4. 7 内联函数

4. 8 条件编译

4. 8. 1 基于多环境的程序编制

4. 8. 2 程序调试

4. 9 标准库函数

4. 10 小结

4. 11 习题

第5章 构造数据类型

5. 1 枚举类型

5. 2 数组类型

5. 2. 1 一维数组

5. 2. 2 维数组

5. 2. 3 数组的应用

5. 3 结构(struct)与联合(union)

5. 3. 1 结构

5. 3. 2 联合(共同体)

5. 4 指针类型

5. 4. 1 指针的基本概念

5. 4. 2 指针作为形参类型

5. 4. 3 指针与动态变量

5. 4. 4 指针与数组

5. 4. 5 函数指针

5. 4. 6 多级指针

5. 5 引用类型

5. 6 小结

5. 7 习题

第6章 数据抽象--类

6. 1 从面向过程到面向对象

6. 1. 1 什么是面向对象程序设计

6. 1. 2 为什么要面向对象

6. 1. 3 面向对象程序设计的基本内容

6. 2 类的定义

6. 2. 1 数据成员

6. 2. 2 成员函数

6. 2. 3 成员的访问控制:信息隐藏

6. 3 对象

6. 3. 1 对象的创建和标识

6. 3. 2 对象的操作

6. 3. 3 this指针

6. 4 对象的初始化和消亡前处理

6. 4. 1 构造函数与析构函数

6. 4. 2 成员对象的初始化

6. 4. 3 拷贝构造函数

6. 5 const成员函数

6. 6 静态成员

6. 7 友元

6. 8 小结

6. 9 习题

第7章 操作符重载

7. 1 操作符重载的必要性和基本原则

7. 2 作为成员函数重载操作符

7. 3 作为全局(友元)函数重载操作符

7. 4 几个特殊操作符的重载

7. 4. 1 赋值操作符二

7. 4. 2 数组元素访问操作符(或下标操作符)[]

7. 4. 3 类成员访问操作符-->

7. 4. 4 动态存储分配与去配操作符new与delete

7. 4. 5 自定义类型转换操作符

7. 4. 6 函数调用操作符()

7. 5 小结

7. 6 习题

第8章 继承--派生类

8. 1 继承的概念

8. 2 单继承

8. 2. 1 单继承的定义

8. 2. 2 在派生类中对基类成员的访问

8. 2. 3 继承方式

8. 2. 4 派生类对象的初始化和赋值操作

8. 2. 5 单继承的实例

8. 3 虚函数

8. 3. 1 多态性

8. 3. 2 虚函数

8. 3. 3 纯虚函数和抽象类

8. 3. 4 虚函数动态绑定的实现

8. 4 多继承

8. 4. 1 多继承的必要性

8. 4. 2 多继承的定义

8. 4. 3 名冲突

8. 4. 4 重复继承--虚基类

8. 5 类作为模块

8. 5. 1 类模块的组成

8. 5. 2 Demeter法则

8. 6 小结

8. 7 习题

笫9章 类属(泛型)机制--模板

9. 1 函数模板

9. 2 类模板

9. 3 模板的复用

9. 4 C++标准模板库(STL)

9. 5 小结

9. 6 习题

第10章 输入/输出(I/O)

10. 1 概述

10. 2 控制台I/O

10. 2. 1 基于I/O函数库的控制台I/O

10. 2. 2 基于I/O类库的控制台I/O

10. 3 文件I/O

10. 3. 1 基于I/O函数库的文件I/O

10. 3. 2 基于I/O类库的文件I/O

10. 4 字符串I/O

10. 5 小结

10. 6 习题

第11章 异常处理

11. 1 异常的概念

11. 2 C++异常处理机制

11. 2. 1 try. throw以及catch语句

11. 2. 2 异常处理的嵌套

11. 3 小结

11. 4 习题

第12章 实例--面向对象的Windows应用程序框架

12. 1 Windows应用程序的基本结构

12. 1. 1 应用程序的用户界面

12. 1. 2 消息驱动的程序结构

12. 2 MFC类库(Microsoft Foundation Class library)

12. 2. 1 面向对象的Windows应用程序结构

12. 2. 2 MFC对面向对象的Windows应用程序的支持

12. 2. 3 VisualC++的应用向导(AppWizard)和类向导(ClassWizard)

12. 3 小结

12. 4 习题

例子索引

图表索引

附录 ASCII字符集及其编码

参考文献