C++ 面向对象程序设计课件第02章 编程基础.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C++ 面向对象程序设计课件第02章 编程基础.ppt》由会员分享,可在线阅读,更多相关《C++ 面向对象程序设计课件第02章 编程基础.ppt(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章 C+编程基础编程基础 第第2章章 C+编程基础编程基础第第2章章 C+编程基础编程基础 第第2章章 C+编程基础编程基础2.1 数据类型与表达式数据类型与表达式2.2 程序的控制结构程序的控制结构2.3 函数函数 2.4 数组数组2.5 指针指针2.6 构造数据类型构造数据类型第第2章章 C+编程基础编程基础 C语言与面向对象的语言与面向对象的CC语言是七十年代初贝尔实验室的语言是七十年代初贝尔实验室的Dennis Richie 等人在等人在B语言基础上开发出来的。语言基础上开发出来的。C最初是作为最初是作为UNIX操作系统的操作系统的开发语言为人们所认识。开发语言为人们所认识。七
2、十年代末,随着微型计算机的发展,七十年代末,随着微型计算机的发展,C语言开始移植到语言开始移植到非非UNIX环境中,并逐步脱离环境中,并逐步脱离UNIX系统成为一种独立的系统成为一种独立的程序设计语言。程序设计语言。C 语言版本很多,为了让开发出来的代码能够在多种平台语言版本很多,为了让开发出来的代码能够在多种平台上运行,上运行,1988年美国国家标准协会年美国国家标准协会ANSI对对C语言进行了语言进行了标准化,产生了标准化,产生了ANSI C。C语言是一个语言是一个面向过程的编程语言面向过程的编程语言Dr.Bjarne Stroustrup,美国美国Bell公司大规模编程公司大规模编程研究
3、中心主任,研究中心主任,C+语言的设计创建人。语言的设计创建人。第第2章章 C+编程基础编程基础 C语言与面向对象的语言与面向对象的C C+包括包括C的全部特征、属性和优点。的全部特征、属性和优点。C+支持支持面向对象面向对象程序设计。通过程序设计。通过类类和和对象对象的概念把数据的概念把数据和对数据的操作和对数据的操作封装封装在一起,通过在一起,通过派生派生、继承继承、重载重载和和多多态性态性等特征实现了软件重用和程序自动生成,使得大型复等特征实现了软件重用和程序自动生成,使得大型复杂软件的构造和维护变得更加有效和容易。杂软件的构造和维护变得更加有效和容易。C+与与C完全兼容。但由于与完全兼
4、容。但由于与C兼容,使得兼容,使得C+不是纯正的不是纯正的面向对象的语言,它既支持面向对象程序设计,也支持面面向对象的语言,它既支持面向对象程序设计,也支持面向过程设计。向过程设计。C+编译环境有许多版本,国内较为流行的有编译环境有许多版本,国内较为流行的有Visual C+和和C+Builder。第第2章章 C+编程基础编程基础 一个简单的一个简单的C+程序程序/表示注释行,表示注释行,#引导一个预处理语句引导一个预处理语句main 表示主函数,表示主函数,void 表示无返回值表示无返回值cout为输出流,类似为输出流,类似C语言的语言的printf;endl 是换行函数;是换行函数;n
5、为换行符;函数体用为换行符;函数体用括起来。括起来。注意与注意与C的区别。它没有用到类的概念。的区别。它没有用到类的概念。#include /包含头文件,称为编译预处理行包含头文件,称为编译预处理行void main()/main()函数,程序入口函数,程序入口 /程序体开始程序体开始cout“n I am a student.”endl;/输出字符串内容并换行输出字符串内容并换行 /程序体结束程序体结束运行结果:运行结果:I am a student.第第2章章 C+编程基础编程基础 2.1 数据类型与表达式数据类型与表达式程序设计主要包括数据结构(数据类型)和算法(操作步程序设计主要包括数
6、据结构(数据类型)和算法(操作步骤)的设计。骤)的设计。运行程序,要先描述算法。而描述算法应先说明算法要用运行程序,要先描述算法。而描述算法应先说明算法要用的数据。的数据。数据以变量或常量的形式来描述,每个变量或常量都有数数据以变量或常量的形式来描述,每个变量或常量都有数据类型。据类型。第第2章章 C+编程基础编程基础 C+语言的字符集语言的字符集 C+语言的字符集由下述字符构成语言的字符集由下述字符构成:英文字母:英文字母:AZ,az 数字字符:数字字符:09 特特殊殊字字符符:空空格格、!、#、%、&、*、_(下下划划线线)、+、=、:、-、/、?、;、.、()、第第2章章 C+编程基础编
7、程基础 C+中的数据类型分为中的数据类型分为基本类型基本类型(C+编译系统内置)和编译系统内置)和非基本类型非基本类型(用户自定义类型)。(用户自定义类型)。第第2章章 C+编程基础编程基础 说说明明:在在不不同同的的系系统统中中,每每个个变变量量类类型型所所占占的的字字节节数数可可能能有有所不同,这里列出的是在所不同,这里列出的是在VC+编译环境中的情况。编译环境中的情况。第第2章章 C+编程基础编程基础 2.1.1 常量常量1整型常量整型常量2实型常量实型常量浮点小数,只使用十进制表示浮点小数,只使用十进制表示两种表示形式两种表示形式一般形式:一般形式:16.5,-13.5,3.14159
8、26F,0.1f,0.0,2.指数形式:指数形式:3e1 1.0e-3默认为默认为double型型,如果后缀为,如果后缀为F(或或f)则为则为float型。型。20(十进制表示)(十进制表示)0 x14024十六进制表示十六进制表示八进制表示八进制表示0若干若干07的数的数字字 0 x若干若干09的数字及的数字及AF的字母的字母第第2章章 C+编程基础编程基础 3字符常量字符常量单引号单引号括起来的一个字符括起来的一个字符如如A,2(非数字非数字),(空格),(空格),?4字符串常量字符串常量简称字符串,用一对简称字符串,用一对双引号双引号括起来的字符序列括起来的字符序列例如例如China5布
9、尔常量布尔常量两个:两个:False(假假)true(真真)第第2章章 C+编程基础编程基础 不可显示字符不可显示字符无法通过键盘输入,如响铃、换行、制表符、回车等无法通过键盘输入,如响铃、换行、制表符、回车等C+预定义的转义序列预定义的转义序列第第2章章 C+编程基础编程基础 2.1.2 变量变量在程序的执行过程中值可变的量。在程序的执行过程中值可变的量。变量在使用之前需要首先声明其类型和名称。变量在使用之前需要首先声明其类型和名称。声明形式:声明形式:变量名变量名1,变量名,变量名2,变量名,变量名n;命名规则:由字符、数字和下划线组成,且命名规则:由字符、数字和下划线组成,且只能由字符和
10、只能由字符和下划线开头下划线开头。声明一个变量的同时,也可以给它赋初值。声明一个变量的同时,也可以给它赋初值。在组成变量名的元素中,在组成变量名的元素中,大小写字母含义不同大小写字母含义不同。作为保留字的单词不能再作为其他名字使用作为保留字的单词不能再作为其他名字使用。第第2章章 C+编程基础编程基础 C+中常用的保留字中常用的保留字数据类型说明符数据类型说明符与修饰符与修饰符bool char class const double enum float int long short signed struct union unsigned void存储类型说明符存储类型说明符auto ext
11、ern inline register static访问说明符访问说明符friend private protected public其它说明符其它说明符explicit namespace operator template this typedef typename using virtual 语句与标号语句与标号break case catch continue default do else for goto if return switch throw try while 运算符及逻辑值运算符及逻辑值delete false new sizeof true第第2章章 C+编程基础编程
12、基础 2.1.3 引用引用引用是别名引用是别名建立引用时,程序用另一个变量或对象建立引用时,程序用另一个变量或对象(目标目标)的名字初始的名字初始化它化它引用作为目标的别名而使用,对引用的改动实际是对目标引用作为目标的别名而使用,对引用的改动实际是对目标的改动的改动引用的声明形式为引用的声明形式为&引用名引用名=目标名目标名 或或&引用名引用名=目标名目标名引用型变量的名字,必须引用型变量的名字,必须遵循变量的命名规则遵循变量的命名规则第第2章章 C+编程基础编程基础 引用引用例如,引用一个整型变量:例如,引用一个整型变量:int someInt;int&rInt=someInt;声明声明rI
13、nt是对整数的引用,初始化为引用是对整数的引用,初始化为引用someInt。在这里,要求在这里,要求someInt已经声明或定义。已经声明或定义。引用不是值,引用不是值,不占存储空间不占存储空间,声明引用时,目标的存储状,声明引用时,目标的存储状态不会改变。态不会改变。引用在声明时必须初始化引用在声明时必须初始化第第2章章 C+编程基础编程基础#include/输入输出头文件输入输出头文件void main()int someInt;/定义变量定义变量int&rInt=someInt;/引用引用someInt=6;coutsomeInt:someIntendl;coutrInt:rIntend
14、l;rInt=7;coutsomeInt:someIntendl;coutrInt:rIntendl;someInt:6rInt:6someInt:7rInt:7例例2-1 如何建立和使用引用如何建立和使用引用输出结果输出结果第第2章章 C+编程基础编程基础 引用与指针关系的分析引用与指针关系的分析void Swap(int&a,int&b)/引用调引用调用用 int t=a;a=b;b=t;void Swap(int*a,int*b)/指针调指针调用用 int t;t=*a;*a=*b;*b=t;void Swap(int a,int b)/传值调用传值调用 int t=a;a=b;b=t;
15、区别区别:1.引用是某一对象的别名引用是某一对象的别名,指针是某指针是某一变量的地址变量一变量的地址变量.2.引用在定义时必须初始化引用在定义时必须初始化,即为一即为一已定义对象的别名。指针可在使用时已定义对象的别名。指针可在使用时初始化初始化,可以重新赋值可以重新赋值.引用的作用引用的作用:1.引用可象地址一样完引用可象地址一样完成对所代表的对象的操成对所代表的对象的操作作.2.对引用的操作不同于对引用的操作不同于对指针的操作对指针的操作,它可直接它可直接作用于变量作用于变量,所以更方便所以更方便,更易于理解更易于理解.引用的缺点引用的缺点:引用不能为空引用不能为空,即必须代即必须代表某一对
16、象。表某一对象。指针灵活性较好指针灵活性较好,但使用但使用较不方便。较不方便。第第2章章 C+编程基础编程基础 2.1.4 表达式表达式表达式由运算符、运算对象和括号组成。表达式由运算符、运算对象和括号组成。1运算符运算符C+语言定义了丰富的运算符,如算术运算符、关系运算语言定义了丰富的运算符,如算术运算符、关系运算符、逻辑运算符等符、逻辑运算符等分为单目运算符和双目运算符分为单目运算符和双目运算符使用形式为使用形式为运算符运算符 第第2章章 C+编程基础编程基础 运算符优先级 优先级优先级运算符运算符结合结合高高 低低括号:(括号:()单目:单目:双目:双目:*/%+输出输入:输出输入:赋值
17、:赋值:=内到外内到外,左到右左到右右到左右到左左到右左到右左到右左到右左到右左到右右到左右到左 算术运算符算术运算符 关系运算符关系运算符优先级优先级运算符运算符结合结合高高 低低输出输入:输出输入:=!=左到右左到右左到右左到右左到右左到右运算结果:运算结果:1=真真;0=假假第第2章章 C+编程基础编程基础 常用复合赋值运算符常用复合赋值运算符优先级优先级运算符运算符结合结合高高 低低单目增量:单目增量:+单目减量:单目减量:赋值:赋值:=,+=,-=*=,/=右到左右到左与单目与单目 同级同级.与与=同级同级 2;5 2;6例:例:int i=1,j=5;cout +i ;j+endl
18、;cout i ;j endl;+v为前置增量为前置增量:先进行增量运算先进行增量运算,再取其值参与其再取其值参与其它运算它运算v+为后置增量为后置增量:先取其值参与其先取其值参与其它运算它运算,再对原再对原值进行增量运算值进行增量运算.输出结果输出结果第第2章章 C+编程基础编程基础 2表达式表达式表达式是程序最基本的组成部分表达式是程序最基本的组成部分由由运运算算符符(如如+、-、*、)、运运算算对对象象(也也称称操操作作数数,可以是常量、变量等等可以是常量、变量等等)和和括号括号组成组成执执行行表表达达式式所所规规定定的的运运算算,所所得得到到的的结结果果值值是是表表达达式式的值。的值。
19、第第2章章 C+编程基础编程基础 表达式的类型转换表达式的类型转换当表达式中出现了多种类型数据的混合运算时,首先需要当表达式中出现了多种类型数据的混合运算时,首先需要进行类型转换,再计算表达式的值。进行类型转换,再计算表达式的值。表达式中的类型转换分为两种表达式中的类型转换分为两种隐含转换隐含转换强制转换强制转换第第2章章 C+编程基础编程基础 隐隐含含转转换换:若若参参加加运运算算的的操操作作数数类类型型不不一一致致,则则系系统统自自动动对对数据进行转换数据进行转换具体规则如下:具体规则如下:算术运算和关系运算转换:将低类型数据转换为高类型数据。算术运算和关系运算转换:将低类型数据转换为高类
20、型数据。char short int unsigned long unsigned-long float double 低低 高高逻逻辑辑运运算算符符:要要求求必必须须为为bool型型;系系统统自自动动将将其其转转换换为为bool型。转换方法是:型。转换方法是:非非0数据转换为数据转换为true,0转换为转换为false。位位运运算算:要要求求必必须须是是整整数数;当当是是不不同同类类型型的的整整数数时时,编编译译系系统会自动进行类型转换。统会自动进行类型转换。赋赋值值运运算算:要要求求左左值值(赋赋值值运运算算符符左左边边的的值值)与与右右值值(赋赋值值运运算算符右边的值符右边的值)的类型相
21、同。的类型相同。第第2章章 C+编程基础编程基础 强强制制类类型型转转换换。又又称称为为显显式式转转换换,是是通通过过类类型型标标识识符符和和括号来实现的,其语法形式有两种:括号来实现的,其语法形式有两种:(表达式表达式)或或(类型标识符类型标识符)第第2章章 C+编程基础编程基础 2.2 程序的控制结构程序的控制结构 第第2章章 C+编程基础编程基础 2.2.1 选择结构选择结构C+语言支持下列基本的条件语句:语言支持下列基本的条件语句:if语句语句 if else语语句句 if elseif语语句句?条件条件语语句句 可简化条件表达式的表达形式,语法为:可简化条件表达式的表达形式,语法为:
22、expression1?Expression2:expression3if(expression1)statement1;elsestatement2;第第2章章 C+编程基础编程基础 2.2.2 switch语句语句多次判断选择多次判断选择判断的是同一个表达式的值判断的是同一个表达式的值switch(表达式表达式)case常量表达式常量表达式1:语句:语句1case常量表达式常量表达式2:语句:语句2case常量表达式常量表达式n:语句语句ndefault:语句语句n+1只能是整型、字符只能是整型、字符型和枚举型型和枚举型值不能相同,且次值不能相同,且次序不影响执行结果序不影响执行结果每个每
23、个case分支可以有分支可以有多条语句,但不用多条语句,但不用第第2章章 C+编程基础编程基础 while循循环环(特别适合处理字符串和其他指针类型)(特别适合处理字符串和其他指针类型)do while循循环环for循循环环(通常用于具有固定长度的数据结构)(通常用于具有固定长度的数据结构)do statement;while(expression);for(expression1;expression2;expression3)statement;注意:注意:对于对于while语句或语句或for语句,循环体中的语句只有在语句,循环体中的语句只有在 while或或for语句中的条件为真时,才会
24、被执行;而语句中的条件为真时,才会被执行;而dowhile语语句则总能保证循环体被执行一次。句则总能保证循环体被执行一次。while(expression)statement;2.2.3 循环结构循环结构第第2章章 C+编程基础编程基础 2.2.4 其他控制语句其他控制语句1break语句语句 只用于只用于switch语句或循环体中,作用是使程序从语句或循环体中,作用是使程序从switch语句语句内跳出或内跳出或结束循环结束循环,继续执行逻辑上的下一条语句。,继续执行逻辑上的下一条语句。2continue语句语句仅用于循环体中,作用是仅用于循环体中,作用是结束本次循环结束本次循环,接着开始判断
25、循,接着开始判断循环条件,决定是否继续执行下一次循环。环条件,决定是否继续执行下一次循环。第第2章章 C+编程基础编程基础 2.3 函函 数数 第第2章章 C+编程基础编程基础 2.3.1 函数定义函数定义由两部分组成:函数头与函数体。由两部分组成:函数头与函数体。函数定义的一般语法形式为:函数定义的一般语法形式为:(形式参数表形式参数表)说明性语句序列;说明性语句序列;实现函数功能的语句系列;实现函数功能的语句系列;类型标识符类型标识符:返回值类型。返回值是返回给主调函数的处理返回值类型。返回值是返回给主调函数的处理结果,由函数体部分的结果,由函数体部分的return语句带回。语句带回。形式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 面向对象程序设计课件第02章 编程基础 面向 对象 程序设计 课件 02 编程 基础
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内