C++编程基础课件

PPT
  • 阅读 71 次
  • 下载 0 次
  • 页数 50 页
  • 大小 688.500 KB
  • 2022-11-12 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
C++编程基础课件
可在后台配置第一页与第二页中间广告代码
C++编程基础课件
可在后台配置第二页与第三页中间广告代码
C++编程基础课件
可在后台配置第三页与第四页中间广告代码
C++编程基础课件
C++编程基础课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 50
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
文本内容

【文档说明】C++编程基础课件.ppt,共(50)页,688.500 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-2172.html

以下为本文档部分文字说明:

第1章C++编程基础第1页,共50页。【本章学习要点】•1.掌握面向对象的基本概念;•2.掌握对象和类的概念,理解对象的特性;•3.掌握C++语言的基本概念。•参考教材:《C++面向对象程序设计》谭浩强清华

大学出版社第2页,共50页。第1章C++编程基础1.1C++语言简介1.2面向对象方法的基本概念1.3C++语言的基本概念1.4C++程序风格1.5C++程序的运行环境第3页,共50页。1.1.1C++语言的发展史•C+

+源于C语言,而C语言是在B语言的基础上发展起来的。•1960年出现了一种面向问题的高级语言ALGOL60。•1963年英国剑桥大学推出了CPL(CombinedProgrammingLanguage)语言,后来经简化为BCPL语言。•19

70年美国贝尔(Bell)实验室的K.Thompson以BCPL语言为基础,设计了一种类似于BCPL的语言,取其第一字母B,称为B语言。1.1C++语言简介第4页,共50页。•1972年美国贝尔实验室的DennisM.Ritchie为克服B语言的诸多不足,在B语言的基础上重新设计了一

种语言,取其第二字母C,故称为C语言。•1980年贝尔实验室的BjarneStroustrup对C语言进行了扩充,推出了“带类的C”,多次修改后起名为C++。以后又经过不断的改进,发展成为今天的C++。•C++改进了C的不足之处,支持面向对象

的程序设计,在改进的同时保持了C的简洁性和高效性。第5页,共50页。C++编程模式•1.1.2结构化程序设计•主要特征与原则:•结构化程序是由顺序结构、选择结构和循环结构构成;•有限制地使用goto语句;•使用结构化程序设计语言书写结构化程

序,并采用一定的书写格式以提高程序结构的清晰性和程序的易读性;•强调程序设计过程中人的思维方式与规律,采用自顶向下的程序设计策略,通过一组规则、规律与特有的风格对程序设计细分和组织。第6页,共50页。面向对象程序

设计•C++:以类为核心的面向对象程序设计模式。•问题→函数→算法→对象•面向对象程序设计有3个主要特征:封装、继承和多态。•自下向上的编程方式第7页,共50页。1.1.3C++语言的特点•C++语言继承了C语言的特点:丰富的运算符和数据类型、结构化的程序设计方法、高效的

机器代码、良好的可移植性。•C++语言扩展了C语言的功能,增加了面向对象机制。•C++语言既适用于编写系统软件,也适用于设计应用软件。•与C语言相比,C++语言的错误检查机制强。第8页,共50页。1.2面向对象方法的基本概念面向对象程序设计是在吸取结构化程序设计的一切优点的基础上发展起

来的一种新的程序设计方法。它的本质是把数据和处理数据的过程当成一个整体——对象。面向对象是C++中的主要概念,在学习C++之前首先要了解这些概念。第9页,共50页。对象按照面向对象的观点,对象(obj

ect)是现实世界中各种各样实际存在的事物,包括有形的对象和无形的对象。例如:人、学生、猫、动物、植物、汽车、工厂和计算机等都是有形的对象,而计划、思想、控制系统、程序等都是无形的对象。对象是构成世界的一个独立单位,它具有自己特定的属性(attribute)(如大小、形状和重量

等)和行为(behavior)(如生长、行走、转弯和运算等),人们通过对象的属性和行为来认识对象。在计算机科学中,对象是系统中用来描述客观事物的一个实体,它是构成系统的基本单位,而系统可以看作是由一系列相互作用的对象组成。第10页,共50页。类类是面

向对象语言必需提供的用户定义的数据类型,它将具有相同状态、操作和访问机制的多个对象抽象成为一个对象类。类可用公式表示:类=数据结构+对数据进行操作的函数类与对象的关系如同汽车与具体的一辆车的关系。汽车都能跑,有四个轮子,所有的汽车组成了一个类,具体到

一辆汽车,它具有类的全部特性(能跑,有四个轮子),是汽车类的一个子集或元素。类给出了属于该类的全部对象的抽象定义,而对象则是符合这种定义的一个实体。所以,一个对象又称作类的一个实例(instance)。第11页,共50页。消息面向对象方法

提供了对象之间的通信机制。程序由一些相互作用的对象(类)构成,对象之间的交互通过发送消息来实现。程序通过执行对象的各种行为方法,来改变对象的状态(属性数据),从而使该对象发生某些事件。当对象发生某些事件时,通常需向其他相关对象发送消息,请求它们作出一些处理。消息是向某

对象请求服务的一种表达方法。对象内有方法和数据,外部的用户或对象对该对象提出的服务请求,可以称为向该对象发送了消息。第12页,共50页。继承继承是面向对象语言的另一特性。类与类之间可以组成继承层次,一个类的定义

(子类)可以定义在另一个已定义类(父类)的基础上。子类可以继承父类中的属性和操作,也可以定义自己的属性和操作。C++语言支持单继承和多继承,因而具有继承这一特性所带来的优势,大大增加了程序的重用性。第13页,共50页。封装封装是面向对象

方法的一个重要原则。它有两个涵义:第一个涵义是,把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。第二个涵义也称作“信息隐蔽”,即尽可能隐蔽对象的内部细节,对外形成一个边界(或者说形成一道屏障),只保留有限的对外接口使之与外部发生联系。这主要是指对象的

外部不能直接地存取对象的属性,只能通过几个允许外部使用的服务与对象发生联系。第14页,共50页。1.3C++语言的基本概念1.3.1程序【例1.1】一个简单的C++程序。#include<iostream.h>voidmain(void){/*输出Thisism

yfirstC++program.*/cout<<”ThisismyfirstC++program.\n”;}第15页,共50页。我们可以发现:1._C++源程序文件的扩展名为CPP。2._C++注释不但可以使用符号“/*”和“*

/”,表示符号“/*”和“*/”之间的内容都是注释;而且还可以使用一个双斜线“//”,表示“//”之后的本行内容是注释,注释在按回车键后自动结束。3._C++程序一般包含的是标准输入、输出流的头文件iost

ream.h,输入、输出可以通过使用输入、输出流对象(如cin、cout)来完成。第16页,共50页。1.3.2对象和类从面向对象的角度来说,类是对某一类对象的抽象,而对象是类的具体实例;从程序设计语言的角度来说,类是一种复杂的自定义数据类

型,对象是属于这种数据类型的变量。C++引入了类这种抽象数据类型,实现了对对象的抽象和封装。第17页,共50页。C++定义类的基本形式如下:class<类名>{private:<私有数据成员和私有成员函数的声明列表>;public:<公有数据成员和公有成员函数的声明列表>;protect

ed:<保护数据成员和保护成员函数的声明列表>;};第18页,共50页。【例1.2】定义类Time(时间)。classTime{private:inthour;intminute;intsecond;public:voidsetTime(int,int,int);voids

howTime();};第19页,共50页。【例1.3】类Time的实现。voidTime::setTime(inth,intm,ints){hour=(h>=0&&h<24)?h:0;//设置时间minute=(m>=0&&m<6

0)?m:0;second=(s>=0&&s<60)?s:0;}voidTime::showTime(){cout<<hour<<’:’<<minute<<’:’<<second<<endl;//输出时间}第20页,共50页。【例1.4】类Time的使用,声明对象并设置

对象属性。voidmain(){TimeEndTime;//声明对象EndTimeEndTime.setTime(1,2,3);//设置对象EndTime的时间(属性,数据成员)cout<<”Theendtimeis:”;EndTime.ShowTime();//显示对象EndTime的时间}第

21页,共50页。1.3.3常量和变量在程序中使用的数据有常量和变量两种类型,常量的值是始终不变的,而变量的值是可以被改变的。常量和变量的主要区别在于:常量不占内存空间,不能为常量赋值;而变量需要占内存空间,可以给变量赋不同的值。第22页,共50页。1.3

.4函数函数是C++程序的构成基础。C++程序都是由一个个函数所组成的。在C++中,函数是结构化设计的“自顶向下、逐步求精”思想的具体体现。函数是程序模块划分的基本单位,程序员可将一个复杂的程序分解为若干个相对独立且功能单一的子

程序即函数进行设计。C++函数有三种:主函数(即main()函数)、C++提供的库函数和自定义函数。第23页,共50页。1.3.5输入和输出程序从外部设备获得数据称为输入(input),反之,将程序中的数据送到外部设备如屏幕、打印机等称为程序的输出(output)。第24页,共50页。1

.标准输出语句cout<<”let\’slearntowriteaC++Program.”;cout<<endl;cout<<”chickenhencock“<<endl;cout<<””<<chicken<<””<<hen<<””<<cock<<endl;第25页,共50页。2.标准输

入语句下面的程序使用了标准输入语句cin>>myage;#include<iostream.h>voidmain(void){intmyage;cout<<”Myageis“;cin>>myage;//输入年

龄(一个整数)cout<<myage<<endl;}第26页,共50页。1.3.6预处理命令#include预处理命令以位于行首的符号“#”开始,C++提供的预处理有宏定义命令、文件包含命令和条件编译命令三种。我们着重介绍#include文

件包含指令。第27页,共50页。#include文件包含指令是指将一个源文件嵌入到当前源文件中该指令处。#include指令有以下两种形式,其格式如下:第一种形式:#include<文件名>第一种形式中,所要嵌入源文件用尖括号括起来。这种形式的#include指令告诉编译预处理程序在编

译器自带的外部库的头文件中搜索要嵌入的文件,它们一般是系统提供的公共头文件,存放在系统目录中的Include子目录下。第28页,共50页。第二种形式:#include”文件名”第二种形式中,所要嵌入的源文件用双引号括起来。这种形式的#include指令告诉编译预处理

指令先在当前子目录搜索要嵌入的文件(一般是用户自定义的头文件或源文件),如果没有找到文件,则再去搜索编译器自带的或外部库的头文件。第29页,共50页。1.3.7头文件每个C++程序通常分为两个文件,一个文件用于保存程序的声明(declarat

ion),称为头文件;另一个文件用于保存程序的实现(implementation),称为定义(definition)文件。C++程序的头文件以“.h”为后缀。头文件由三部分内容组成:(1)头文件开头处的版权和版本声明;(2)预处理块;(3)函数和类

结构声明等。第30页,共50页。头文件的作用:(1)通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,而不必关心接口怎么实

现的。编译器会从库中提取相应的代码。(2)头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。第31页,共50

页。1.4C++程序风格C++程序由语句组成,语句主要包括声明语句和执行语句。声明语句用于声明变量和函数,变量声明语句说明变量的名称和数据类型,函数声明语句说明函数的名称、参数类型和返回值类型;执行语句包括赋值语句、表达式语句、函数调用语句和流程

控制语句等。第32页,共50页。1.4.1命名标识符是由程序员定义的字符串,用以命名程序中变量名、函数名、常量名和对象名等。标识符由字母、数字和下划线“_”组成。第一个字符只能以字母或下划线开头,而且不能是数字。与有些语言不同,C++编译器把大写和小写字母

当作不同的字符,这个特征称为“大小写敏感”。为标识符取名时,恰当运用下划线,大、小写字母混用以及使用较长的名字都有助于提高程序的可读性。但是不要采用C++关键字。第33页,共50页。关键字是C++编译器预定义的,具有固定含义

的保留字,用于在程序中表达特定的含义,如表示数据类型、存储类型、类和控制语句等。以下是标准C++中主要的关键字:auto,bool,break,case,catch,char,class,const,continue,default,delete,do,double,else,enum,exte

rn,false,float,for,friend,goto,if,inline,int,long,namespace,new,operator,private,protected,public,regi

ster,return,short,signed,sizeof,static,struct,switch,template,this,throw,true,try,typedef,typename,union,unsigned,virtua

l,void,while。第34页,共50页。1.4.2编排C++语言程序的书写格式自由度高,灵活性强,随意性大,如一行内可写一条语句,也可写几条语句;一个语句也可分写在多行内。不过应采用适当的格式书写,便于人们阅读和理解。第35页,共50页。为

了增加程序的可读性和利于理解,编写程序时按如下要点书写:1.一般情况下每个语句占用一行;2.不同结构层次的语句,从不同的起始位置开始,即在同一结构层次中的语句,缩进同样的字数;3.表示结构层次的大括弧,写在该结构化语句第一个字母的下方,与结构化语句对齐,并占用一行;4.适当加些空格和空行。

第36页,共50页。1.4.3注释注释是用来帮助阅读、理解及维护程序。在编译时,注释部分被忽略,不产生目标代码。C++语言提供两种注释方式。一种是与C兼容的多行注释,用/*和*/分界。另一种是单行注释,以“//”开头的表明本行中“//”

符号后的内容是注释。第37页,共50页。1.5C++程序的运行环境1.TurboC++2.C++Builder3.Dev-C++4.VisualC++VisualC++6.0在项目文件管理、调试及操作的亲和力等方面上都略胜一筹,故本书以其比较流行

的汉化版本VisualC++6.05SP6中文企业版作为编程环境。第38页,共50页。C++程序最早是在MicrosoftVisualC++6.0(英文版,以下相同)环境中进行编辑、编译、连接和执行。具体步骤如下:(1)启动MicrosoftVisualC++6.0,

见图1-1;1.5C++程序的运行环境第39页,共50页。(2)单击【file】菜单中的【new】,弹出窗口,见图1-2;第40页,共50页。(3)选中【Projects】选项卡,单击【Win32ConsoleApplication】选项,在【Projectname

】编辑框中输入项目名称,在【Location】中选择项目存放的位置,单击【OK】按钮,创建一个项目,见图1-3;第41页,共50页。(4)在【SourceFiles】文件夹中添加程序文件(扩展名为.cpp),并编辑程序,然后进行编译和运行,见图1-4。第42页,共50页。本书所有程序都在Mi

crosoftVisualC++6.0环境中调试通过。MicrosoftVisualStudio2005(中文版,以下相同)是比MicrosoftVisualC++6.0集成度更高、功能更强、通用性更好的开发软件系统的工具,也可以作为C++程序的运行环境,而且比

MicrosoftVisualC++6.0具有更加强大的错误检查机制和更高的效率。第43页,共50页。C++程序在MicrosoftVisualStudio2005环境中的编辑、编译、连接和运行和在MicrosoftVisualC++6.0环境中类似,具体步骤如下:(1)启动MicrosoftV

isualStudio2005,见图1-5;第44页,共50页。(2)单击【文件】菜单中的【新建】,弹出窗口,见图1-6;第45页,共50页。(3)选中左侧窗口中【VisualC++】中的【CLR】,单击右侧窗口中的【CLR控制台应用

程序】,在【名称】编辑框中输入项目名称,在【位置】中选择项目存放的位置,单击【确定】按钮,创建一个项目,见图1-7;第46页,共50页。(4)在程序文件中添加头文件#include<iostream>和名称空间usingnamespacestd;,然后输入程序,

再编辑运行,见图1-8。第47页,共50页。本书程序也可以在MicrosoftVisualStudio2005环境下运行,但须注意以下几点:(1)#include<iostream>不能写成#include<iostream.

h>;(2)必须添加要用到的名称空间,如usingnamespacestd;;(3)函数mian()括号中的内容可以删除,不影响一般程序的运行。第48页,共50页。【复习与提示】1.面向对象最基本的概念就是对象。对象是对客观世界实体的认识,对象之间也是有联系的,具有

相同类型属性和操作的对象可以被抽象为类,类是对象的模板。2.面向对象有三个特性:封装性。对象中的属性和操作都被隐藏起来,只把接口暴露给外界。继承性。对象间的一种层次关系,如某个对象继承了另一个对象就具有了

那个对象所有的属性和方法。多态性。同一个操作作用在不同对象的时候表现出的不同行为。第49页,共50页。3.C++程序中的程序由头文件、主函数、函数变量的定义以及注释组成。在注释方面,C++增加“//”符号的注释方法,使用很方便,同时C++增加了新的输入输出cout

和cin,需要在头文件中添加<iostream.h>。第50页,共50页。

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?