入门很简单丛书:C++入门很简单
《入门很简单丛书:C++入门很简单》以简单实用为原则,讲解通俗易懂,循序渐进,避免了云山雾罩、晦涩难懂。《入门很简单丛书:C++入门很简单》语言轻松活泼,用类比、对比、比喻等写作手法,并配合图解教学,对难点之处又给出了必要提示;书中的每个知识点都对应相应的编程实例,便于读者一边学习一边动手实践,既可以提高读者的动手能力,也可以激发学习兴趣。《入门很简单丛书:C++入门很简单》共19章,分为5篇。第1篇C++编程基础介绍了程序设计基本概念、基本数据类型和运行符、数组、指针与引用、结构体和共用体、函数封装;第2篇面向对象程序设计介绍了类和对象、继承、虚函数和多态性;第3篇C++模板介绍了函数模板、类模板和标准模板库;第4篇介绍了输入/输出流和文件流、异常处理、程序预处理、string类和其他信息;第5篇C++项目实战介绍了一个学生管理系统的开发。
基本信息
- 书名
入门很简单丛书:C++入门很简单
- 作者
池剑锋 等
- 出版社
清华大学出版社
- 出版日期
2014年3月1日
- 页数
433页
基本介绍
内容简介
《入门很简单丛书:C++入门很简单》特色:1.提供配套的多媒体教学视频《入门很简单丛书:C++入门很简单》专门录制了配套多媒体教学视频,帮助读者直观而高效地学习,从而达到事半功倍的效果。这些视频和《入门很简单丛书:C++入门很简单》实例源代码收录于《入门很简单丛书:C++入门很简单》配套光盘中。2.起点较低,不需要程序设计的基础知识一些初学者在学C++语言之前并没有接触过其他程序设计语言,《入门很简单丛书:C++入门很简单》从程序设计基础知识讲起,详细介绍C++的语法知识和要点,使读者对其有充分了解,从而具备一定的程序设计基础。3.划分有序,编排合理《入门很简单丛书:C++入门很简单》将C++程序设计划分为4大部分,分别是面向结构程序设计、面向对象程序设计、泛型编程以及输入输出流。这4个部分在编排逻辑上依次渐进,后续知识点需要前面的知识作为铺垫,知识结构与脉络清晰,便于读者理解知识点。4.诙谐幽默,穿插了大量生活化的例子。
作者简介
池剑锋,毕业于杭州电子科技大学。获计算机应用技术硕士学位。研究方向为脑电信号分析、处理与应用。热衷并致力于脑电信号分析与处理算法的研究和应用,实现了稳定、多用途的算法应用框架。长期从事C++程序设计,对C++程序设计有透彻和深入的理解。
图书目录
第1篇C++编程基础篇 第1章C++编程前奏(教学视频:19分钟) 1.1计算机的五脏六腑 1.1.1控制器 1.1.2运算器 1.1.3存储器 1.1.4输入设备 1.1.5输出设备 1.2操作系统的进化史 1.3编程语言的家谱 1.3.1机器语言 1.3.2汇编语言 1.3.3高级语言 1.4面向过程程序设计 1.5面向对象程序设计 1.5.1面向对象的方法由来——万物皆是对象 1.5.2面向对象的基本概念 1.6搭建C++开发环境 1.6.1下载和安装大管家——VisualC++6.0 1.6.2大管家的责任 1.6.3迈出第一步——第一个C++程序 1.7C++编程简述 1.7.1C++语言特点 1.7.2C++的良好编程风格 1.8本章小结 1.9本章习题 第2章开始C++开发之旅(教学视频:27分钟) 2.1机器的螺丝——基本数据类型和常用库函数 2.1.1字符集和标识符 2.1.2整型数据 2.1.3浮点型数据 2.1.4字符型数据 2.1.5字符串和枚举常量 2.1.6符号常量和变量 2.1.7输入/输出函数 2.1.8其他常用的函数 2.2运算符和表达式 2.2.1算术运算符 2.2.2逻辑运算符 2.2.3关系运算符 2.2.4位操作运算符 2.2.5赋值运算符和相等性运算符(==) 2.2.6字节数运算符(sizeof) 2.2.7运算符的优先级和结合性 2.2.8算术表达式 2.2.9逻辑表达式 2.2.10关系表达式 2.2.11条件表达式 2.2.12赋值表达式 2.2.13逗号表达式 2.3类型转换 2.3.1强制类型转换 2.3.2自动类型转换 2.4控制结构和语句 2.4.1for重复结构及示例 2.4.2while重复结构及示例 2.4.3do/while重复结构及示例 2.4.4if—else结构及示例 2.4.5switch多选结构 2.4.6break和continue语句 2.4.7goto语句 2.5预处理 2.5.1文件包含命令(#include) 2.5.2宏定义命令(#define) 2.6本章小结 2.7本章习题 第3章数组和字符串(教学视频:30分钟) 3.1一维数组 3.1.1一维数组定义 3.1.2一维数组的初始化 3.1.3一维数组元素的引用 3.1.4一维数组示例 3.2多维数组 3.2.1多维数组定义 3.2.2初始化多维数组 3.2.3多维数组应用举例 3.3字符数组和字符串 3.3.1字符数组的定义和赋值 3.3.2字符串的输入/输出 3.3.3字符串应用示例 3.4本章小结 3.5本章习题 第4章指针与引用(教学视频:46分钟) 4.1市场经济——指针的定义及格式 4.1.1什么是指针 4.1.2声明一个指针 4.1.3初始化指针变量 4.1.4指向指针的指针 4.2指针的运算 4.2.1指针的赋值运算和增减值运算 4.2.2指针比较运算和相减运算 4.2.3指针运算和地址运算 4.3指针和数组 4.3.1使用数组名的指针表示法 4.3.2指针数组 4.3.3指向数组的指针 4.4动态内存分配 4.4.1使用new动态分配内存 4.4.2delete释放动态申请的内存 4.4.3malloc和free使用 4.4.4内存动态申请注意事项 4.4.5转换指针 4.5常量指针和指向常量的指针 4.5.1常量指针 4.5.2指向常量的指针 4.6人人都可以有绰号——引用 4.6.1引用和引用的创建方法 4.6.2引用和指针关系 4.7本章小结 4.8本章习题 第5章结构体和共用体(教学视频:51分钟) 5.1一串精美的珍珠——结构体 5.1.1结构体的声明 5.1.2结构体变量的定义和使用 5.1.3结构体变量初始化 5.1.4结构体数组定义和引用 5.1.5结构体指针 5.1.6结构体应用举例 5.2大家的公共教室——共用体 5.2.1共用体的声明 5.2.2共用体变量定义和使用 5.2.3共用体和结构体差异 5.2.4共用体数组和指针 5.2.5共用体应用举例 5.3本章小结 5.4本章习题 第6章使用函数编程(教学视频:45分钟) 6.1神秘的黑盒子——函数 6.1.1程序模块化的优势 6.1.2编写一个函数 6.2理解函数 6.2.1函数的定义 6.2.2函数的声明 6.3函数参数和返回值 6.3.1什么是实参和形参 6.3.2参数类型转换 6.3.3函数参数默认值设置 6.3.4函数参数值传递 6.3.5函数参数指针传递 6.3.6函数参数引用传递 6.3.7函数返回值实现 6.4递归函数和内联函数 6.4.1递归函数示例 6.4.2内联(inline)函数示例 6.5函数的重载 6.5.1重载函数特征 6.5.2实现重载函数 6.5.3重载函数的二义性问题 6.6函数存储类型 6.6.1外部函数 6.6.2内部函数 6.7本章小结 6.8本章习题 第7章函数高级应用(教学视频:37分钟) 7.1小心地雷——内存操作问题 7.1.1内存泄漏 7.1.2野指针 7.2函数与结构体、共用体 7.2.1结构体和共用体作为函数参数 7.2.2结构体和共用体作为返回值 7.3函数与数组 7.3.1一维数组作为函数参数 7.3.2二维数组作为函数参数 7.4函数指针 7.4.1函数指针的定义 7.4.2把函数作为参数传递 7.4.3函数指针数组 7.5main函数的参数——程序的入口 7.6本章小结 7.7本章习题 第2篇面向对象程序设计篇 第8章类和对象之基础(教学视频:43分钟) 8.1类和对象的基本概念——抽象与具体辩证 8.1.1类的概念 8.1.2对象概念 8.1.3类和对象的关系 8.2类的定义格式和对象定义方法 8.2.1类的定义格式 8.2.2对象的定义方法 8.2.3对象成员的表示 8.2.4class和struct 8.3一个对象的生与死 8.3.1默认构造函数 8.3.2自定义构造函数 8.3.3析构函数 8.4抄作业的秘密——拷贝构造函数 8.4.1理解拷贝构造函数 8.4.2默认的拷贝构造函数 8.4.3拷贝构造函数方法的选择 8.5公共饮水机——静态成员 8.5.1静态数据成员 8.5.2静态成员函数 8.6只可远观而不可亵玩——常成员 8.6.1常数据成员 8.6.2常成员函数 8.7类的类型转换 8.7.1类型隐式转换 8.7.2类的类型和一般数据类型之间的转换 8.7.3隐式转换存在的二义性问题 8.8本章小结 8.9本章习题 第9章类和对象之进阶(教学视频:44分钟) 9.1类的作用域和对象的生存期 9.1.1类的作用域 9.1.2对象的生存期 9.2严格的海关——友元函数和友元类 9.2.1友元函数 9.2.2友元类 9.3对象指针和数组 9.3.1对象指针 9.3.2this指针 9.3.3对象引用 9.3.4对象数组 9.3.5对象指针数组 9.4按需选择——运算符重载 9.4.1运算符重载的条件 9.4.2重载赋值运算符 9.4.3重载算术运算符 9.4.4重载下标运算符 9.4.5重载类型转换 9.4.6重载new和delete运算符 9.4.7智能指针 9.5本章小结 9.6本章习题 第10章继承(教学视频:45分钟) 10.1父子关系——何谓继承 10.2继承和聚合 10.3基类和派生类 10.3.1从基类派生出新类 10.3.2继承下的访问控制 10.3.3派生类的构造函数和析构函数 10.3.4基类和派生类的类型转换 10.4多重继承 10.4.1多个基类 10.4.2多重继承成员的模糊性 10.4.3重复继承 10.4.4虚基类 10.5本章小结 10.6本章习题 第11章虚函数和多态性(教学视频:21分钟) 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.4.1数据成员指针 11.4.2成员函数指针 11.5本章小结 11.6本章习题 第3篇C++模板篇 第12章函数模板(教学视频:16分钟) 12.1认识函数模板 12.1.1为什么使用模板 12.1.2定义函数模板 12.1.3使用函数模板 12.2函数模板的参数 12.3重载函数模板 12.3.1函数模板之间的重载 12.3.2显示特化的重载 12.3.3普通函数重载 12.4本章小结 12.5本章习题 第13章类模板(教学视频:21分钟) 13.1认识类模板 13.2定义类模板 13.2.1模板参数 13.2.2简单的类模板 13.2.3创建类模板实例 13.2.4类模板的静态成员 13.2.5非类型的类模板参数 13.2.6非类型的参数实例 13.2.7默认参数模板 13.3模板显式实例化 13.4类模板的友元 13.5模板的嵌套 13.6本章小结 13.7本章习题 第14章标准模板库(STL)(教学视频:28分钟) 14.1STL概述 14.1.1STL组件 14.1.2容器(container) 14.1.3迭代器(iterator) 14.1.4算法(algorithm) 14.1.5STL头文件 14.2使用vector容器 14.2.1创建Vector容器 14.2.2访问vector容器中的元素 14.2.3vector基本操作 14.2.4vector容器和数组 14.2.5输入/输出流迭代器 14.3创建自己的迭代器 14.3.1给算法传送迭代器 14.3.2STL迭代器类型要求 14.3.3STL迭代器成员函数的条件 14.3.4插入迭代器 14.4list容器 14.4.1创建list容器 14.4.2访问list容器中的元素 14.4.3list容器上的操作 14.5本章小结 14.6本章习题 第4篇输入/输出操作篇 第15章输入/输出流和文件流(教学视频:32分钟) 15.1C++中的输入/输出流 15.1.1什么是流 15.1.2输出流 15.1.3输入流 15.1.4流格式状态 15.1.5流错误状态 15.2文件流 15.2.1写入文件 15.2.2读取文件 15.2.3文件随机访问 15.2.4随机访问文件的读写操作 15.3字符串流 15.3.1strstream相关类 15.3.2sstream相关类 15.4对象和流 15.4.1<<操作符重载 15.4.2>>操作符重载 15.5本章小结 15.6本章习题 第16章异常处理(教学视频:25分钟) 16.1认识异常 16.1.1了解异常处理 16.1.2抛出异常 16.1.3导致抛出异常的代码 16.2用类对象作为异常 16.2.1用catch处理程序和异常 16.2.2用基类处理程序捕获派生类的异常 16.2.3重新抛出异常 16.2.4捕获所有异常 16.3抛出异常的函数 16.3.1函数try块 16.3.2在构造函数中抛出异常 16.3.3异常和析构函数 16.3.4一个简单的异常处理例子 16.4其他典型异常 16.4.1堆栈解退 16.4.2处理new失败 16.4.3auto_ptr与内存泄漏 16.5本章小结 16.6本章习题 第17章程序的预处理(教学视频:15分钟) 17.1预处理简介 17.2C++预处理程序 17.3include(包含)文件 17.4预处理指令#define 17.4.1预定义符号常量 17.4.2带参数的宏定义和不带参数的宏定义 17.4.3宏定义取消 17.5条件编译 17.5.1#if—#else—#endif指令 17.5.2#if—#elif—#endif指令 17.5.3#ifdef—#endif指令 17.5.4#ifndef—#endif指令 17.6#pragam指令 17.7本章小结 17.8本章习题 第18章string类和其他信息(教学视频:21分钟) 18.1string类介绍和声明 18.2string的输入/输出 18.3string的基本操作 18.3.1赋值和拼接 18.3.2比较字符串 18.3.3子串 18.3.4交换字符串 18.3.5字符插入 18.3.6替换字符 18.3.7查找 18.3.8转换为C风格的char*字符串 18.4运行时类型信息(RTTI) 18.5类型转换操作符 18.5.1const_cast操作符 18.5.2static_cast操作符 18.5.3reinterpret_cast操作符 18.6本章小结 18.7本章习题 第5篇项目实战篇 第19章学生管理系统项目案例(教学视频:48分钟) 19.1学生管理系统项目需求与设计 19.1.1数据库设计 19.1.2功能设计 19.1.2项目需求及功能分析 19.1.3功能模块划分及设计 19.2学生管理系统编程实现 19.2.1student学生类 19.2.2filemanage数据操作类 19.2.3Operstu学生信息操作类 19.3学生管理系统总结2