C++程序设计 第1章 绪论.ppt_第1页
C++程序设计 第1章 绪论.ppt_第2页
C++程序设计 第1章 绪论.ppt_第3页
C++程序设计 第1章 绪论.ppt_第4页
C++程序设计 第1章 绪论.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章 绪论,1.1 C+的发展历史 1.2 C+程序的开发过程 1.3 C+的词法与规则 1.4 面向对象程序设计 1.5 C+程序的构成,1.1 C+的发展历史,C+源于C语言,而C语言是在B语言的基础上发展起来的。 1960年出现了一种面向问题的高级语言ALGOL 60 。 1963年英国剑桥大学推出了CPL(Combined Programming Language)语言,后来经简化为BCPL语言。 1970年美国贝尔(Bell)实验室的K.Thompson以BCPL语言为基础,设计了一种类似于BCPL的语言,取其第一字母B,称为B语言。,1972年美国贝尔实验室的Dennis M.Ritchie为克服B语言的诸多不足,在B语言的基础上重新设计了一种语言,取其第二字母C,故称为C语言。 1980年贝尔实验室的Bjarne Stroustrup对C语言进行了扩充,推出了“带类的C”,多次修改后起名为C+。以后又经过不断的改进,发展成为今天的C+。 C+改进了C的不足之处,支持面向对象的程序设计,在改进的同时保持了C的简洁性和高效性。,1.2 C+程序的开发过程,C+语言是一种高级程序设计语言,它的开发过程与其他高级语言程序开发过程类似,一般要经过四个步骤: 编辑 编译 链接 执行,1.2.1 编辑 是指把按照C+语法规则编写的程序代码通过编辑器(Borland C+ 5.05,Visual C+ 6.0,Turbo C+ 3.0)输入计算机,并存盘。在存盘时,C+源文件的扩展名为.CPP。 1.2.2 编译 将编辑好的C+源程序通过编译器转换为目标文件(OBJ文件)。即生成该源文件的目标代码。,1.2.3 链接 将用户程序生成的多个目标代码文件(.obj)和系统提供的库文件(.lib)中的某些代码连接在一起,生成一个可执行文件(.exe)。 1.2.4 执行 把生成的可执行文件运行,在屏幕上显示运行结果。用户可以根据运行结果来判断程序是否出错。,1.3 C+的词法与规则,1.3.1 C+的字符集 数字:0,1,2,3,4,5,6,7,8,9。 小写字母:a,b,y,z。 大写字母:A,B,Y,Z。 运算符:+,-,*,/, %,= , ,!= ,= = , ,& , ,& , , ,( ), , ,- , , ! , ? , ?: , , , ; , ” , # 。 特殊字符:(连字符或下划线)。 不可印出字符:空白格(包括空格、换行和制表符)。,1.3.2 词与词法规则 1. 标识符 标识符是对实体定义的一种定义符,由字母或下划线(或连字符)开头、后面跟字母或数字或下划线(或空串)组成的字符序列,一般有效长度是8个字符(而ANSI C标准规定31个字符),用来标识用户定义的常量名、变量名、函数名、文件名、数组名、和数据类型名和程序等。,2. 关键字 关键字是具有特定含义,作为专用定义符的单词,不允许另作它用。 auto break case char class const continue default do ddefault delete double else enum explicit extern float for friend goto if inline int long mutable new operator private protected public register return short signed sizeof static static_cast struct switch this typedef union unsigned virtual void while,3. 运算符和分隔符 运算符是C+语言实现加、减等各种运算的符号。 C+语言的分隔符主要是:空格、制表和换行符。 4. 字符串 字符串是由双引号括起来的字符。如“China”,“C+ Program”等。 5. 常量 C+语言中常量包括实型常量(浮点常量)和整型常量(十进制常量、八进制常量、十六进制常量)、浮点常量、字符常量和字符串常量。,6. 注释 注释是用来帮助阅读、理解及维护程序。在编译时,注释部分被忽略,不产生目标代码。C+语言提供两种注释方式。一种是与C兼容的多行注释,用/*和*/分界。另一种是单行注释,以“/”开头的表明本行中“/”符号后的内容是注释。如下程序:,例1-1:一个简单的C+程序。 #include void main() cout”This is my first C+ program.n”; /输出This is my first C+ program. /*输出 This is my first C+ program.*/ ,1.3.3 书写格式 C+语言程序的书写格式自由度高,灵活性强,随意性大,如一行内可写一条语句,也可写几条语句;一个语句也可分写在多行内。不过应采用适当的格式书写,便于人们阅读和理解。 为了增加程序的可读性和利于理解,编写程序时按如下要点书写: (1)一般情况下每个语句占用一行。 (2)不同结构层次的语句,从不同的起始位置开始,即在同一结构层次中的语句,缩进同样的字数。 (3)表示结构层次的大括弧,写在该结构化语句第一个字母的下方,与结构化语句对齐,并占用一行。 (4)适当加些空格和空行。,1.4 面向对象程序设计,面向对象程序设计是在吸取结构化程序设计的一切优点的基础上发展起来的一种新的程序设计方法。它的本质是把数据和处理数据的过程当成一个整体对象。 面向对象是C+中的主要概念,在学习C+之前首先要了解这些概念。,1.4.1 对象 从一般意义上讲,对象是现实世界中一个实际存在的事物,它可以是有形的(比如一辆汽车),也可以是无形的(比如一项计划)。对象是构成世界的一个独立单位,它具有自己的静态特征(状态)和动态特征(操作)。静态特征即可以用某种数据来描述的特征,动态特征即对象所表现的行为或对象所具有的功能。 面向对象语言把状态和操作封装于对象体之中,并提供一种访问机制,使对象的“私有数据”仅能由这个对象的操作来执行。用户只能通过允许公开的操作提出要求(消息),才能查询和修改对象的状态。,1.4.2 类 类是面向对象语言必需提供的用户定义的数据类型,它将具有相同状态、操作和访问机制的多个对象抽象成为一个对象类。 类与对象的关系如同汽车与具体的一辆车的关系。汽车都能跑,有四个轮子,所有的汽车组成了一个类,具体到一辆汽车,它具有类的全部特性(能跑,有四个轮子),是汽车类的一个子集或元素。类给出了属于该类的全部对象的抽象定义,而对象则是符合这种定义的一个实体。所以,一个对象又称作类的一个实例(instance)。,1.4.3 封装 封装是面向对象方法的一个重要原则。它有两个涵义:第一个涵义是,把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。第二个涵义也称作“信息隐蔽”,即尽可能隐蔽对象的内部细节,对外形成一个边界(或者说形成一道屏障),只保留有限的对外接口使之与外部发生联系。这主要是指对象的外部不能直接地存取对象地属性,只能通过几个允许外部使用地服务与对象发生联系。,1.4.4 继承 继承是面向对象语言的另一特性。类与类之间可以组成继承层次,一个类的定义(子类)可以定义在另一个已定义类(父类)的基础上。子类可以继承父类中的属性和操作,也可以定义自己的属性和操作。 C+语言支持单继承和多继承,因而具有继承这一特性所带来的优势,大大增加了程序的重用性。,1.4.5 多态性 对象的多态性是指在一般类中定义的属性或操作被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或操作名在一般类及其各个特殊类中具有不同的语义。,1.5 C+程序的构成,C+语言程序由以下基本部分组成。 1. 函数 一个C+程序是由若干个函数构成的。函数分为库函数(标准函数)和自定义函数。库函数一般是由系统提供的。一个完整的C+语言程序只有一个主函数。 2. 预处理命令 预处理命令以位于行首的符号“#”开始,C+提供的预处理有宏定义命令、文件包含命令和条件编译命令三种。,3. 程序语句 一条完整的语句必须以分号“;”结束。程序语句有如下几类: (1)说明语句 用来说明变量的类型和初值。 如下面语句是把变量说明为浮点数。 float a,b,c; 又如下面语句是把变量sum说明为整型变量,并赋初值为零。 int sum=0;,(2)表达式语句 由一个表达式构成一个语句,用以描述算术运算、逻辑运算、或产生某种特定动作,在任何表达式最后加一个分号就构成了一个语句。如下例由赋值表达式加“;”就构成一个赋值表达式语句。 (3)程序控制语句 用来描述语句的执行条件与执行顺序的语句,C+语言的控制语句有9种,如下页所示。其语句中的括号( )表示其中是条件,表示内嵌的语句。,if () else 条件语句 for () 循环语句 while () 循环语句 do while () 循环语句 continue 结束本次循环语句 break 中止循环式switch语句 switch 多分支选择语句 goto 转移语句 return 从函数返回语句,(4)复合语句 复

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论