




已阅读5页,还剩439页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章基本数据与表达式,1.1概述,1.2C+的字符集与词汇,1.3C+的基本数据类型与存储形式,1.4数据对象与访问,1.5表达式,1.6数据输入和输出,小结,程序设计语言人指挥计算机工作的工具,是由字、词和语法规则构成的指令系统,程序设计根据特定的问题,使用某种程序设计语言,设计出计算机执行的指令序列主要完成两方面工作:数据描述(2)数据处理,1.1.1程序设计与程序设计语言,1.1概述,问题:输入圆的半径,求圆的周长和面积,数据描述:半径,周长,面积均用实型数表示数据处理:输入半径r;计算周长=2*r;计算面积=*r2;输出半径,周长,面积;,1.1.2一个简单的C+程序,1.1概述,例1-1方法一,用结构化方法编程,求圆的周长和面积,/countthegirthandareaofcircle#includeusingnamespacestd;intmain()doubler,girth,area;constdoublePI=3.1415;coutr;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=arear;girth=2*PI*r;area=PI*r*r;coutradius=rendl;coutgirth=girthendl;coutarea=areaendl;,函数是程序基本运行单位,一般形式为:类型函数名(参数表)语句序列,例1-2用面向对象方法编程,求圆的周长和面积,分析,“圆”是抽象的类类型,建立具体的圆(对象),半径?,圆的周长?面积?,实例化,例1-2用面向对象方法编程,求圆的周长和面积,分析,圆类数据成员半径成员函数置半径值求圆的半径求周长求面积,实例化,例1-2用面向对象方法编程,求圆的周长和面积,#includeusingnamespacestd;classCircledoubleradius;public:voidSet_Radius(doubler)radius=r;doubleGet_Radius()returnradius;doubleGet_Girth()return2*3.14f*radius;doubleGet_Area()return3.14f*radius*radius;intmain()CircleA,B;A.Set_Radius(6.23);coutA.Radius=A.Get_Radius()endl;coutA.Girth=A.Get_Girth()endl;coutA.Area=A.Get_Area()endl;B.Set_Radius(10.5);coutB.radius=B.Get_Radius()endl;coutB.Girth=B.Get_Girth()endl;coutB.Area=B.Get_Area()endl;,例1-2用面向对象方法编程,求圆的周长和面积,#includeusingnamespacestd;classCircledoubleradius;public:voidSet_Radius(doubler)radius=r;doubleGet_Radius()returnradius;doubleGet_Girth()return2*3.14*radius;doubleGet_Area()return3.14*radius*radius;intmain()CircleA,B;A.Set_Radius(6.23);coutA.Radius=A.Get_Radius()endl;coutA.Girth=A.Get_Girth()endl;coutA.Area=A.Get_Area()endl;B.Set_Radius(10.5);coutB.radius=B.Get_Radius()endl;coutB.Girth=B.Get_Girth()endl;coutB.Area=B.Get_Area()endl;,Circle类定义,例1-2用面向对象方法编程,求圆的周长和面积,#includeusingnamespacestd;classCircledoubleradius;public:voidSet_Radius(doubler)radius=r;doubleGet_Radius()returnradius;doubleGet_Girth()return2*3.14*radius;doubleGet_Area()return3.14*radius*radius;intmain()CircleA,B;A.Set_Radius(6.23);coutA.Radius=A.Get_Radius()endl;coutA.Girth=A.Get_Girth()endl;coutA.Area=A.Get_Area()endl;B.Set_Radius(10.5);coutB.radius=B.Get_Radius()endl;coutB.Girth=B.Get_Girth()endl;coutB.Area=B.Get_Area()endl;,数据成员,例1-2用面向对象方法编程,求圆的周长和面积,#includeusingnamespacestd;classCircledoubleradius;public:voidSet_Radius(doubler)radius=r;doubleGet_Radius()returnradius;doubleGet_Girth()return2*3.14*radius;doubleGet_Area()return3.14*radius*radius;intmain()CircleA,B;A.Set_Radius(6.23);coutA.Radius=A.Get_Radius()endl;coutA.Girth=A.Get_Girth()endl;coutA.Area=A.Get_Area()endl;B.Set_Radius(10.5);coutB.radius=B.Get_Radius()endl;coutB.Girth=B.Get_Girth()endl;coutB.Area=B.Get_Area()endl;,成员函数,例1-2用面向对象方法编程,求圆的周长和面积,#includeusingnamespacestd;classCircledoubleradius;public:voidSet_Radius(doubler)radius=r;doubleGet_Radius()returnradius;doubleGet_Girth()return2*3.14*radius;doubleGet_Area()return3.14*radius*radius;intmain()CircleA,B;A.Set_Radius(6.23);coutA.Radius=A.Get_Radius()endl;coutA.Girth=A.Get_Girth()endl;coutA.Area=A.Get_Area()endl;B.Set_Radius(10.5);coutB.radius=B.Get_Radius()endl;coutB.Girth=B.Get_Girth()endl;coutB.Area=B.Get_Area()endl;,建立对象(类类型变量),例1-2用面向对象方法编程,求圆的周长和面积,#includeusingnamespacestd;classCircledoubleradius;public:voidSet_Radius(doubler)radius=r;doubleGet_Radius()returnradius;doubleGet_Girth()return2*3.14*radius;doubleGet_Area()return3.14*radius*radius;intmain()CircleA,B;A.Set_Radius(6.23);coutA.Radius=A.Get_Radius()endl;coutA.Girth=A.Get_Girth()endl;coutA.Area=A.Get_Area()endl;B.Set_Radius(10.5);coutB.radius=B.Get_Radius()endl;coutB.Girth=B.Get_Girth()endl;coutB.Area=B.Get_Area()大于=大于或等于=等于!=不等于3false2+3=3+2true,1整型,bool,逻辑类型只有两个值:truefalse,1整型,enum,枚举类型,用户自定义的数据类型,用标识符表的序号表示的数据。,/例1-4#includeusingnamespacestd;enumcolourred,yellow,blue,white,black;intmain()colourc;c=red;coutred:cendl;c=blue;coutblue:cendl;c=black;coutblack:cendl;,1整型,enum,/例1-4#includeusingnamespacestd;enumcolourred,yellow,blue,white,black;intmain()colourc;c=red;coutred:cendl;c=blue;coutblue:cendl;c=black;coutblack:cendl;,1整型,enum,float4字节单精度浮点型double8字节双精度浮点型longdouble8字节长双精度浮点型,2浮点型,常用示数方式,+|-Digits.DigitsF|f|L|l,2浮点型,+|-Digits.DigitsF|f|L|l,常用示数方式,2浮点型,+|-Digits.DigitsF|f|L|l,只允许省略其中一个数字串,常用示数方式,2浮点型,+|-Digits.DigitsF|f|L|l,可选的类型说明符,常用示数方式,2浮点型,+|-Digits.DigitsF|f|L|l,例如:-2.343.141629.00.230.23,常用示数方式,2浮点型,科学示数方式,+|-Digits.DigitsExponentF|f|L|l,2浮点型,+|-Digits.DigitsExponentF|f|L|l,科学示数方式,2浮点型,+|-Digits.DigitsExponentF|f|L|l,有指数部分时不能省略尾数部分,科学示数方式,2浮点型,+|-Digits.DigitsExponentF|f|L|l,可选择的指数部分,科学示数方式,2浮点型,+|-Digits.DigitsExponentF|f|L|l,指数部分的表示形式,(e|E)+|-Digits,科学示数方式,2浮点型,+|-Digits.DigitsExponentF|f|L|l,(e|E)+|-Digits,以字母e或E开始,指数部分的表示形式,科学示数方式,2浮点型,+|-Digits.DigitsExponentF|f|L|l,(e|E)+|-Digits,可选符号,指数部分的表示形式,科学示数方式,2浮点型,+|-Digits.DigitsExponentF|f|L|l,(e|E)+|-Digits,整数数字串,指数部分的表示形式,科学示数方式,2浮点型,+|-Digits.DigitsExponentF|f|L|l,(e|E)+|-Digits,例如:1.23E100.23E-445.e+23-23.68E121.23E10F0.23E-4f45.e+23L-23.68E12L,指数部分的表示形式,科学示数方式,2浮点型,+|-Digits.DigitsExponentF|f|L|l,(e|E)+|-Digits,例如:1.23E100.23E-445.e+23-23.68E121.23E10F0.23E-4f45.e+23L-23.68E12L,指数部分的表示形式,科学示数方式,2浮点型,1.231010,+|-Digits.DigitsExponentF|f|L|l,(e|E)+|-Digits,例如:1.23E100.23E-445.e+23-23.68E121.23E10F0.23E-4f45.e+23L-23.68E12L,指数部分的表示形式,科学示数方式,2浮点型,0.2310-4,+|-Digits.DigitsExponentF|f|L|l,(e|E)+|-Digits,例如:1.23E100.23E-445.e+23-23.68E121.23E10F0.23E-4f45.e+23L-23.68E12L,指数部分的表示形式,科学示数方式,2浮点型,0.2310-4(单精度),+|-Digits.DigitsExponentF|f|L|l,(e|E)+|-Digits,例如:1.23E100.23E-445.e+23-23.68E121.23E10F0.23E-4f45.e+23L-23.68E12L,指数部分的表示形式,科学示数方式,2浮点型,45.01023(双精度),char字符一般用ASCII编码C+的字符型与整型数据密切相关,以ASCII值参与运算,3字符型,表示方式,character,字符,八进制或十六进制值的转义符,char字符一般用ASCII编码C+的字符型与整型数据密切相关,以ASCII值参与运算,3字符型,表示方式,character,字符,或八进制、十六进制值的转义符,字符,八进制或十六进制值的转义符,char字符一般用ASCII编码C+的字符型与整型数据密切相关,以ASCII值参与运算,3字符型,表示方式,character,例如:A4,字符,八进制或十六进制值的转义符,char字符一般用ASCII编码C+的字符型与整型数据密切相关,以ASCII值参与运算,3字符型,表示方式,character,例如:A4,空格符,字符,八进制或十六进制值的转义符,char字符一般用ASCII编码C+的字符型与整型数据密切相关,以ASCII值参与运算,3字符型,表示方式,例如:A4,空字符,character,字符,八进制或十六进制值的转义符,char字符一般用ASCII编码C+的字符型与整型数据密切相关,以ASCII值参与运算,例如:a2B+12+1,3字符型,表示方式,character,字符,八进制或十六进制值的转义符,char字符一般用ASCII编码C+的字符型与整型数据密切相关,以ASCII值参与运算,例如:a2B+12+1,3字符型,表示方式,结果为1(逻辑真),character,字符,八进制或十六进制值的转义符,char字符一般用ASCII编码C+的字符型与整型数据密切相关,以ASCII值参与运算,例如:a2B+12+1,3字符型,表示方式,结果为0(逻辑假),character,字符,八进制或十六进制值的转义符,char字符一般用ASCII编码C+的字符型与整型数据密切相关,以ASCII值参与运算,例如:a2B+12+1,3字符型,表示方式,结果为,character,字符,八进制或十六进制值的转义符,char字符一般用ASCII编码C+的字符型与整型数据密切相关,以ASCII值参与运算,例如:a2B+12+1,3字符型,表示方式,结果为,character,字符,八进制或十六进制值的转义符,char字符一般用ASCII编码C+的字符型与整型数据密切相关,以ASCII值参与运算,3字符型,表示方式,转义字符escape_character以“”为前缀,表示改变后面escape_character符号或整数值的意义,使其成为控制符或字符值。,character,字符,八进制或十六进制值的转义符,3字符型,C+常用转义字符,3字符型,#includeusingnamespacestd;intmain()coutoperatingtsystemn;cout101tAbbB012;,例1-5转义字符示例,3字符型,例1-5转义字符示例,横向跳一制表符,#includeusingnamespacestd;intmain()coutoperatingtsystemn;cout101tAbbB012;,3字符型,例1-5转义字符示例,#includeusingnamespacestd;intmain()coutoperatingtsystemn;cout101tAbbB012;,3字符型,例1-5转义字符示例,字符A的ASCII码,与A等价,#includeusingnamespacestd;intmain()coutoperatingtsystemn;cout101tAbbB012;,3字符型,例1-5转义字符示例,退两格,#includeusingnamespacestd;intmain()coutoperatingtsystemn;cout101tAbbB012;,3字符型,例1-5转义字符示例,#includeusingnamespacestd;intmain()coutoperatingtsystemn;cout101tAbbB012;,1.4数据对象与访问,程序中使用内存单元存放数据。程序可以对存储单元以标识符命名。对内存的读、写操作称为访问。既能读又能写的内存对象,称为变量;若一旦初始化后不能修改的对象则称为常量。,1.4.1变量定义,变量是存储单元变量定义:申请指定类型的存储空间,并以指定标识符命名,变量定义形式:类型标识符,标识符,标识符;,1.4.1变量定义,已定义类型,变量是存储单元变量定义:申请指定类型的存储空间,并以指定标识符命名,变量定义形式:类型标识符,标识符,标识符;,1.4.1变量定义,标识符表,变量是存储单元变量定义:申请指定类型的存储空间,并以指定标识符命名,变量定义形式:类型标识符,标识符,标识符;,1.4.1变量定义,变量是存储单元变量定义:申请指定类型的存储空间,并以指定标识符命名,变量定义形式:类型标识符,标识符,标识符;,例如:intx;intwordCut,Radius,Height;doubleFlightTime,Mileage,Speed;,1.4.1变量定义,变量是存储单元变量定义:申请指定类型的存储空间,并以指定标识符命名,变量定义形式:类型标识符,标识符,标识符;,变量定义同时可以赋初始值,类型标识符=常量,标识符=常量,标识符=常量;,1.4.1变量定义,变量是存储单元变量定义:申请指定类型的存储空间,并以指定标识符命名,变量定义形式:类型标识符,标识符,标识符;,变量定义同时可以赋初始值,直接常量或标识常量,类型标识符=常量,标识符=常量,标识符=常量;,1.4.1变量定义,变量是存储单元变量定义:申请指定类型的存储空间,并以指定标识符命名,变量定义形式:类型标识符,标识符,标识符;,变量定义同时可以赋初始值,类型标识符=常量,标识符=常量,标识符=常量;,例如:intsum=0;doubleTaxRate=0.06;charc=A;,1.4.2访问变量,内存单元由操作系统按字节编号,称为地址一个对象占有内存的第一个字节的地址称为对象的地址可以通过对象名或地址访问对象数据对象有两种访问形式读和写操作,1.4.2访问变量,inta0X0066FDF4,doubleb0X0066FDEC,例如,有说明:inta;doubleb;,内存分配,1.4.2访问变量,inta0X0066FDF4,doubleb0X0066FDEC,内存分配,变量a的地址,例如,有说明:inta;doubleb;,1.4.2访问变量,inta0X0066FDF4,doubleb0X0066FDEC,内存分配,例如,有说明:inta;doubleb;,例如,有说明:inta;doubleb;,1.4.2访问变量,inta0X0066FDF4,doubleb0X0066FDEC,内存分配,变量b的地址,例如,有说明:inta;doubleb;,1.4.2访问变量,inta0X0066FDF4,doubleb0X0066FDEC,内存分配,1.名访问,对于数据单元,名访问就是操作对象的内容访问形式分为“读”和“写”,例如:inta,b;a=10;b=20;a=a+b;,1.名访问,对于数据单元,名访问就是操作对象的内容访问形式分为“读”和“写”,例如:inta,b;a=10;b=20;a=a+b;,建立内存对象,1.名访问,对于数据单元,名访问就是操作对象的内容访问形式分为“读”和“写”,例如:inta,b;a=10;b=20;a=a+b;,写操作,10,1.名访问,对于数据单元,名访问就是操作对象的内容访问形式分为“读”和“写”,例如:inta,b;a=10;b=20;a=a+b;,写操作,10,20,1.名访问,对于数据单元,名访问就是操作对象的内容访问形式分为“读”和“写”,例如:inta,b;a=10;b=20;a=a+b;,读操作,10,20,+,1.名访问,对于数据单元,名访问就是操作对象的内容访问形式分为“读”和“写”,例如:inta,b;a=10;b=20;a=a+b;,写操作,10,20,+,30,2.地址访问,程序被编译后,系统对已声明对象保存一张名表,登记对象的属性C+允许通过名或地址(并根据类型)访问对象,例如,有说明:doubleb;,名字b所标识的浮点型对象,2.地址访问,程序被编译后,系统对已声明对象保存一张名表,登记对象的属性C+允许通过名或地址(并根据类型)访问对象,例如,有说明:doubleb;,地址0X0066FDEC所指的浮点型对象,2.地址访问,程序被编译后,系统对已声明对象保存一张名表,登记对象的属性C+允许通过名或地址(并根据类型)访问对象,例如,有说明:doubleb;,inta;,名字a所标识的整型对象,2.地址访问,例如,有说明:doubleb;,inta;,地址0X0066FDF4所指的整型对象,程序被编译后,系统对已声明对象保存一张名表,登记对象的属性C+允许通过名或地址(并根据类型)访问对象,2.地址访问,程序被编译后,系统对已声明对象保存一张名表,登记对象的属性C+允许通过名或地址(并根据类型)访问对象,例如,有说明:doubleb;,取对象b的地址:intmain()inta=451;constintMAX=1000;coutaendl;cout(,2.地址访问,例1-6测试对变量、常量的不同访问形式,#includeusingnamespacestd;intmain()inta=451;constintMAX=1000;coutaendl;cout(,输出变量的值,2.地址访问,例1-6测试对变量、常量的不同访问形式,#includeusingnamespacestd;intmain()inta=451;constintMAX=1000;coutaendl;cout(,输出变量的地址,2.地址访问,例1-6测试对变量、常量的不同访问形式,#includeusingnamespacestd;intmain()inta=451;constintMAX=1000;coutaendl;cout(,输出变量的值,2.地址访问,例1-6测试对变量、常量的不同访问形式,#includeusingnamespacestd;intmain()inta=451;constintMAX=1000;coutaendl;cout(,输出常量的地址,2.地址访问,例1-6测试对变量、常量的不同访问形式,#includeusingnamespacestd;intmain()inta=451;constintMAX=1000;coutaendl;cout(,输出常量的值,2.地址访问,例1-6测试对变量、常量的不同访问形式,#includeusingnamespacestd;intmain()inta=451;constintMAX=1000;coutaendl;cout(,输出常量的值,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,例如:inta,b;int*p1,*p2;p1=,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,例如:inta,b;int*p1,*p2;p1=,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,例如:inta,b;int*p1,*p2;p1=,int*p20X0066FDE4,int*p10X0066FDE0,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,例如:inta,b;int*p1,*p2;p1=,int*p20X0066FDE4,int*p10X0066FDE0,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,例如:inta,b;int*p1,*p2;p1=,int*p20X0066FDE4,int*p10X0066FDE0,0X0066FDF4,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,例如:inta,b;int*p1,*p2;p1=,int*p20X0066FDE4,int*p10X0066FDE0,0X0066FDF4,*p1,*p1指针p1所指的对象,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,例如:inta,b;int*p1,*p2;p1=,int*p20X0066FDE4,int*p10X0066FDE0,0X0066FDF4,0X0066FDF0,*p1,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,例如:inta,b;int*p1,*p2;p1=,int*p20X0066FDE4,int*p10X0066FDE0,0X0066FDF4,*p1,*p2,*p2指针p2所指的对象,0X0066FDF0,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,例如:inta,b;int*p1,*p2;p1=,int*p20X0066FDE4,int*p10X0066FDE0,0X0066FDF4,0X0066FDF0,10,*p1,*p2,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,例如:inta,b;int*p1,*p2;p1=,int*p20X0066FDE4,int*p10X0066FDE0,0X0066FDF4,0X0066FDF0,10,*p1,*p2,20,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,例如:inta,b;int*p1,*p2;p1=,int*p20X0066FDE4,int*p10X0066FDE0,0X0066FDF4,0X0066FDF0,10,*p1,*p2,20,+,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,例如:inta,b;int*p1,*p2;p1=,int*p20X0066FDE4,int*p10X0066FDE0,0X0066FDF4,0X0066FDF0,30,*p1,*p2,20,+,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,例如:inta,b;int*p1,*p2;p1=,int*p20X0066FDE4,int*p10X0066FDE0,0X0066FDF4,0X0066FDF0,30,*p1,*p2,20,间址访问读出变量p1的地址值查找该地址的存储单元用关联类型解释并读出数据,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,例如:inta,b;int*p1,*p2;p1=,int*p20X0066FDE4,int*p10X0066FDE0,0X0066FDF4,0X0066FDF0,30,*p1,*p2,20,间址访问读出变量p2的地址值查找该地址的存储单元用关联类型解释并读出数据,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,例如:inta,b;int*p1,*p2;p1=,int*p20X0066FDE4,int*p10X0066FDE0,0X0066FDF4,0X0066FDF0,30,*p1,*p2,20,间址运算(指针运算),3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,例如:inta,b;int*p1,*p2;p1=,int*p20X0066FDE4,int*p10X0066FDE0,0X0066FDF4,0X0066FDF0,30,*p1,*p2,20,指针类型说明,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,inta0X0066FDF4,intb0X0066FDF0,int*p20X0066FDE4,int*p10X0066FDE0,0X0066FDF4,0X0066FDF0,30,*p1,*p2,20,定义形式:类型*标识符;,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,指针变量名,定义形式:类型*标识符;,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,指针类型说明符,定义形式:类型*标识符;,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,指针所指对象的类型(指针的关联),定义形式:类型*标识符;,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,例如int*iptr;/iptr是指向整型对象的指针,可以存放一个整型变量的地址char*s;/s是指向字符对象的指针double*dPtr;/dPtr是指向浮点对象的指针,定义形式:类型*标识符;,3.指针变量与间址访问,指针类型变量能够存放对象地址的变量,简称“指针变量”,指针赋值,/空指针:int*iPtr=0;char*s=NULL;double*dPtr=NULL;,3.指针变量与间址访问,指针赋值,inti=1;int*iPtr1,*iPtr2;char*cPtr;iPtr1=/非法,iPtr1不是int对象,3.指针变量与间址访问,floatc=4.5,d=8.6;chare=x,f=y;,int*pa=,3.指针变量与间址访问,/例1-7间址访问对象#includeusingnamespacestd;intmain()inti,*p;p=,/例1-7间址访问对象#includeusingnamespacestd;intmain()inti,*p;p=,/通过指针变量间指访问对象,/例1-7间址访问对象#includeusingnamespacestd;intmain()inti,*p;p=,用名访问对象,/例1-7间址访问对象#includeusingnamespacestd;intmain()inti,*p;p=,通过指针变量间址访问对象,/例1-7间址访问对象#includeusingnamespacestd;intmain()inti,*p;p=,指针变量的值对象i的地址,/例1-7间址访问对象#includeusingnamespacestd;intmain()inti,*p;p=,取对象i的直接地址值,/例1-8交换指针值#includeusingnamespacestd;intmain()inti1=10,i2=20,*p1,*p2,*p;p1=,inti1=10,i2=20,*p1,*p2,*p;,/例1-8交换指针值#includeusingnamespacestd;intmain()inti1=10,i2=20,*p1,*p2,*p;p1=,p1=,/例1-8交换指针值#includeusingnamespacestd;intmain()inti1=10,i2=20,*p1,*p2,*p;p1=,cout*p1=*p1t*p2=*p2endl;,Output,*p1=10*p2=20,/例1-8交换指针值#includeusingnamespacestd;intmain()inti1=10,i2=20,*p1,*p2,*p;p1=,p=p1;,*p,Output,*p1=10*p2=20,/例1-8交换指针值#includeusingnamespacestd;intmain()inti1=10,i2=20,*p1,*p2,*p;p1=,p1=p2;,*p2,*p,Output,*p1=10*p2=20,/例1-8交换指针值#includeusingnamespacestd;intmain()inti1=10,i2=20,*p1,*p2,*p;p1=,p1=p2;,*p1,*p,*p2,Output,*p1=10*p2=20,/例1-8交换指针值#includeusingnamespacestd;intmain()inti1=10,i2=20,*p1,*p2,*p;p1=,p2=p;,*p1,*p,*p2,Output,*p1=10*p2=20,/例1-8交换指针值#includeusingnamespacestd;intmain()inti1=10,i2=20,*p1,*p2,*p;p1=,p2=p;,*p1,*p,Output,*p1=10*p2=20,/例1-8交换指针值#includeusingnamespacestd;intmain()inti1=10,i2=20,*p1,*p2,*p;p1=,p2=p;,*p1,*p,*p2,Output,*p1=10*p2=20,/例1-8交换指针值#includeusingnamespacestd;intmain()inti1=10,i2=20,*p1,*p2,*p;p1=,*p1,*p,*p2,cout*p1=*p1t*p2=*p2endl;,*p1=20*p2=10,Output,*p1=10*p2=20,/例1-9交换指针所指对象的值#includeusingnamespacestd;intmain()inti1=10,i2=20,i,*p1,*p2;p1=,inti1=10,i2=20,i,*p1,*p2;,/例1-9交换指针所指对象的值#includeusingnamespacestd;intmain()inti1=10,i2=20,i,*p1,*p2;p1=,p1=,/例1-9交换指针所指对象的值#includeusingnamespacestd;intmain()inti1=10,i2=20,i,*p1,*p2;p1=,cout*p1=*p1t*p2=*p2endl;,Output,*p1=10*p2=20,/例1-9交换指针所指对象的值#includeusingnamespacestd;intmain()inti1=10,i2=20,i,*p1,*p2;p1=,i=*p1;,10,Output,*p1=10*p2=20,/例1-9交换指针所指对象的值#includeusingnamespacestd;intmain()inti1=10,i2=20,i,*p1,*p2;p1=,*p1=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省宁乡市华宝村适老化环境示范区设计研究
- 大海的魅力读后感与描写相结合(8篇)
- 《第五个孩子》中的医学与伦理研究
- 初中数学《勾股定理及其应用》讲解课
- 教妈妈识桑叶350字(7篇)
- 基于介电极化的输电线路状态监测传感器研制及试验研究
- 基于星型分片架构的区块链系统通量优化研究
- 2024年南通市第三人民医院招聘考试真题
- 2024年天津市宁河区中医医院招聘笔试真题
- 唠叨老妈450字(8篇)
- 2024中国成人健康管理洞察之益生菌部分-益普索-202405
- 鲁科版高中化学选择性必修第三册知识点复习资料
- DB32 4418-2022《 居住建筑标准化外窗系统应用技术规程》
- 宝宝喂养记录表
- 水轮机智慧树知到期末考试答案2024年
- 燃烧脂肪-流行健身舞蹈智慧树知到期末考试答案2024年
- 2024年山东省济南市市中区中考二模地理试卷
- 2024-2029年中国外卖包装行业市场现状分析及竞争格局与投资发展研究报告
- (高清版)DZT 0270-2014 地下水监测井建设规范
- 2024中国中车总部招聘笔试参考题库附带答案详解
- 电网防高坠安全教育
评论
0/150
提交评论