您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 完整版导航标题C++编程入门系列教程整理_鸡啄米博客
C++编程入门教程目录和总结鸡啄米的这套C++编程入门教程到上一讲--C++编程入门系列之五十(异常处理)为止,就算圆满完成了。大家学到这里应该对C++的基础知识和程序设计都有了一定的认识了,以后要做的就是多练习多积累经验了。一.目录第一部分:C++编程概述鸡啄米:C++编程入门系列之前言鸡啄米:C++编程入门系列之一(进制数)鸡啄米:C++编程入门系列之二(原码、反码与补码)第二部分:C++简单程序设计鸡啄米:C++编程入门系列之三(VS2010的使用介绍)鸡啄米:C++编程入门系列之四(数据类型)鸡啄米:C++编程入门系列之五(运算符和表达式)鸡啄米:C++编程入门系列之六(算法的基本控制结构之选择结构)鸡啄米:C++编程入门系列之七(算法的基本控制结构之循环结构)鸡啄米:C++编程入门系列之八(自定义数据类型)第三部分:函数鸡啄米:C++编程入门系列之九(函数的定义与调用)鸡啄米:C++编程入门系列之十(函数的参数传递与内联函数)鸡啄米:C++编程入门系列之十一(重载函数与函数模板)第四部分:类与对象鸡啄米:C++编程入门系列之十二(类与对象:面向对象设计的基本思想和特点)鸡啄米:C++编程入门系列之十三(类与对象:类的声明、成员的访问控制和对象)鸡啄米:C++编程入门系列之十四(类与对象:构造函数和析构函数)鸡啄米:C++编程入门系列之十五(类与对象:类的组合)鸡啄米:C++编程入门系列之十六(类与对象:类模板)鸡啄米:C++编程入门系列之十七(类与对象:UML简介)第五部分:C++程序设计必知鸡啄米:C++编程入门系列之十八(C++程序设计必知:作用域和可见性)鸡啄米:C++编程入门系列之十九(C++程序设计必知:生存期)鸡啄米:C++编程入门系列之二十(C++程序设计必知:数据和函数)鸡啄米:C++编程入门系列之二十一(C++程序设计必知:类的静态成员)鸡啄米:C++编程入门系列之二十二(C++程序设计必知:友元)鸡啄米:C++编程入门系列之二十三(C++程序设计必知:常引用、常对象和对象的常成员)鸡啄米:C++编程入门系列之二十四(C++程序设计必知:多文件结构和编译预处理命令)第六部分:数组、指针和字符串鸡啄米:C++编程入门系列之二十五(数组、指针和字符串:数组的声明和使用)鸡啄米:C++编程入门系列之二十六(数组、指针和字符串:数组的存储与初始化、对象数组、数组作为函数参数)鸡啄米:C++编程入门系列之二十七(数组、指针和字符串:指针变量的声明、地址相关运算--“*”和“&”)鸡啄米:C++编程入门系列之二十八(数组、指针和字符串:指针的赋值和指针运算)鸡啄米:C++编程入门系列之二十九(数组、指针和字符串:指向数组元素的指针和指针数组)鸡啄米:C++编程入门系列之三十(数组、指针和字符串:指针用作函数参数、指针型函数和函数指针)鸡啄米:C++编程入门系列之三十一(数组、指针和字符串:对象指针)鸡啄米:C++编程入门系列之三十二(数组、指针和字符串:动态内存分配和释放)鸡啄米:C++编程入门系列之三十三(数组、指针和字符串:用字符数组存放和处理字符串)鸡啄米:C++编程入门系列之三十四(数组、指针和字符串:string类)第七部分:继承与派生鸡啄米:C++编程入门系列之三十五(继承与派生:概念介绍与派生类的声明)鸡啄米:C++编程入门系列之三十六(继承与派生:派生类从基类继承的过程)鸡啄米:C++编程入门系列之三十七(继承与派生:派生类对基类成员的访问控制之公有继承)鸡啄米:C++编程入门系列之三十八(继承与派生:派生类对基类成员的访问控制之保护继承与私有继承)鸡啄米:C++编程入门系列之三十九(继承与派生:派生类的构造函数)鸡啄米:C++编程入门系列之四十(继承与派生:派生类的析构函数)鸡啄米:C++编程入门系列之四十一(继承与派生:作用域分辨符)鸡啄米:C++编程入门系列之四十二(继承与派生:虚基类及其派生类的构造函数)鸡啄米:C++编程入门系列之四十三(继承与派生:赋值兼容规则)第八部分:多态性鸡啄米:C++编程入门系列之四十四(多态性:多态的概念和类型)鸡啄米:C++编程入门系列之四十五(多态性:运算符重载的概念和规则)鸡啄米:C++编程入门系列之四十六(多态性:运算符重载为类的成员函数)鸡啄米:C++编程入门系列之四十七(多态性:运算符重载为类的友元函数)鸡啄米:C++编程入门系列之四十八(多态性:虚函数)鸡啄米:C++编程入门系列之四十九(多态性:纯虚函数和抽象类)第九部分:异常处理鸡啄米:C++编程入门系列之五十(异常处理)二.总结平时写程序总会用到C++语言的各种基础知识,但从来没有这样根据以前自己的学习,将C++语法知识和编程方法及思想等总结之后写下来。在工作之余写下这套教程,不但让我自己对C++基础知识掌握的更牢固,对C++编程思想有了更深入的认识,而且更重要的是能与很多想步入C++编程殿堂的朋友分享这些知识。大家学完这套教程以后可能还是感觉不太自信,认为自己还是写不了程序。没关系,看看别人写的程序,可以是稍微复杂点的,自己稍加修改再测试运行看看效果,经过这样的练习以后就可以自己试着设计并编写程序了。谁都是这时候过来的,要有耐心和勇于尝试。记住,学C++就是在练内功,练好了内功再就是招式上的学习和熟悉了。学好了C++,可以做VC界面开发,也可以做Linux下的嵌入式开发,又或者是网络方面等等,但C++是基础(当然也不是只能用C++语言进行这些开发)。建议大家可以再学学MFC(微软基础类库),做一些简单的界面,这样能清楚的看到C++能够实现的功能,增加自己的成就感,还能学习微软的代码风格和设计方式。完成了此套C++编程入门教程以后,鸡啄米认为还有很多知识有必要跟大家分享,有时间我还会为大家带来MFC、网络编程、数据库等方面的入门知识。希望大家继续关注鸡啄米博客,继续支持鸡啄米,谢谢大家!第一部分:C++编程概述鸡啄米:C++编程入门系列之前言从今天开始鸡啄米将给大家讲解一些C++编程入门的知识,对于鸡啄米也是个温习巩固的过程。鸡啄米将会用深入浅出的方式,尽量用最简单的语言让读者学会C++语言,并爱上这门语言。本前言讲述的是编程语言的发展过程、面向对象方法、面向对象的基本概念等内容。语言大家都知道,计算机语言跟人类语言一样有语法等规则,它是计算机可以识别的语言,用来描述解决问题的方法,计算机阅读了它就可以做相应的工作。利用语言描述解决问题的方法就生成了程序,程序是由很多指令组成的,计算机所能识别的指令是0和1的组合,所有这种指令组成的语言叫做机器语言。可以想象,全是1和0,对于软件开发者来说编程是很难的,开发周期长,功能也做不复杂。后来出现了汇编语言,它就是把机器语言映射成一些人能读懂的助记符,这样就使得软件开发容易点了,但是还是与人的思维差别很大,但这是一个跳跃式的进步。最后出现了高级语言,抽象层次比较高了,程序中的数据命名都能很容易看出数据的含义,而且执行语句也很容易理解。20世纪60年代出现的结构化编程语言更是进了一大步,但是程序中的数据和操作分离,各自独立,不能跟现实中的事物对应起来。最后出现了面向对象编程语言。面向对象编程语言把事物看成是具有属性和行为的对象,然后通过抽象找出属于同一类的事物的属性和行为,就形成了类。通过类得继承和多态可以很好的实现代码复用,提高软件开发效率。如果这块不懂的话可以先尽量理解,通过后面的学习会慢慢理解这些概念。20世纪80年代比较风行结构化程序设计方法,它的设计思路是,自上而下,逐步细化,将程序结构按功能分成多个模块,每个模块可能又会分成多个模块,这样就形成了一个模块的树状结构,各个模块间的关系尽可能简单,功能上相对独立。每个模块都是由顺序、选择和循环三种基本结构组成。这种方法就将一个复杂的程序设计问题分成很多简单细化的子问题,更便于开发维护。但是这种方法的缺点是数据和处理数据的方法各自独立,如果数据结构改变,所有相关的方法都要改变。这时就出现了面向对象设计方法,它将数据和方法放到一个整体里,这个整体就叫对象,同类型对象抽象成类,类中大部分数据只能用本类中的方法处理,类通过简单的外部接口与外界发生关系,而内部的各种关系对外部是透明的。下面介绍面向对象的几个基本概念:1.对象。每个对象都是描述客观存在事物的一个实体,都是由数据和方法(也可以叫属性和行为)构成。属性是描述事物特征的数据,行为描述对对象属性的一些操作。2.类。类是具有相同属性和行为的一些对象的集合,它为所有属于这个类的对象提供抽象的描述,比如麻雀和杜鹃都可以看作是对象,而鸟就可以看作类。3.封装。封装就是把对象的所有属性和行为结合成一个独立的单位,对外隐藏对象的内部细节,只保留有几个接口与外界联系。4.继承。一个类(叫做子类)可以通过继承另一个类(叫做父类)来拥有另一个类的所有属性和行为。比如车和汽车,汽车从车继承,车的所有属性和行为都继承到了汽车上。5.多态性。多态性就是说父类中的属性和行为被子类继承后,子类可以有自己不同于父类的属性或行为。比如定义一个类“动物”,它具有“吃”这个行为,但是具体怎么吃吃什么,不知道,因为不知道到底是个什么“动物”,如果从这个类继承出子类“羊”和“老虎”,“吃”就成了具体的行为,怎么吃吃什么就都知道了。最后鸡啄米再次声明,本前言内容可能对于新手来说讲的还是有点难懂,但是不要担心,通过后续的学习肯定会慢慢领会这些的,到那时你再回来看这些就会觉得很简单了。鸡啄米:C++编程入门系列之一(进制数)鸡啄米在前言已经讲了程序的发展历程,程序设计的进步和编程入门的一些基本概念。这一节主要讲数据在计算机中的存储结构。计算机执行程序需要控制信息和数据信息,控制信息涉及硬件方面,鸡啄米主要讲数据信息的存储。这部分内容可能有点郁闷,但是这是基础之基础,在编程入门时还是掌握下吧。大家应该知道比较常用的数制是十进制、二进制、八进制和十六进制。二进制就是逢二进一,每位都是小于二的数,其他进制类推。计算机存储数据使用的是二进制编码。对于一个R进制的数X来说,其值可以通过下面的公式算出来:,前面是整数部分,后面是小数部分,m,n为正整数,表示第i位上的数字乘以进制数的i次方。比如二进制数(11.01)2=1×21+1×20+0×2-1+1×2-2=3.25。当R进制转换到十进制时,就这样转换。那十进制怎么转换为R进制呢,可以将十进制数连续除以R,其每个余数就是R进制数各个数位上的数字,最后的余数是最高位。比如将68转换成二进制数,用除2取余法:2∟68余数2∟34…………………0低位2∟17…………………02∟8…………………12∟4…………………02∟2…………………02∟1…………………00…………………1高位结果就是6810=10001002,将68转换为八进制数就用除8取余法。十进制小数转换成R进制小数,整数部分仍按上述方法转换,小数部分则乘以R,然后将结果的整数位取出作为转换最终结果的一位,再用去掉整数位的小数再乘以R,之后循环这样执行,直到小数部分为0或者达到所要求的精度为止,取出的这些整数位第一位为最高位。例如,将十进制小数0.3125转换成二进制小数:0.3125×2=0.625取出0,为最高位0.625×2=1.25取出1,剩下的小数为0.250.25×2=0.5取出00.5×2=1.0取出1,小数位为0,不再继续结果就是0.312510=0.01012。所以将十进制数68.3125转换成二进制数就是1000100.0101。二进制和八进制十六进制之间怎样转换呢?每位八进制数相当于三位二进制数,每位十六进制数相当于四位二进制数,举个例子说明下就清楚了:(1000100)2=(1000100)2=(104)8(1000100)2=(1000100)2=(44)16上面这个等式反过来当然也成立,就是八进制十六进制转换为二进制反过来计算就可以了。下面鸡啄米再跟大家说下计算机数据的存储单位,常用的单位有“位”,“字节”,“字”。位:这是数据的最小单位,表示一位
本文标题:完整版导航标题C++编程入门系列教程整理_鸡啄米博客
链接地址:https://www.777doc.com/doc-3367610 .html