c++程序设计完整版课件全套ppt教学教程最全整套电子教案电子讲义(最新).ppt
《c++程序设计完整版课件全套ppt教学教程最全整套电子教案电子讲义(最新).ppt》由会员分享,可在线阅读,更多相关《c++程序设计完整版课件全套ppt教学教程最全整套电子教案电子讲义(最新).ppt(451页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.1 面向对象程序设计1.2 C+程序设计1.3 C+程序的开发过程1.4 面向对象程序的组成元素第1章 绪论1.5 C+程序的编译与调试1.6 本章小结返回目录1.1.1面向对象程序设计出现的背景面向对象程序设计中的基本概念1.1.2面向对象程序设计的优缺点1.1.3面向对象方法的理论基础1.1.4面向对象程序设计的基本特征1.1.5面向对象的程序设计方法与步骤1.1.7面向对象程序设计与面向过程程序设计的比较1.1.61.1 面向对象程序设计面向过程程序设计的缺点:缺点出现背景缺乏数据和代码的保护机制这种程序设计方法缺乏代码重用机制面向对象程序设计的优点:按习惯对问题领域进行自然分解注重
2、需求分析和设计反复数据抽象和信息隐蔽等机理使得对象内部实现与外界隔离,能对数据有效保护继承使得代码重用成为可能可维护性好基本概念什么是对象?什么是类?知识点概述对象是对象是系统中的基本运行实体,是有特殊属性(数据)系统中的基本运行实体,是有特殊属性(数据)和行为方式(方法)的和行为方式(方法)的实体实体。类是对具有公共的方法和一般特殊性的一组基本相同对象的描述。基本概念什么是消息?什么是方法?知识点概述方法是对象本身内含的执行特定操作的函数或过程方法是对象本身内含的执行特定操作的函数或过程消息(Message)用来请求对象执行某一处理或回答某些信息的请求例如,一个汽车对象具有行驶这项操作,那么
3、要让汽车以时速50公里行驶的话,我们需传递给汽车对象行驶及时速50公里的消息,以触发这个对象。知识点概述优缺点优点:优点:符合认识论的观点能尽量逼真地模拟客观世界及其事物先进的开发方法软件适应性广以对象为中心的程序设计缺点:缺点:描述局限性具体实现困难知识点概述理论基础分类学基础分类聚合泛化和特化思维科学基础抽象思维过程概念建模与抽象思维过程方法学基础抽象思维阶段具体思维阶段感性具体思维抽象思维具体被模拟的系统感性具体思维抽象思维具体针对问题的概念抽象抽象思维具体思维对象类/子类抽象模型系统映射映射模模客观世界的解决方法方法空间客观世界的对象和操作客观世界的对象程序设计语言的对象和操作输出数据
4、问题解空间计算机的方法对问题的解释对结果的解释基本特征封装性(Encapsulation)封装就是隐藏对象的属性和实现细节,仅对外提供公开接口继承性(Inheritance)继承描述的不同类型之间的一种关系,它可以扩展不同类型的功能基本特征多态性(Polymorphism)多态指的是同一个操作作用于不同的对象,可以产生不同的效果抽象性(Abstract)抽象性是指将具有相同属性和行为的一组对象抽象为类面向对象程序设计与面向过程程序设计程序=(模块+模块+)模块=(算法)+(数据结构)程序=(对象+对象+)对象=(数据结构+算法)面向对象程序设计与面向过程程序设计项目项目结构化程序设计结构化程序
5、设计面向对象程序设计面向对象程序设计处理对象处理对象程序模块中数据与过程分开对象的状态、行为封装在一起传递机制传递机制程序员负责调用过程实现参数传递通过消息来传递实现并激活操作描述形式描述形式客观世界被描述成逻辑实体控制流由对象来反映,相对来说更贴切抽象方法抽象方法使用过程抽象使用类抽象和对象抽象结构单元结构单元语句或表达式类或类族分解方法分解方法使用功能分解使用面向对象分解使用语言使用语言使用面向过程程序设计语言使用面向对象程序设计语言安全性安全性程序员确保数据及操作是正确的封装性和消息传递防止非法访问基于平台基于平台大多要求基于DOS平台基本要求基于Windows平台维护工作量维护工作量软
6、件维护工作量大,需修改程序维护工作量较少,改变对象操作方法与步骤描述一个解所需要的对象问题空间中的对象实现一个解所需要的对象类库中所拥有要的对象由面向对象语言实现的对象解空间中的对象OOIOODOOA面向对象分析OOA面向对象的设计OOD面向对象的实现OOIC+语言的产生1982年,BjarneStroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。开始这种语言被称为newC,后来改为CwithClass,1983年12月,RickMascitti建议命名为CplusPlus,即C+。C+的发展大致可分为了三个阶段:第一阶段从C+语言出现到1995年,这一阶
7、段C+语言基本上是传统类型上的面向对象语言,并且依靠接近C语言的效率,在这期间Bjame博士完成了经典巨著TheC+ProgrammingLanguage第一版;诞生了一个传世经典ARM;之后模板、异常、命名空间等相继被加入。第二阶段从1995年到2000年,这一阶段由于STL库和后来的Boost库等程序库的出现,泛型程序设计在C+中比重越来越大,同时由于Java、C#等语言的出现和硬件的影响,C+受到了一定的冲击。第三阶段从2000年至今,由于Loki、MPL等程序库为代表的产生式编程和模板元编程的出现,C+出现了发展上的又一个高峰。C+简介2支持面向对象的机制3支持泛型程序设计4功能强大的
8、标准模板库STLC+的的特特点点1保持与C兼容C+简介C+的应用领域的应用领域C+应用应用程序平台程序平台系统级框架系统级框架机器人机器人及工业控及工业控制系统制系统高性能实时计算高性能实时计算手机智能设备手机智能设备CAD、CAE、CAM等等多媒体游戏等多媒体游戏等航空航天系统等航空航天系统等C+语言的程序设计体系2数组、指针、函数3静态成员与友元、运算符重载、继承、模块及STL1数据类型、表达式等1.3 C+程序开发过程1.3.1面向过程程序举例面向对象程序举例1.3.2返回目录面向过程程序举例面向过程的程序是由函数构成的,其基本结构为:函数的定义+函数的调用查看详情程序1-1:输出字符串
9、“Hello”#include/*函数功能:输出字符串“Hello”函数名称:print函数参数:str-字符指针函数返回值类型:void*/voidprint(char*str)printf(“%f”,hello);intmain()char*hello=“Hello”;print(hello);/函数调用return0;iostream文件文件第1行代码包含了输入输出头文件iostream,它是标准的C+头文件,在旧的标准C+中,使用的是iostream.h,实际上这两个文件是不同的,在编绎器include文件夹里它是两个文件,并且内容不同。后缀为.h的头文件C+标准明确提出不支持了,早期
10、在C+中调用.h头文件其实相当于调用的C标准库,为了和C语言区分开,C+标准规定不使用后缀.h的头文件,例如C语言中的string.h头文件,C+用cstring,C语言中的math头文件,C+使用cmath头文件。这不只是形式上的改变,其实现也有所不同。返回面向过程程序举例#include#includeusingnamespacestd;classPerson/类的定义private:Stringwords;/类的数据成员public:/成员函数定义/*函数功能:给数据成员赋值函数名称:setWords函数参数:wordstring类型,C+中定义的字符串类返回类型:void,空类型,表示
11、没带回任何值给调用的函数*/面向对象的程序是由对象构成的,要定义对象得先定义类。其基本结构:类的定义+类的使用voidsetWords(stringword)Words=word;/*函数功能:输出数据成员的值函数名称:say函数参数:void返回类型:void*/voidsay()Coutwords;intmain()Persongirl;/Person类对象的定义girl.setWords(“Howareyou!”);/调用成员函数girl.speak();/调用成员函数system(pause);return0;面向过程程序举例第一个C+程序命名空间命名空间命名空间实际上是由程序设计者命
12、名的内存区域,程序设计者可以根据需要指定一些有名字的空间区域,把一些自己定义的变量、函数等标识符存放在这个空间中,从而与其他实体定义分隔开来。其定义格式如下所示:namespace空间名namespace是定义命名空间的关键字,空间名可以用任意合法的标识符,在内声明空间成员,例如定义一个命名空间A1,代码如下所示:namespaceA1inta=10;变量a只在A1空间内(作用域)有效,命名空间的作用就是建立一些互相分隔的作用域,把一些实体定义分隔开来。下一页1.4 面向对象程序的组成元素1.4.1名字空间输入输出流1.4.2返回目录名字空间解决命名冲突,使用方法:解决命名冲突,使用方法:利用
13、usingnamespace使用名字空间usingnamespacestd;表明此后程序中的所有对象如没有特别声明,均来自名字空间std多学一招:匿名命名空间用域分辨符:为对象分别指定名字空间std:cout“HelloC+”结合使用,读入用户的输入,可连续输入,以空白(包括空格、回车、TAB)为分隔符。cout与插入运算符“”结合使用,打印消息。通常它还会与操纵符endl使用,endl的效果是结束当前行,并将与设备关联的缓冲区(buffer)中的数据刷新到设备中,保证程序所产生的所有输出都写入输出流中,而不是仅停留在内存中。返回1.5 C+程序的编译与调试1.5.1源程序的编译与运行程序的调
14、试1.5.2返回目录213源程序的编译与运行新建项目新建项目添加源文件添加源文件编写代码编写代码 案例代码具体查看教材例1-1源程序的编译与运行C+语言的编译环境有多种,如:MicrosoftVistualStudio,C+Builder,QtCreator,BorlandC+等,其中:TurboC3.0,BorlandC+3.1是在DOS环境下的编译系统。不同的编译器对C+的支持度是不一样的。由于VisualStudio2013对C+标准的支持度达以99%,并且支持新标准C+11,所以本书使用VisualStudio2013作为编译环境。使用向导新建控制台项目单击其中的“运行”按钮或按下Ct
15、rl+F5组合键可以运行程序程序的调试程序中的错误分为编译错误,逻辑错误和运行时错误编译错误编译是就能找出来,因为它只是C+程序中的语法错误;逻辑错误是程序功能上的一些错误,或编译器不能检测出的数组赿界错误;运行时错误是运行过程中出现的错误,可能是内存没有释放可文件不能打开等错误。单步调试是逐语句调试断点调试1.6 本章小结(1)本章主要讲述了面向对象程序设计的思想与概念(2)面向对象程序设计的方法。(3)C+中输入输出的使用及C+的面向对象程序与面向过程程序的区别与联系。(4)最后重点讲了C+程序的断点调试和单步调试。2.1 C+数据类型2.2 变量与常量2.3 运算符与表达式2.4 控制结
16、构2.5 数组2.6 函数第2章 C+基础知识2.7 结构体2.8 联合体2.9 指针2.10 面向过程程序设计规范2.11 菜单结构的设计与实现2.12 本章小结返回目录2.1.1C+字符集C+基本数据类型2.1.2C+构造数据类型2.1.3引用2.1.4面向对象程序设计的基本特征2.1.5面向对象的程序设计方法与步骤2.1.7面向对象程序设计与面向过程程序设计的比较2.1.62.1 C+数据类型C+字符集C+字符集字母字母:az;AZ数字数字:0123456789其他符号其他符号:+-*/=,._:;?|!#%&()(空格)C+基本数据类型知识点概述1.字符类型字符类型字符常量:括在单引号
17、中的字符。如:A,特殊的字符常量:转义字符,如:n字符变量:使用char进行声明的标识符。如:charch;字符串常量:括在双引号内的字符序列,如:”hello,world!”2.整数类型整数类型整型常量:十进制、八进制、十六进制的整型常量。整型变量:使用int进行声明的变量3.浮点类型与双精度类型浮点类型与双精度类型浮点常量:实数和科学计数法两种形式浮点变量与双精度变量:分别使用float和double进行声明4.空类型空类型:voidC+构造数据类型什么是构造类型?构造类型又称为组合类型,它是由基本类型按照某种规则组合而成的构造类型又称为组合类型,它是由基本类型按照某种规则组合而成的数组数
18、组:由具有相同数据类型的元素组成的集合结构体结构体:由不同的数据类型构成的一种混合的数据结构联合联合:构成联合体的数据成员共用同一段内存单元枚举类型枚举类型:将变量的值列举指针类型指针类型:存储另一变量的地址类类型类类型:它定义的是一种对象类型,由数据和方法组成知识点概述 引用概念概念:变量的别名,和所引用变量共享内存定义定义:数据类型&引用变量名=变量名;使用使用:引用函数的参数引用还可以做函数的返回值程序举例intmain()inta=1;int&b=a;/定义b是a的引用cout初始化后:n;couta=a&aendl;coutb=b&bendl;b=3;coutb=3后:n;couta
19、=a&aendl;coutb=b&bendl;int&c=b;/定义c是b的引用,别名的别名c=4;coutc=4后:n;couta=a&aendl;coutb=b&bendl;coutc=c&cendl;system(pause);return0;程序举例voidswap(int&x,int&y);intmain()inta=2,b=3;couta=ata:address=&aendl;coutb=btb:address=&bendl;swap(a,b);/调用函数交换a,b的值couta=ata:address=&aendl;coutb=btb:address=&bendl;system(
20、pause);return0;/函数的定义voidswap(int&x,int&y)inttmp;tmp=x;x=y;y=tmp;程序举例intvals10;/定义的全局数组变量interror=-1;intmax=0;int&maxValue(intx,inty);/引用做函数返回值int&put(intn);/返回值是引用类型intmain()res=0;cout引用仅作函数返回值:n;res=maxValue(2,3);coutres=restmax=maxendl;cout引用作函数返回值,返回值作了左值:n;put(0)=10;/以put(0)函数值作为左值,等价vals0=10;p
21、ut(9)=20;/以put(9)函数值作为左值,等价vals9=20;coutvals0t;coutvals9y?x:y;returnmax;/*功能:处理数组越界函数名称:put参数:n-整数类型返回值:整形变量的引用*/int&put(intn)if(n=0&n=9)returnvalsn;elsecoutsubscripterror;returnerror;返回目录2.2.1标识符与关键字变量的定义与初始化2.2.22.2 变量与常量常量与符号常量2.2.3标识符与关键字标识符标识符:程序或系统定义的符号用来作为变量名、常量名、函数名、类型名、文件名等。由字母、数字、下划线组成,且由字
22、母或下划线开头的字符串,中间不能有空格_sum,sum,stu_name,price等为合法的标识符。cout,52select,alot,-W,sin等为不合法标注符。关键字关键字:也称保留字是C+编译器预定义的、具有固定含义的标识符,不允许另作它用常用关键字intfalseifdefaultenumsizeofpublicconst_castshortvoidelsereturnunionnewprotectedstatic_castunsignedtypedefswitchstructdeleteprivatereinterpret_castlongtypeidcaseclassauto
23、virtualdynamic_castfloatdotemplatestaticusingexplicitdoublewhiletypenameexternnamespacetrycharforregisterthiscatchw_char_tbreakvolatileoperatorthrowboolgotomutablefriendtruecontinueconstinline变量的定义与初始化变量定义变量定义的语法:变量的类型变量的名称;变量的类型变量的名称;初始化初始化的方法inta=;intb(1);intc;c=1;常量与符号常量常量通过关键字关键字const来定义语法规则语法规则
24、const变量类型变量名称;变量类型变量名称;或const变量类型变量名称变量类型变量名称=初始值初始值;如:如:constdoublepi=3.14;返回目录2.3.1运算符表达式2.3.2类型转换2.3.32.3 运算符与表达式运算符查看详情1.算术运算符算术运算符:+、-、*、/、%、+、-2.赋值运算符赋值运算符:=、+=、-=、*=、/=、%=3.关系运算符关系运算符:、=、=、!=4.逻辑运算符逻辑运算符:!、&、|5.条件运算符条件运算符:?:6.位运算符位运算符:、|、&7.sizeof运算符运算符(求字节运算符):sizeof8.逗号运算符逗号运算符:,9.其它运算符其它运算
25、符:指针运算符(*、&)、分量运算符(*、-)、函数调用运算符()、强制类型转换运算符(type)返回运算符的优先级与结合性运算符优先级决定了在表达式中各个运算符执行的先后顺序括号会改变优先级运算符的结合方式有两种:左结合和右结合左结合表示运算对象先与其左边的运算符结合右结合表示运算对象优先与其右边的运算符结合表达式表达式是用于计算的式子,它由运算符、运算数和括号组成表达式是用于计算的式子,它由运算符、运算数和括号组成算术表达式算术表达式:由算术运算符和位操作运算符组成的表达式逻辑表达式逻辑表达式:由逻辑运算符组成的表达式。其表达式值的类型为逻辑型关系表达式关系表达式:由关系运算符组成的表达式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 程序设计 完整版 课件 全套 ppt 教学 教程 整套 电子 教案 讲义 最新
限制150内