ImageVerifierCode 换一换
格式:PPT , 页数:81 ,大小:1.94MB ,
资源ID:13337998      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/13337998.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C++面向对象程序设计教学PPT概述.ppt)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C++面向对象程序设计教学PPT概述.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,C+,面向对象程序设计,计算机科学与技术系 胡俊鹏,hjp1011,读前言,了解本书的内容安排和学习要点,明确学习重点。,本课程学时安排:理论,48,学时,试验,16,学时,成绩评定:平时,10,试验,30,期末,60,在学习,c+,后,,继续学习,java,和,C#,(自学)。,学习体会,学习,C+,编程技术,必须了解和掌握,C+,制订的各种规,则,然后应用这些规则写程序,也就容易了。这与学习,开车,首先要学习交通规则,然后才能驱车上路的道理,相同。但与,Basic,和,C,等语言相比,,C+,的规则确实

2、多出,许多,掌握它必须付出努力!然而一旦掌握了这些规,则,对于学习掌握面向对象编程技术,乃至于学习,JAVA,,,C#,及,VB.net,之类的编程语言,也就容易多了。,参考书,C+Primer,中文版,-,中国电力出版社,,Stanley,B.Lippman,著,潘爱民,张丽译,高质量程序设计指南,C+/C,语言,电子工业出版社林锐,韩永泉,Vc,+,深入详解,,电子工业出版社,孙鑫,深入浅出,MFC,华中科技大学出版社,侯俊杰,Windows,核心编程,(美),Jeffrey Richter,,王建华译,机械工业出版社,第,1,章 面向对象程序设计概述,本章主要讲述:,计算机程序语言的发展

3、演变过程,面向对象程序技术的基本特征,面向过程与面向对象程序设计,C+,程序的结构及数据输入与输入,VC+,实例编程,1.1,计算机程序设计语言的发展,本节主要介绍计算机语言的发展过,程:,机器语言汇编语言高级语言面向对象程序设计语言,着重了解面向过程(即结构化程序),和面向对象程序设计在程序结构、程,序思想上的差别。,1.1,.1,机器语言,指令,就是指计算机能够识别的命令,它们是一些由,0,和,1,组合成的二进制编码。,指令系统,计算机硬件系统能够识别的所有指令的集合。,机器语言,最早的程序设计语言,它由计算机能够识别的二进制指令系统构成。,1.1.2,汇编语言,1,、汇编语言,用一些便于

4、记忆的符号代替机器语言中的二进制指令代码,就将二进制的机器语言转换成了一种便于记忆的符号语言,这就是汇编语言。,2,、与机器语言的比较,汇编语言编程比机器语言简单。,同机器语言一样,它仍然是与机器相关的。不同机器系统的汇编语言并不相同,要在不同硬件系统(其指令系统不同)的计算机上完成相同的任务,需要编写不同的汇编程序。,1.1.3,高级语言,1,高级语言的概念及特征,高级语言屏蔽了与机器硬件相关的细节,采用具有一定含义的命名符号和容易理解的程序语句进行程序设计,不仅大大降低了程序设计的难度,而且也使程序易被人们理解。,高级语言程序的通用性和可移植性更高,与人们自然思维很接近,编程更容易、简单,

5、1.1.3,高级语言,2,、结构化程序设计的基本内容,结构的类型,顺利、分支、循环,结构化程序设计思想,利用过程或函数来抽象和模拟客观现实,。,1.1.3,高级语言,2,、结构化程序设计方法,重点放在如何实现细节过程方面,将数据与函数分开。,形式:主模块,+,若干个子模块(如:,main()+,子函数)。,特点:自顶向下,逐步求精,功能分解。,缺点:效率低,是手工作坊式的编程。,1.1.3,高级语言,全局变量,局部变量,函数,局部变量,函数,只有函数才能访问,只有函数才能访问,可被任何函数访问,全局变量,3,、结构化程序,的问题,数据与算法分离,程序数据和操作数据的函数是分离的。,1.1.3,

6、高级语言,struct,Person,char name10;,char addr20;,char phone11;,Person p100;,int,n=0;,void,InputData,().,void,SearchAddr(char,*name),void,SearchPhone(char,*name),void,PrintData,(),Void main(),/,调用前面编写的函数,完成通信录数据处理,4,、结构化程序,的案例,个人通信录程序,定义数据结构,定义全局数据,定义操作数据的函数,主函数控制程序流程,1.1.3,高级语言,大型程序中,有很多全局数据和全局函数,这,导致了函

7、数和数据之间数目巨大的,潜在连接,!,若全局数据有所改动,可能会导致所有访问这个数据的全部函数的重写,全局数据,全局数据,全局数据,函数,函数,函数,函数,5,、结构化程序,设计范型,1.1.4,面向对象程序设计语言,1,、面向对象程序设计观点,自然界是由各种各样的实体(对象)所组成,每种对象都有自己的内部状态和运动规律,不同对象之间的相互联系和相互作用就构成了各种不同的系统,进而构成整个客观世界,.,2,、程序设计方法:使用面向对象的观点来描述模仿并处理现实问题。,要求:高度概括、分类和抽象。,3,、目的:实现软件设计的产业化。,1.1.4,面向对象程序设计语言,4,、基本概念,对象,客观存

8、在的实体称为对象,属性,描述对象的特征的数据,行为,对象自身的行为,对现实世界某些信息的应用,对象之间通过传递消息相互影响,属性,行为,对象由属性和行为构成,1.1.4,面向对象程序设计语言,struct,Person,private:,char name10;,char addr20;,char phone11;,public:,void,InitData,(),void,SearchAddr(char,*name);,void,SearchPhone(char,*name);,;,5,、通信录程序在,C+,中的类代码形式,在,C+,中,,struct,的功能被扩展了,在,struct,中不

9、仅可以定义数据,还可以定义函数。数据与函数构成了一个整体。其中的,private,和,public,是访问权限。,1.1,计算机程序设计语言的发展,将客观事物的属性和行为抽象成数据和操作数据的函数,并把它们组合成一个不可分割的整体(即对象)的方法能够实现对客观世界的真实模拟,反映出世界的本来面目。从客观世界中抽象出一个个对象,对象之间能够传递消息,数据,成员函数,成员函数,数据,成员函数,成员函数,数据,成员函数,成员函数,对象,对象,对象,消息,消息,消息,6,、面向对象范型,1.2,面向对象程序语言的特征,本节主要介绍类与对象的基本概,念,以及面向对象程序设计的主,要特征,1.2.1,类与

10、对象,1.,对象的基本概念,对象,:,用来描述客观事物的一个实体,它是构成系统的一个基本单元。一个对象具有一组属性和行。,实体对象,一台计算机,抽象对象,一项计划,对象构成要素,:,1.,对象标识符:是对象的名称,用来区别与其他对象。,2.,属性,:,是用来描述对象静态特征的一个数据项。,3.,行为,:,是用来描述对象动态特征和行为的一个操作。,对象示例,1,:一个“学生”对象的例子,对象名,:学生,对象的属性,:,学号:,123456,姓名:令狐冲,年龄:,18,专业:信管,行为,修改学号、姓名、专业、年龄等等,1.2.1,类与对象,对象示例,2,:一个“课程”对象的例子:,对象名,:课程,

11、对象的属性,:,课程号:,123456,课程名:程序设计,任课教师:莫名,选课要求:,学时:,48,行为,获取并修改课程名、课程号、学时数、选课要求、任课教师等,1.2.1,类与对象,2.,类的基本概念,类,:,是具有相同属性和行为的一组对象的集合,它为属于该类的全部对象提供统一的的抽象描述,类和对象的关系,:类,对象 抽象定义 实例,类,对象举例,学生,学生王强,课程,C+,程序设计,类型,变量,如,C,语言中的,int,和,int,x;,类的实例,用类定义的类变量,即对象。类是对多个特性相同的对象实例的抽象,所以同一类的不同实例之间必有:,相同的操作集合,相同的属性集合,不同的对象名,分配

12、有不同的存储空间。,1.2.1,类与对象,3,、,类的确定与划分,类的确定,对所遇到的对象进行分析、归纳,根据共同的特征来确定一个类。,类的确定的方法:,判断是否有一个以上的实例,判断类的实例中是否有绝对的不同点,类的划分不是绝对的,可以根据不同的实际需要确定不同的类,1.2.1,类与对象,1.2.1,类与对象,4,、,类的描述,类的描述,不同的,OOP,语言用不同的描述形式。在,C+,中用关键字,class,来定义描述一个类。,class,classname,public:,/public members,/friend function prototypes,private:,/priva

13、te members,;,1.2.2,抽象与封装,1,、抽象,抽象(,abstract,)是指有意忽略问题的某些细节和与当前目标无关的方面,以便把问题的本质表达得更清楚。,案例:,VCD,机器的抽象,2,、封装性,从外面看只能看到对象的外部特性,即能够受理哪些信息,具有哪些处理能力;对象的内部,即处理能力的实行和内部状态,对外是不可见的。,从外面不能直接使用对象的处理能力,也不能直接修改其内部状态,对象的内部状态只能由其自身改变。,封装的优点:,1.,降低部件间的耦合度,提高部件的独立性,2.,具有隐藏性和安全性,(,如银行的帐户,),3.,易于维护,(,由于数据独立,易于发现问题,),4.,

14、封装将对象的使用者与设计者分开,使用者只需要通过接口访问对象,不必须了解对象的内部细节,.,提高了软件复用,.,封装的缺点:,需要更多的输入输出函数。,1.2.2,抽象与封装,1.2.2,抽象与封装,封装,encapsulation,将数据和与这个数据有关的操作集合在一起,形成一个实体,对象,且尽可能隐藏对象的内部细节,特点,:,具有一个清楚的边界,对象的所有私有数据、内部程序(成员函数)细节都被固定在这个边界内。,具有一个接口,描述了对象之间的相互作用、请求和响应,消息,对象内部的实现代码受到封装壳的保护,其它对象不能直接修改本对象所拥有的数据和代码。,封装的单位是对象。,3,、封装的形式,

15、class,classname,public:,/public members,/friend function,private:,/private members,;,Public,成员,1,Public,成员,2,Public,成员,n,Private,一个,Class,定义了一种抽象的数据类型,用户只能访问,Public,成员,不能直接访问,Private,成员,直接访问,private,是禁止的,边界,1.2.2,抽象与封装,4,、抽象与封装形成了程序接口与实现的分离,1,、继承的基本概念,继承:对象类之间的相交关系,使得某类对象可以继承另外一类对象的特征和功能,类间具有继承关系的特性

16、类间具有共享特征,(,包括数据和程序代码的共享,),:遗传,类间具有细微差别或新增部分,(,包括非共享的程序代码和数据,),:变异,类间具有层次结构(,如同人类通过继承构成了家簇关系一样,),1.2.3,继承,2,、继承分类,从继承源上划分:单继承(一个派生类只有一个基类)、多继承(一个派生类有多个基类),从继承内容上划分:取代继承、包含继承、受限继承、特化继承。,3,、继承的作用,:,实现软件的可重用性,实现软件的独立性,增加软件的可维护性,1.2.3,继承,4,、继承的层次结构,思考:和具有哪些成员?,A,B,E,C,D,a:,int,getA,():,int,c:,int,getC

17、):,int,setB,():void,b:,int,getB,():,int,setB,():void,inheritance,(“is-a”relation),e:,int,getE,():,int,setB,():void,d:,int,getD,():,int,1.2.3,继承,5,、继承与封装的关系,封装是指对象的的封装,在对象中数据和操作总是包裹在一起的,,继承不会影响对象的这种封装性,,但无限制的派生继承会在一定程度上损害对象中数据的隐蔽性。,封装使类定义中实现的代码可以用于该类的各个实例(对象)中,,实现了动态共享代码,;继承使用派生类能与基类共享基类中实现的代码,,实现了

18、静态共享代码,。,6,、类的层次,由一个类可以派生出任意多个派生类,这样就形成了类的层次关系,这是现实世界中事物的分类问题在计算机中的解形式。,1.2.3,继承,7,、继承的优势,能清晰体现相关类间的层次结构关系。,有效地址提高了程序的可重用性,减小了程序代码的冗余度。,增强了程序的一致性,减少了程序模块间的接口和界面,使程序更易维护。,继承是自动传播程序代码的有力工具。,继承是新类构造、建立和扩充的有效手段。,继承具有传递性,如果类,C,继承类,B,,类,B,继承类,A,,,则类,C,继承,类,A,“,站在巨人的肩头上”。用户在开发新系统时不必从零开始,可以继承原有相似功能或者从类库中选取需

19、要的类,再派生新类。,1.2.3,继承,例,1,:车辆的继承关系,车辆,非机动车,客车,卡车,轿车,机动车,例,2,:人类按职业划分的一种继承关系,人,学生,工人,教师,农民,中学生,大学生,研究生,讲师,教授,1.2.3,继承,8,、两个继承的案例,1,、多态,polymorphism,对象根据所接受的消息而做出动作,同样的消息为不同的对象接受时可导致完全不同的行动,该现象称为多态性。,简单的说:单接口,多实现,举例:,sqrt_i,(,int,i),,,sqrt_f,(float f),sqrt,(,int,i),,,sqrt,(float f),作用,:,减轻程序员负担,降低程序员出错机

20、率,1.2.4,多态,2,、多态性的实现,运行时多态性:虚函数,编译时多态性:重载,重载,函数重载:,是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字,。,运算符重载:,是指同一个运算符可以施加于不同类型的操作数上面。,优点:,重载进一步提高了面向对象系统的灵活性和可读性,1.2.4,多态,3,、多态的一个案例,图中同名函数,area(),作用在,Circle,、,Triangle,等不同类上时,将,执行不同的操作,这就是多态。,1.2.4,多态,1,、面向过程程序设计的基本特点,按层次组织模块。,每一模块只有一个入口,一个出口。,代码和数据分离,即程序,=,数据结构,+,算

21、法。,方法:自顶向下,逐步求精,模块化,1.,面向对象,与面向过程程序设计,2,、面向对象程序设计,它将数据和操作数据的过程(函数)绑在一起,形成一个相互依存、不可分离的整体(即对象),从同类对象中抽象出共性,形成类。,同类对象中的数据原则上只能用本类提供的方法(成员函数)进行处理。类通过封装将接口与实现分离开来,通过接口与外界联系。对象之间通过消息进行通信。,1.,面向对象,与面向过程程序设计,3,、两种程序方法的对比,1.,面向对象,与面向过程程序设计,面向对象程序设计将数据和操作数据的程序代码绑在一起构成对象具有更好的可维护性,因某类对象数据的改变只会引起该类对象操作代码的改变,而与其他

22、类型的对象无关,这就把程序代码的修改维护局限在一个很小的范围内。,1.4C+,与面向对象,程序设计,1,、面向对象程序设计语言的基本情况,最早最成熟的领域,萌芽于,60,年代(,Simula,),成熟于,80,年代,70,年代,纯面向对象语言,smalltalk,常见面向对象的语言,Java,:纯面向对象的语言,VB.Net,:可视化程序设计,早期的,VB,或许算不上真正的面向对象程序设计语言,不具备面向对象程序的一些特征,但,VB.NET,已经改变了这一切!,C#,:具有,VB,和,+,的特征,C+,,,Object Pascal,,,Efficl,其它常用的具有面向对象特征的语言,Borl

23、and Delphi,、,PowerBuilder,、,Visual FoxPro,1.4C+,与面向对象,程序设计,2,、,C+,起源,20,世纪,80,年代,,AT&T Bell,实验室,Bjarne,Stroustrup,语言的扩展,3,、,C+,常用领域,系统软件,设备驱动程序,图形学,用户界面,1.4C+,与面向对象,程序设计,4,、,C+,特征,兼容语言,支持面向过程的程序设计,具有高效性、灵活性、可移植性,丰富的数据类型,支持面向对象程序设计,5,、常见编译系统,C+Builder,VC+,VC+.net,1.5 C+,程序的结构,1,、,C+,程序的构成,声明部分,主函数部分,

24、函数定义,2,、,C+,程序文件,头文件:,.h .,hpp,源文件,:.,cpp,3,、程序结构的一个例程如下,1.5 C+,程序的结构,3,、,C+,程序的一个例程,声明部分,0/Eg1-1.cpp,1#include,2#define N 10,3void,sort(int,a,int,n);,4void,print(int,a,int,);,5,1.5 C+,程序的结构,对例程的补充:,C+,的注释,/,/*/,C+,的函数需要先声明,然后才能调用,1.6,数据,的输入与输出,本节主要介绍,C+,程序中数据输入输出的方法,是,C+,程序设计的基础。应该掌握,流的概念,iostream.

25、h,cin,cout,endl,讲授方法:在,VC+,集成环境中演示,1.6.1,流,的概念,1,、,C,及,C+,中的流概念,I/O,(,input/,ouput,,输入,/,输出)数据是一些从源设备到目标设备的字节序列,称为字节流。除了图像、声音数据外,字节流通常代表的都是字符,因此在多数情况下的流(,stream,)是从源设备到目标设备的字符序列,,A,8,b,c,t y,x,123,4,源设备,目标设备,字符序列从源设备连续不断地流向目标设备,最后按先流出先到达的有序方式汇聚在目标设备中,如同河流一样,故此叫流。,1.6.1,流,的概念,输入流,输入流(,input stream,)是

26、指从输入设备流向内存的字节序列。,输出流,输出流(,output stream,)是指从内存流向输出设备的字节序列。,C+,中的输入输入流,iostream,cin,输入流对象,,C+,已将其与键盘关联,cout,输出流对象,,C+,已将其与显示器关联,1.6.2,cin,和析取运符,1,、,cin,的用途,cin,读作,(see-in,)是一个输入流对象,用于从键盘输,入数据。在,C+,程序中,也可以使用,c,语言中常用的,scanf,函数输入数据,但,cin,更简单。,2,、,cin,的用法,输入单个变量的值,cin,x,;,输入多个变量的值,cin,x1x2x3x4,xn,其中,x,x1

27、x2,可是以内置数据类型如,int,,,char,,,float,,,double,等。,1.6.2,cin,和析取运符,3,、用,cin,时的注意事项,在一条,cin,语句中同时为多个变量输入数据,。在输入数据的个数应当与,cin,语句中变量个数相同,各输入数据之间用一个或多个空白(包括空格、回车、,Tab,)作为间隔符,全部数据输入完成后,按,Enter,键结束。,在,后面只能出现变量名,下面的语句是错误的。,cin,x=x;/,错误,,后面含有字符串,x=,cin,12x;/,错误,,后面含有常数,12,cin,xx;,1.6.2,cin,和析取运符,cin,具有自动识别数据类型的能力,

28、析取运算,将根据它后面的变量的类型从输入流中为它们提取对应的数据。比如:,cin,x;,假设输入数据,2,,析取运算符,将根据其后的,x,的类型决定输入的,2,到底是数字还是字符。若,x,是,char,类型,则,2,就是字符;若,x,是,int,,,float,之类的类型,则,2,就是一个数字。,再如,若输入,34,,且,x,是,char,类型,则只有字符,3,被存储到,x,中,,4,将继续保存在流中;若,x,是,int,或,float,,则,34,就会存储,x,中。,1.6.2,cin,和析取运符,数值型数据的输入。,在读取数值型数据时,析取运算符,首先略掉数据前面的所,有空白符号,如果遇到

29、正、负号或数字,就开始读入,包括,浮点型数据的小数点,并在遇到空白符或其他非数字字符时,停止。例如:,int,x1;,double x2;,char x3;,cin,x1x2x3;,假如输入“,35.4A”,并按,Enter,键,,x1,是,35,;,x2,是,.4,;,x3,是,A,1.6.2,cin,和析取运符,4,、输入数据案例分析,【,例,1-2】,假设有变量定义语句如下:,int,a,b,;,double z;,char,ch,;,下面的语句说明数据输入的含义。,语句 输入内存变量的值,1,cin,ch,;A,ch,=A,2,cin,ch,;AB,ch,=A,,而,B,被保留在输入流

30、中等待被读取,3,cin,a;32a=32,4,cin,a;32.23a=32,,,.23,留在输入流中等待被读取,5,cin,z;76.21z=76.21,6,cin,z;65z=65.0,7,cin,a,ch,z23 B 3.2a=23,,,ch,=B,Z=3.2,8,cin,a,ch,z23B3.2a=23,,,ch,=B,Z=3.2,9,cin,abz23 32a=23,,,b=32,,等待输入下一个数据存入,z,10,cin,az2 3.2 24a=2,,,z=3.2,,,24,被保留在输入流中等待被读取,11,cin,a,ch,132a=132,,计算机等待输入,ch,的值,12,

31、cin,ch,a132,ch,=1,,,a=32,1.6.3,cout,和插入运算符,1,、,cout,的用途,cout,(读作,see-out,)是一个输出流对象,已被,C+,默认关联到显示器,用于在屏幕上输入数据。,在,C+,程序中,也可使用,C,语言的,printf,输出数据,但,cout,更简单。,2,、,cout,的用法,cout,x,其中,x,可是以内置数据类型如,int,,,char,,,float,,,double,等。,1.6.3,cout,和插入运算符,输出字符类型的数据,对于字符变量和字符串变量,,cout,将把变量的值输出到显示屏幕上。对于字符常量和字符串常量,,cou

32、t,将把它们原样输出在屏幕上,【,例,1-3】,用,cout,输出字符数据。,/Eg1-3.cpp,#include,void main(),char ch1=c;,char ch2=,Hellow,C+!;,cout,ch1;,cout,ch2;,cout,C;,cout,Hellow,everyone!;,1.6.3,cout,和插入运算符,2.,连续输出,cout,能够同时输出多个数据,用法如下:,cout,x1x2x3;,例:,cout,ch1ch2C,Hellow,everyone!;,与,C,语言一样,在,C+,程序中也可以将一条命令写在多行上。比如,上面的语句也可写成下面的形式:

33、cout,ch1,ch2,C,Hellow,everyone!;,1.6.3,cout,和插入运算符,3,、输出换行,在,cout,语句中换行可用:“,n”,或,endl,【,例,1-4】,在例,1-3,的输出语句中增加换行符。,/Eg1-4.cpp,#include,void main(),char ch1=c;,char ch2=,Hellow,C+!;,cout,ch1,endl,;,cout,ch2n;,cout,C,endl,;,cout,Hellow,everyone!n;,1.6.3,cout,和插入运算符,4,、输入数据类型数据,在连续输出多个数据时,应注意在数据之加插入间隔

34、符。如,int,x1=23;,float x2=34.1;,double x3=67.12;,cout,x1x2x3900;,其中的,cout,语句将在屏幕上输出,,2334.167.12900,谁知道这是个什么数据呢?,1.6.3,cout,和插入运算符,5,、数制基数,hex,:,16,进制,,oct,:,8,进制,,dec,:,10,进制,【,例,1-5】,输出不同进制的数据。,/Eg1-5.cpp,#include,void main(),int,x=34;,cout,hex17 x 18,endl,;,cout,17 ,oct,x 18,endl,;,cout,dec,17 x 18

35、endl,;,1.6.3,cout,和插入运算符,6,、其它输出格式控制符,设置浮点数的精度,setprecision(n,),设置输出域宽和对齐方式,setw(n,),设置对齐方式,Setiosflags(long,f);,resetiosflags(long,f);,1.6.3,cout,和插入运算符,【,例,1-6】,用,setiosflags,和,resetiosflags,设置,和取消输出数据的对齐方式。,/Eg1-6.cpp,#include,#include,void main(),cout,“123456781234567812345678”,endl,;,cout,seti

36、osflags(ios:left,)setw(8),456setw(8)123,endl,;,cout,resetiosflags(ios:left,)setw(8)123,endl,;,1.7,编程实作,VC+6.0,编程简介,本节主要以案例方式介绍,VC+,的编程环境,及在,VC+6.0,环境下设计,C+,程序的过程。请在实际的,C+,环境中介绍本节的内容。,本章介绍的是一种基于控制台的,VC+,程序设计方式,是一种非常简略的方式,1.7,编程实作,VC+6.0,编程简介,1,、关于,C+,编译器,支持,C+,程序设计的编译程序很多,常见的有,Turbo C+,、,Borland C+,和

37、Visual C+,等。,Visual C+,是微软公司的产品,简称,VC+,。,VC+6.0,是微软公司,1998,年推出的基于,Windows,的集成开发环境,它提供了编写程序源代码的编辑器,创建各类资源文件(如对话框、图标、菜单等)的资源编辑器,具有编辑、编译、链接等功能。利用它可以输入、编辑源程序,进行程序的编译、调试、链接,最后生成可执行的命令程序。,1.7,编程实作,VC+6.0,编程简介,2,、例题描述,【,例,1-7】,某次考试成绩如下,编写程序计算每位同学的平均分。要求成绩从键盘输入,程序输出结果的形式与下面相同,但要输出每位同学的平均分。,语文 数学 政治 化学 英语 平

38、均分,学生,1 67 76 87 89 76,学生,2 78 87 78 90 87,1.7,编程实作,VC+6.0,编程简介,3,、编程过程,(,1,)启动,VC+6.0,(,2,)选择,VC+6.0,的“文件,|,新建”命令,进入,VC+,的“新建”对话框,如图所示。,1.7,编程实作,VC+6.0,编程简介,(,3,)选择“新建,|,文件”标签,通过“目录”编辑框指定文件目录。,(,4,)选中“新建,|C+Source File”,列表项,在“文件”编辑框中输入源程序的名字,扩展名为,.,cpp,。单击“确定”,进入,VC+,的编辑程序界面,如图所示。,1.7,编程实作,VC+6.0,编

39、程简介,1.7,编程实作,VC+6.0,编程简介,(,5,)在程序编辑窗口中输入程序源代码,/Eg1-7.cpp,#include,#include,/,本程序的,setw,在此头文件中定义,#define,StuNum,5,/,StuNum,代表学生人数,void,ReadData(double,s6,int n);,/,这,3,行是函数声明,void,AveScore(double,s6,int n);,void,OutData(double,s6,int n);,1.7,编程实作,VC+6.0,编程简介,void main(),double sStuNum6;/,定义保存学生成绩的数组,

40、ReadData(s,2);/,读入学生成绩,AveScore(s,2);/,计算各学生的平均分,OutData(s,2);/,输出学生成绩表,void,ReadData(double,s6,int n),for(int,i=0;i,n;i,+),cout,输入学生,i+1,的,5,科成绩,:;/,在屏幕上提示,for(int,j=0;j,sij,;,void,AveScore(double,s 6,int n),for(int,i=0;i,n;i,+),double sum=0;,for(int,j=0;j5;j+),sum=,sum+sij,;,si5=sum/5.0;,void,OutD

41、ata(double,s 6,int n),/,下面的,cout,语句在屏幕上输出科目名称,cout,setw(17),语文,setw(8),数学,setw(8),政治,setw(8),化学,setw(8),英语,setw(8),平均分,endl,;,for(int,i=0;i,n;i,+),cout,setw(8),学生,i+1;,for(int,j=0;j6;j+),cout,setw(8),sij,;,cout,endl,;,1.7,编程实作,VC+6.0,编程简介,(,6,)选择,VC+,的“编译,|,编译,student.cpp,”,命令,单击,VC+,编译工具按钮,弹出如图所示的对

42、话框。,1.7,编程实作,VC+6.0,编程简介,(,7,)一个,C+,程序在,VC+,环境下编译运行,必须有一组与之紧密相关的文件,这组文件包含了程序的,环境设置,、涉及的,头文件,、,资源,等内容,称为,项目文件,。上图所示对话框询问是否要创建本程序的项目文件。单击“,是,”按钮,,VC+,将自动生成该程序的相关项目文件。,(,8,)编译程序,调试代码中的错误,编译成功后,选择,VC+,的“,编译,|,执行,”命令,或单击工具栏中的命令按钮,执行该程序,1.7,编程实作,VC+6.0,编程简介,关于,VC+,的项目工作区文件,同简单的,C,程序相比较,,VC+,程序的编译运行需要在一个项目

43、环境中才可行。前面的编程过程虽然只输入了一个源件,但第(,6,)步却由,VC+,向导建立了一组文件,,这些文件被放在新建文件时指定的目录中。下图列示了这些相关文件。,1.7,编程实作,VC+6.0,编程简介,1.7,编程实作,VC+6.0,编程简介,.,dsp,的文件是项目文件,.,dsw,的文件是项目工作区文件。,.opt,的文件是工作区选项文件,用于保存项目工作区的配置信息。,一个应用程序无论简单还是复杂,也不管它是由一个还是多个文件构成,都必须建立项目文件才能被编译。,项目文件把一个应用程序的所有文件如源程序(,.,cpp,文件)、头文件(,.h,文件)、资源文件(,.,rc,)、程序结构信息文件及系统环境配置文件等组织成一个有机的整体,构成一个能够被编译器所识别和编译的项目。,1.7,编程实作,VC+6.0,编程简介,请以案例操作方式介绍,1.7.4,节的程序方法,1.7,编程实作,VC+6.0,编程简介,The End,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服