本教程从C语言基础开始,到C++的面向对象的编程思想。\r\n\r\n 本书共由16课和3个附录构成。主要内容包括:编程逻辑和技术;编辑和编译C++程序;常量、变量和指针;运算符、优先级和结合律;函数、函数指针和指针函数:面向对象的编程方法:类;成员函数、构造符和析构符;条件判定、循环和跳转;数组、数组指针和指针数组;静态多态:构造符重载和运算符重载;类的关系:类的包含和类的继承;动态多态:滞后联编和函数重载;多重继承、歧义性和虚基类;文件的输出和输入;类指针、单链表和双链表;用链表实现栈和队列。\r\n\r\n 本书参考了大量的国际软件工程师培训教程,以及作者多年编程经验和教学经验,采用符合国际性标准的编程方法和惯例。实例典型、通俗易懂、版式活泼。\r\n\r\n 本书适合想通过自学快速掌握C++的读者,也可作为培训教材。\r\n\r\n 本书配有内容为范例程序源代码以及Quincy 99编译器和Editp,us 2编辑器的光盘一张。需要本书或技术支持的读者,请与北京中关村083信箱(邮编100080)发行部联系,电话:010-62528991,62524940,62521921,62521724,82610344,82675588(总机)传真:010-62520573,E-mail:yanmc@bhp.com.cn\r\n
\r\n
引言 \r\n\r\n 关于本教程 \r\n\r\n 谁能参加本教程 \r\n\r\n 怎样使用本教程 \r\n\r\n 第1课 编程逻辑和技术 \r\n\r\n 引入框图 \r\n\r\n I-P-O周期 \r\n\r\n 使用框图表示程序流程 \r\n\r\n 变量. 常量和内存 \r\n\r\n 循环迭代和条件判定 \r\n\r\n 预检和预检表 \r\n\r\n 循环迭代 \r\n\r\n 条件判定 \r\n\r\n 理解编程的模块化方法 \r\n\r\n 养成一个好的习惯 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 第2课 编辑和编译C++程序 \r\n\r\n C和C++语言概述 \r\n\r\n 计算机语言的代 \r\n\r\n C和C++语言的发展历史 \r\n\r\n C和C++语言的特点 \r\n\r\n 编写“我的第1个C++程序” \r\n\r\n 编写C++程序 \r\n\r\n 保存C++程序 \r\n\r\n C++程序的成分 \r\n\r\n 使用名字空间std \r\n\r\n 程序的编译. 链接和执行 \r\n\r\n Linux平台下的GNU编译器 \r\n\r\n Quincy 99集成开发环境编译器 \r\n\r\n Microsoft Visual C++编译器 \r\n\r\n 使用模块化编程方法 \r\n\r\n 使用C结构化编程方法 \r\n\r\n 使用C++面向对象编程方法 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 第3课 常量. 变量和指针 \r\n\r\n 数据类型概述 \r\n\r\n 数据类型的分类 \r\n\r\n 常量. 变量和内存 \r\n\r\n 基本数据类型 \r\n\r\n 布尔型(bool) \r\n\r\n 字符型(char) \r\n\r\n ASCII字符集 \r\n\r\n 整型(int) \r\n\r\n 浮点型(float) \r\n\r\n 数据大小与sizeof运算符 \r\n\r\n 数据类型转换 \r\n\r\n 指针变量 \r\n\r\n 指针基础 \r\n\r\n 定义指针变量 \r\n\r\n 引用指针变量&和* \r\n\r\n 类型修饰符 \r\n\r\n Const类型修饰符 \r\n\r\n Volatile类型修饰符 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 第4课 运算符. 优先级和结合律 \r\n\r\n 基本概念 \r\n\r\n 基本运算符 \r\n\r\n 算术运算符 \r\n\r\n 算术赋值运算符 \r\n\r\n 一元增量. 减量运算符 \r\n\r\n 比较运算符 \r\n\r\n 逻辑运算符 \r\n\r\n 条件运算符 \r\n\r\n 逗号运算符 \r\n\r\n 优先级与结合律 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 第5课 函数. 函数指针和指针函数 \r\n\r\n 定义函数和调用函数 \r\n\r\n 变量的作用域 \r\n\r\n 块作用域 \r\n\r\n 函数作用域 \r\n\r\n 全局作用域 \r\n\r\n 带参数的函数 \r\n\r\n 形参和实参 \r\n\r\n 调用函数 \r\n\r\n 声明函数原型 \r\n\r\n 函数调用方式 \r\n\r\n 直接调用(也叫传值调用) \r\n\r\n 使用别名的引用调用 \r\n\r\n 用指针的引用调用 \r\n\r\n new和delete运算符 \r\n\r\n 变量的存储类型 \r\n\r\n 静态存储和动态存储 \r\n\r\n 函数指针 \r\n\r\n 指针函数 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 第6课 面向对象的编程方法:类 \r\n\r\n C++中的类 \r\n\r\n 声明类 \r\n\r\n 作用域分解运算符(::) \r\n\r\n 访问成员变量和成员函数 \r\n\r\n 创建类对象 \r\n\r\n 类对象访问符(. ) \r\n\r\n 类指针访问符(->) \r\n\r\n 类的访问区分符 \r\n\r\n 抽象和封装 \r\n\r\n 使用访问区分符实现抽象和封装 \r\n\r\n 静态变量和静态函数 \r\n\r\n 静态变量 \r\n\r\n 静态函数 \r\n\r\n 类作用域. 友元函数和友元类 \r\n\r\n 类作用域 \r\n\r\n 友元函数 \r\n\r\n 友元类 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 第7课 成员函数. 构造符和析构符 \r\n\r\n 构造符函数的需要 \r\n\r\n 声明构造符函数 \r\n\r\n 成员方式初始化 \r\n\r\n 析构符函数 \r\n\r\n 对象的作用域和生命周期 \r\n\r\n 带参数的构造符 \r\n\r\n 初始化值来自键盘 \r\n\r\n 初始化值来自实参 \r\n\r\n 带参数默认值的构造符 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 第8课 条件判定. 循35和跳转 \r\n\r\n 条件构造 \r\n\r\n If…else构造 \r\n\r\n switch…case构造 \r\n\r\n 循环构造 \r\n\r\n while循环 \r\n\r\n do…while循环 \r\n\r\n break和continue语句 \r\n\r\n for循环构造 \r\n\r\n 跳转构造 \r\n\r\n goto语句的错误用法 \r\n\r\n goto语句错误的改正 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 第9课 数组. 数组指针和指针数组 \r\n\r\n 一维int数组 \r\n\r\n int数组和数组指针 \r\n\r\n 串_一维char数组 \r\n\r\n 字符串和数组指针 \r\n\r\n string字符串对象 \r\n\r\n 构造字符串 \r\n\r\n 给字符串对象赋值 \r\n\r\n 字符串的连接 \r\n\r\n 字符串的下标 \r\n\r\n 字符串的子串 \r\n\r\n 字符串的比较 \r\n\r\n 指针数组和指针的指针 \r\n\r\n 指针数组 \r\n\r\n 指针的指针 \r\n\r\n 二维数组 \r\n\r\n 三维数组 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 第10课 静态多态:构造符重载和运算符重载 \r\n\r\n 静态多态性 \r\n\r\n 函数重载 \r\n\r\n 成员函数重载 \r\n\r\n 构造符重载 \r\n\r\n 运算符重载 \r\n\r\n 运算符重载的需要 \r\n\r\n 一元运算符重载 \r\n\r\n 简单的前缀一元运算符 \r\n\r\n 事前和事后的增量和减量运算符 \r\n\r\n 重载二元运算符 \r\n\r\n 简单运算符 \r\n\r\n 加号运算符重载 \r\n\r\n 大于(>)运算符重载 \r\n\r\n this指针 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 第11课 类的关系:类的包含和类的继承 \r\n\r\n 识别类之间的关系 \r\n\r\n 继承关系 \r\n\r\n 组合关系 \r\n\r\n 利用关系 \r\n\r\n 实例化关系 \r\n\r\n 类和继承性 \r\n\r\n 继承性 \r\n\r\n 调用构造符和析构符的顺序 \r\n\r\n 基类初始化 \r\n\r\n 派生的访问区分符 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 第12课 动态多态:滞后联编和函数重载 \r\n\r\n 实现滞后联编 \r\n\r\n 联编的概念 \r\n\r\n 用虚函数实现滞后联编 \r\n\r\n 静态多态性与动态多态性的比较 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 第13课 多重继承. 歧义性和虚基类 \r\n\r\n 多重继承性 \r\n\r\n 多重继承中访问区分符 \r\n\r\n 多重继承中的歧义性 \r\n\r\n 虚基类 \r\n\r\n 调用构造符和析构符 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 第14课 文件的输出和输入 \r\n\r\n 流类层次结构 \r\n\r\n 流的插入和抽取 \r\n\r\n 流的插入 \r\n\r\n 流的抽取 \r\n\r\n 文件输出和输入 \r\n\r\n 使用内部数据类型的文件输出和输入 \r\n\r\n 使用对象的文件输出和输入 \r\n\r\n 二进制输出和输入 \r\n\r\n 文件的打开和关闭 \r\n\r\n open()函数 \r\n\r\n close()函数 \r\n\r\n 打开方式位 \r\n\r\n 文件指针 \r\n\r\n 查询文件 \r\n\r\n 修改文件的内容 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 第15课 类指针. 单链表和双链表 \r\n\r\n 链表 \r\n\r\n 链表的类型 \r\n\r\n 链表的操作 \r\n\r\n 链表的应用 \r\n\r\n 单链表 \r\n\r\n INFO在节点中的表示 \r\n\r\n Node类的表示 \r\n\r\n List类的表示 \r\n\r\n 链表中插入节点 \r\n\r\n 作为新链表的第1个节点 \r\n\r\n 在表的开始处插入节点 \r\n\r\n 在表的中间插入节点 \r\n\r\n 在表的尾部插入节点 \r\n\r\n 修改链表 \r\n\r\n 遍历链表 \r\n\r\n 查询信息 \r\n\r\n 删除节点 \r\n\r\n 链表排序 \r\n\r\n 链表操作 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 第16课 用链表实现栈和队列 \r\n\r\n 栈 \r\n\r\n 栈操作 \r\n\r\n 用链表实现栈 \r\n\r\n 队列 \r\n\r\n 队列类型 \r\n\r\n 队列操作 \r\n\r\n 用链表实现队列 \r\n\r\n 小结 \r\n\r\n 独立实践 \r\n\r\n 附录 \r\n\r\n 附录A ASCII字符集 \r\n\r\n 附录B 运算符优先级 \r\n\r\n 附录C C++的关键字 \r\n
\r\n
本教程的目的
目前, 由于软件产业的美好前景和诱人的薪酬, 软件培训和软件学习如火如荼, 热遍大江南北, 光NIIT. 北大青鸟等知名的培训机构在国内就有1000多家, 培训学员200多万人. 本人作为NIIT特聘教师, 深切体会到由于时间或学费等问题不能参加培训而又渴望学习和快速掌握软件编程的人们. 需要这样一本详细浅显. 通俗易懂的教程.
本教程的主要内容
阅读本教程不需任何编程基础, 本教程从最基础的C语言讲起, 包括变量. 数组. 函数和指针, 运算符. 优先级. 条件构造和循环迭代, 并引入了C++的类. 构造符和析构符第l课到第9课. 从第10课到第16课主要是C++的内容, 包括函数重载. 构造符重载和运算符重载, 类的包含. 类的继承. 多重继承和虚基类:以及类指针. 链表. 栈和队列等内容.
谁能参加本教程
本教程适用于想使用C++语言, 进入面向对象编程世界的任何人. 我在学校读书的时候, 经常听老师说的一句话是“好记性, 不如懒笔头”. 说明动手的重要性. 学习计算机语言编程, 尤其如此. 尽管本教程附带的CD-ROM光盘中包含全书所有范例程序的源代码, 但要求学员在读懂代码的基础上, 合上教程, 亲手默写并调试运行, 只有这样才能亲自感受编程的感觉.
本教程附带的CD-ROM光盘中所有范例程序都经过Microsoft Visual C++编译器编译运行.
怎样使用本教程
本教程范例程序所涉及的知识点, 必在前面的相关课中详细讲过, 因此要求学员按顺序学习, 注意阅读每课后的小结, 完成独立实践, 是对本课学习内容的总结和复习.
参加本书编写的人员
主编宋振会
编委 李秋芬 张 瑾 孔祥国 张卫东 白先栋 张 青 王志刚 顾茂香 高冬梅 梁冰捷 肖国建 张 庆 赵 洁 仇晓敏 刘国华 王 斌 魏 伟 顾 蓓 陈荣国 李 丽