C++ 面向对象程序设计课件第02章 编程基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章C++编程基础第2章C++编程基础第2章C++编程基础第2章C++编程基础2.1数据类型与表达式2.2程序的控制结构2.3函数2.4数组2.5指针2.6构造数据类型第2章C++编程基础C语言与面向对象的C++C语言是七十年代初贝尔实验室的DennisRichie等人在B语言基础上开发出来的。C最初是作为UNIX操作系统的开发语言为人们所认识。七十年代末,随着微型计算机的发展,C语言开始移植到非UNIX环境中,并逐步脱离UNIX系统成为一种独立的程序设计语言。C语言版本很多,为了让开发出来的代码能够在多种平台上运行,1988年美国国家标准协会ANSI对C语言进行了标准化,产生了ANSIC。C语言是一个面向过程的编程语言Dr.BjarneStroustrup,美国Bell公司大规模编程研究中心主任,C++语言的设计创建人。第2章C++编程基础C语言与面向对象的C++C++包括C的全部特征、属性和优点。C++支持面向对象程序设计。通过类和对象的概念把数据和对数据的操作封装在一起,通过派生、继承、重载和多态性等特征实现了软件重用和程序自动生成,使得大型复杂软件的构造和维护变得更加有效和容易。C++与C完全兼容。但由于与C兼容,使得C++不是纯正的面向对象的语言,它既支持面向对象程序设计,也支持面向过程设计。C++编译环境有许多版本,国内较为流行的有VisualC++和C++Builder。第2章C++编程基础一个简单的C++程序//表示注释行,#引导一个预处理语句main表示主函数,void表示无返回值cout为输出流,类似C语言的printf;endl是换行函数;\n为换行符;函数体用{}括起来。注意与C的区别。它没有用到类的概念。#includeiostream.h//包含头文件,称为编译预处理行voidmain()//main()函数,程序入口{//程序体开始cout“\nIamastudent.”endl;//输出字符串内容并换行}//程序体结束运行结果:Iamastudent.第2章C++编程基础2.1数据类型与表达式程序设计主要包括数据结构(数据类型)和算法(操作步骤)的设计。运行程序,要先描述算法。而描述算法应先说明算法要用的数据。数据以变量或常量的形式来描述,每个变量或常量都有数据类型。第2章C++编程基础C++语言的字符集C++语言的字符集由下述字符构成:①英文字母:A~Z,a~z②数字字符:0~9③特殊字符:空格、!、#、%、^、&、*、_(下划线)、+、=、:、-、~、、、/、\、?、〝、;、.、()、{}、[]第2章C++编程基础数据类型基本类型字符型char整型int短整型short长整型long单精度型float双精度型double长双精度型longdouble逻辑型bool整型integer实数floating枚举型enum数组型非空数据类型[]指针型非空数据类型*空类型void结构体类型struct共用体类型union类class非基本类型无符号数unsignedC++中的数据类型分为基本类型(C++编译系统内置)和非基本类型(用户自定义类型)。第2章C++编程基础说明:在不同的系统中,每个变量类型所占的字节数可能有所不同,这里列出的是在VC++编译环境中的情况。类型说明长度表示范围备注bool逻辑型1false,truechar字符型1-128~127-27~(27-1)unsignedchar无符号字符型10~2550~(28-1)short短整型2-32768~32767-215~(215-1)unsignedshort无符号短整型20~655350~(216-1)int整型4-2147483648~2147483647-231~(231-1)unsignedint无符号整型40~42949672950~(232-1)long长整型4-2147483648~2147483647-231~(231-1)unsignedlong无符号长整型40~42949672950~(232-1)float浮点型4-3.4×1038~3.4×10387位有效位double双精度8-1.7×10308~1.7×1030815位有效位longdouble长双精度8-1.7×10308~1.7×1030815位有效位第2章C++编程基础2.1.1常量1.整型常量2.实型常量–浮点小数,只使用十进制表示–两种表示形式–一般形式:16.5,-13.5,3.1415926F,0.1f,0.0,2.–指数形式:3e11.0e-3–默认为double型,如果后缀为F(或f)则为float型。20(十进制表示)0x14024十六进制表示八进制表示[±]0若干0~7的数字[±]0x若干0~9的数字及A~F的字母第2章C++编程基础3.字符常量•单引号括起来的一个字符•如‘A’,‘2’(非数字),‘’(空格),‘?’4.字符串常量–简称字符串,用一对双引号括起来的字符序列–例如China5.布尔常量–两个:False(假)true(真)第2章C++编程基础不可显示字符–无法通过键盘输入,如响铃、换行、制表符、回车等–C++预定义的转义序列字符形式ASCII码(十六进制)功能\n0A换行\t09横向跳格(即跳到下一个输出区)\v0B竖向跳格\b08退格\r0D回车\a07响铃\\5C反斜杠字符“\”\'27单引号\22双引号\dddddd(八进制)1~3位八进制数所代表的字符\xhhHh1~2位十六进制数所代表的字符第2章C++编程基础2.1.2变量在程序的执行过程中值可变的量。变量在使用之前需要首先声明其类型和名称。声明形式:类型标识符变量名1,变量名2,…,变量名n;命名规则:由字符、数字和下划线组成,且只能由字符和下划线开头。声明一个变量的同时,也可以给它赋初值。在组成变量名的元素中,大小写字母含义不同。作为保留字的单词不能再作为其他名字使用。第2章C++编程基础C++中常用的保留字数据类型说明符与修饰符boolcharclassconstdoubleenumfloatintlongshortsignedstructunionunsignedvoid存储类型说明符autoexterninlineregisterstatic访问说明符friendprivateprotectedpublic其它说明符explicitnamespaceoperatortemplatethistypedeftypenameusingvirtual语句与标号breakcasecatchcontinuedefaultdoelseforgotoifreturnswitchthrowtrywhile运算符及逻辑值deletefalsenewsizeoftrue第2章C++编程基础2.1.3引用引用是别名建立引用时,程序用另一个变量或对象(目标)的名字初始化它引用作为目标的别名而使用,对引用的改动实际是对目标的改动引用的声明形式为类型标识符&引用名=目标名或类型标识符&引用名=目标名引用型变量的名字,必须遵循变量的命名规则第2章C++编程基础引用例如,引用一个整型变量:intsomeInt;int&rInt=someInt;声明rInt是对整数的引用,初始化为引用someInt。在这里,要求someInt已经声明或定义。引用不是值,不占存储空间,声明引用时,目标的存储状态不会改变。引用在声明时必须初始化第2章C++编程基础#includeiostream.h//输入输出头文件voidmain(){intsomeInt;//定义变量int&rInt=someInt;//引用someInt=6;coutsomeInt:someIntendl;coutrInt:rIntendl;rInt=7;coutsomeInt:someIntendl;coutrInt:rIntendl;}someInt:6rInt:6someInt:7rInt:7例2-1如何建立和使用引用输出结果第2章C++编程基础引用与指针关系的分析voidSwap(int&a,int&b)//引用调用{intt=a;a=b;b=t;}voidSwap(int*a,int*b)//指针调用{intt;t=*a;*a=*b;*b=t;}voidSwap(inta,intb)//传值调用{intt=a;a=b;b=t;}区别:1.引用是某一对象的别名,指针是某一变量的地址变量.2.引用在定义时必须初始化,即为一已定义对象的别名。指针可在使用时初始化,可以重新赋值.引用的作用:1.引用可象地址一样完成对所代表的对象的操作.2.对引用的操作不同于对指针的操作,它可直接作用于变量,所以更方便,更易于理解.引用的缺点:引用不能为空,即必须代表某一对象。指针灵活性较好,但使用较不方便。第2章C++编程基础2.1.4表达式表达式由运算符、运算对象和括号组成。1.运算符C++语言定义了丰富的运算符,如算术运算符、关系运算符、逻辑运算符等分为单目运算符和双目运算符使用形式为操作数1运算符操作数2第2章C++编程基础运算符优先级优先级运算符结合高低括号:()单目:–双目:*/%+-输出输入:赋值:=内到外,左到右右到左左到右左到右左到右右到左算术运算符关系运算符优先级运算符结合高低输出输入:====!=左到右左到右左到右运算结果:1=真;0=假第2章C++编程基础常用复合赋值运算符优先级运算符结合高低单目增量:++单目减量:––赋值:=,+=,-=*=,/=右到左与单目–同级.与=同级2;52;6例:inti=1,j=5;cout++i;j++endl;couti;jendl;++v为前置增量:先进行增量运算,再取其值参与其它运算v++为后置增量:先取其值参与其它运算,再对原值进行增量运算.输出结果第2章C++编程基础2.表达式表达式是程序最基本的组成部分由运算符(如+、-、*、/)、运算对象(也称操作数,可以是常量、变量等等)和括号组成执行表达式所规定的运算,所得到的结果值是表达式的值。第2章C++编程基础表达式的类型转换当表达式中出现了多种类型数据的混合运算时,首先需要进行类型转换,再计算表达式的值。表达式中的类型转换分为两种–隐含转换–强制转换第2章C++编程基础①隐含转换:若参加运算的操作数类型不一致,则系统自动对数据进行转换具体规则如下:算术运算和关系运算转换:将低类型数据转换为高类型数据。charshortintunsignedlongunsigned-longfloatdouble低高逻辑运算符:要求必须为bool型;系统自动将其转换为bool型。转换方法是:非0数据转换为true,0转换为false。位运算:要求必须是整数;当是不同类型的整数时,编译系统会自动进行类型转换。赋值运算:要求左值(赋值运算符左边的值)与右值(赋值运算符右边的值)的类型相同。第2章C++编程基础②强制类型转换。又称为显式转换,是通过类型标识符和括号来实现的,其语法形式有两种:类型标识符(表达式)或(类型标识符)表达式第2章C++编程基础2.2程序的控制结构第2章C++编程基础2.2.1选择结构C++语言支持下列基本的条件语句:•if语句•if···else语句•if···elseif语句•?条件语句可简化条件表达式的表达形式,语法为:expression1?Expression2:expression3if(expression1){statement1;}else{statement2;}第2章C++编程基础2.2.2switch语句多次判断选择判断的是同一个表达式的值switch(表达式){case常量表达式1:语句1case常量表达式2:语句2case常量表达式n:语句n

1 / 72
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功