基本数据类型与基本运算.ppt
《基本数据类型与基本运算.ppt》由会员分享,可在线阅读,更多相关《基本数据类型与基本运算.ppt(90页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第 2 2章章 基本数据类型与基本运算基本数据类型与基本运算2.1 2.1 基本数据类型及其派生类型基本数据类型及其派生类型2.2 2.2 C+C+基本运算基本运算12.1 2.1 基本数据类型及其派生类型基本数据类型及其派生类型 -2.1.1 2.1.1 四种基本数据类型四种基本数据类型2.1.2 2.1.2 基本类型的派生类型基本类型的派生类型2.1.3 2.1.3 enumenum类型类型2类型概念的几个要点是:类型概念的几个要点是:(1 1)每一项)每一项数据数据应唯一地属于某种应唯一地属于某种类型类型;(2 2)每每一一数数据据类类型型意意味味着着一一个个有有明明确确定定义义的的值
2、的集合值的集合;(3 3)同同一一类类型型的的数数据据占占有有相相同同大大小小的的存存储储空间空间;(4 4)同同一一类类型型的的数数据据具具有有相相同同的的(允允许许对对其施加的)其施加的)运算操作运算操作集。集。32.1.1 2.1.1 四种基本数据类型四种基本数据类型-C+C+预定义了四种最基本的数据类型:预定义了四种最基本的数据类型:整整型型、浮点型浮点型(也称实型)、(也称实型)、字符型字符型、无值型无值型。整型数据说明符为整型数据说明符为intint;浮点型又分为单精度浮点型又分为单精度浮点型浮点型floatfloat及双精度浮点型及双精度浮点型doubledouble;字符型字符
3、型用用charchar;而无值型使用而无值型使用voidvoid。4VC6.0VC6.0中中boolbool也是一种预定义的基本数据类型也是一种预定义的基本数据类型 注注意意,某某些些C+C+编编译译(如如VC6.0VC6.0)认认为为boolbool也也是是一一种种系系统统预预定定义义的的基基本本数数据据类类型型,它它代代表表逻逻辑辑型型,仅仅有有两两个个取取值值(一一个个常常量量值值为为标标识识符符falsefalse,而而另另一一个个为为标标识识符符truetrue)。其其中中的的falsefalse代代表表逻逻辑辑值值0(0(假假),而而truetrue则代表逻辑值则代表逻辑值1(1(
4、真真)。通通过过基基本本数数据据类类型型能能够够导导出出(或或派派生生出出)其其它它的的数数据据类类型型。程程序序中中用用到到的的所所有有变变量量以以及及有有名名常常量量都都必必须须在在使使用用前前先先说说明明其其数数据据类类型型。字字面面常常量量由由系系统统自自动动将将其其归归属属于于某某种种数数据据类类型型(从从其其“字字面面书书写写格格式式”区区分分)。51.1.intint类型类型 表表示示整整型型数数据据。其其值值集集(取取值值范范围围)为为:-32768-32768 3276732767。通通常常占占用用两两个个字字节节的的存存储储空空间间(注注意意,在在VC6VC6下下,int
5、int 等等同同于于long long intint,占占用用四四个个字字节节的的存存储储空空间间)。允允许许对对其其施施加加的的运运算算(操操作作)有有:算算术术运运算算(+、-、*、/、%等等),关关系系运运算算(、=、=、=、!=!=)及及一一些些其其他运算。他运算。6intint类型字面常量的类型字面常量的“字面书写格式字面书写格式”为:为:(1 1)十进制整数十进制整数与与数数学学中中的的表表示示完完全全相相同同。如如:59805980,-123-123,0 0,3276632766。组组成成十十进进制制整整数数的的基基本本字字符符为为:0,0,1,1,.,9(.,9(共共1010个
6、个)。(2 2)八进制整数八进制整数 以以数数字字0 0开开头头的的整整数数为为八八进进制制整整数数。如如:017017,03210321,-0777-0777。组组成成八八进进制制整整数数的的基基本本字字符符为为:0,0,1,1,.,7(.,7(共共8 8个个)。(3 3)十六进制整数十六进制整数 以以两两个个符符号号0 0 x(x(或或0 0X)X)开开头头的的整整数数为为十十六六进进制制整整数数。如如:0 0 x30 x30,-0 xA9f3-0 xA9f3,0X7770X777。组组成成十十六六进进制制整整数数的的基基本本字字符符为为:0,0,1,1,.,.,9,9,A,A,B,B,C
7、,C,D,D,E,E,F F(共共1616个,个,6 6个字母也可以小写个字母也可以小写)。72.2.floatfloat与与doubledouble类型类型表表示示实实型型数数据据。floatfloat值值集集(取取值值范范围围)为为:-3.4-3.4E38E383.4E383.4E38,通通常常占占用用四四个个字字节节的的存存储储空空间间。doubledouble值值集集(取取值值范范围围)为为:-1.71.7E308E3081.71.7E308E308,通通常常占占用用八八个个字字节节的的存存储储空空间间。允允许许对对其其施施加加的的运运算算(操操作作)有有:算算术术运运算算(+,+,-
8、,-,*,*,/等等),关关系系运运算算(,=,=,=,!=,=,!=)及一些其他运算。)及一些其他运算。8实型数据实型数据字面常量的字面常量的“字面书写格式字面书写格式”为:为:(1)(1)一般表示形式(也称定点表示法)一般表示形式(也称定点表示法)与与数数学学中中的的实实数数表表示示法法相相同同。如如:45.645.6,-1279.23-1279.23,0.50.5。(2)(2)指数表示形式(也称科学表示法)指数表示形式(也称科学表示法)由由尾尾数数部部分分,字字母母E E或或e e,后后随随指指数数部部分分构构成。如:成。如:-592-592e12e12,12345.6E-212345.
9、6E-2,0.123456e30.123456e3。其中后两个数都表示实数其中后两个数都表示实数123.456123.456。9 3.3.charchar类型类型 表表示示字字符符数数据据。其其值值集集即即为为ASCIIASCII码码集集(书书P31P31,表表2.12.1),也也即即C+C+使使用用的的全全部部基基本本符符号号。1 1个个字字符符数数据据表表示示1 1个个基基本本符符号号,占占用用一一个个字字节节的的存存储储空空间间。在在内内存存中中,字字符符数数据据以以ASCIIASCII码码存存储储,即即是是说说,系系统统是是以以整整数数来来表表示示字字符符数数据据的的。从从而而那那些些
10、可可施施加加于于整整数数的的运运算算(如如算算术术运运算算及及关关系系运运算算等等)也也可可施施加加于于字字符符型型数据。数据。10charchar类型字面常量的类型字面常量的“字面书写格式字面书写格式”为:为:(1)(1)用单引号括起一个基本符号用单引号括起一个基本符号 如如:A,A,a,a,8,8,+,+,?。单单引引号号为为定定界界符符,不属于字符型常量的一部分。不属于字符型常量的一部分。(2)(2)以反斜杠以反斜杠开头的转义字符开头的转义字符-参看书参看书p36p36 用用于于将将反反斜斜杠杠后后面面的的一一个个特特定定字字符符或或反反斜斜杠杠后后面面的的三三个个数数字字字字符符转转变
11、变成成另另外外的的意意义义。表表示示的的仍仍是是一一个个字字符符。通通常常表表示示那那些些不不可可显显示示的的或或从从键键盘盘无无法法输输入入的的字字符,以及那些被指定为符,以及那些被指定为特殊用途特殊用途的字符。的字符。11 例如:例如:n-n-代表一个字符,表示代表一个字符,表示“换行换行”;t t-代代表表一一个个字字符符,表表示示“制制表表符符”,用用于于实实现横向跳格;现横向跳格;-代表一个字符,表示反斜杠字符本身;代表一个字符,表示反斜杠字符本身;-代表一个字符,表示单引号;代表一个字符,表示单引号;-代表一个字符,表示双引号;代表一个字符,表示双引号;ddd ddd-代代表表一一
12、个个字字符符,该该字字符符的的ASCIIASCII码码值值为为八进制的八进制的ddd(ddd(其中的其中的d d表示表示0 0到到7 7的一个数字字符的一个数字字符);12xhh xhh-代代表表一一个个字字符符,该该字字符符的的ASCIIASCII码码值值为为十十六进制的六进制的hh(hh(其中的其中的h h表示表示0 0到到F F的一个数字字符的一个数字字符)。可可知知,使使用用 ddd ddd 或或 xhh xhh 的的方方式式是是可可以以表表示示任任一一个个字字符符数数据据的的,如如,101101,x41x41,和和 AA均均可可用来表示字符常量用来表示字符常量A A。转转义义字字符符
13、可可以以出出现现在在字字符符串串常常量量中中,但但仍仍代代表表一一个个字字符符。如如,字字符符串串常常量量 tNankai tNankai UniversitynUniversityn中中就就出出现现了了两两个个转转义义字字符符,该该字字符符串串常常量量共共含含有有1919个个字字符符,要占用要占用2020个字节的存储空间。个字节的存储空间。13下面的程序说明下面的程序说明charchar型与型与intint型所具有的密切关系:型所具有的密切关系:#include void main()char c1=A,c2=t,c3=t,c4=!;/t为水平制表符,与为水平制表符,与t表示不同的字符表示不
14、同的字符 coutc1=c1,int(c1)=int(c1),c1+1=c1+1endl;/int(c1)把把char型的型的c1变为变为int型型 coutc2=c2,int(c2)=int(c2)n;coutc3=c3,int(c3)=int(c3),A+a=A+aendl;coutc4=c4,int(c4)=int(c4),c4+0=c4+0n;/注意,注意,A、a、0的的ASCII码依次为码依次为65、97、48 14输出结果:输出结果:c1=A,int(c1)=65,c1+1=66c2=t,int(c2)=116c3=,int(c3)=9,A+a=162c4=!,int(c4)=33
15、,c4+0=81154.4.voidvoid类型类型 voidvoid类类型型称称为为无无值值类类型型,该该类类型型的的值值集集为为一一空空集集。voidvoid类型是一种较抽象的概念。类型是一种较抽象的概念。在在C+C+语语言言中中,没没有有返返回回值值的的函函数数应应被被说说明明为为是是返返回回voidvoid类类型型值值的的函函数数;而而没没有有参参数数的的函函数数,其其形形参参表表也也应应被被说说明明为为是是voidvoid。另另外外,若若某某指指针针类类型型被被说说明明为为“void*”void*”,则该指针可指向任一种数据类型。则该指针可指向任一种数据类型。不可用不可用voidvo
16、id类型来说明变量。类型来说明变量。162.1.2 2.1.2 基本类型的派生类型基本类型的派生类型 -基基本本类类型型(除除voidvoid外外)经经过过简简单单的的字字长长或或范围的变更范围的变更,可形成它们的简单派生类型。,可形成它们的简单派生类型。派派生生类类型型说说明明符符是是通通过过在在intint、floatfloat、double double、charchar前前面面加加上上类类型型修修饰饰符符而而构构成成的的。类类 型型 修修 饰饰 符符 包包 括括:signedsigned(有有 符符 号号)、unsignedunsigned(无无符符号号)、shortshort(短短)
17、和和longlong(长)。长)。17注意注意signedsigned和和unsignedunsigned只只能能修修饰饰charchar和和intint(意意味着浮点型数据总是有符号的)。味着浮点型数据总是有符号的)。较较常常用用的的简简单单派派生生类类型型有有:unsigned unsigned charchar,取取值值范范围围为为 0 0255255;unsigned unsigned intint,取取值值范范围围为为 0 06553565535;long long intint取取值值范范围围为为 -2147483648-2147483648 2147483647214748364
18、7;unsigned unsigned long long int int 取值范围为取值范围为 0 042949672954294967295。18省略掉省略掉intint而进行简写而进行简写 当被修饰的是当被修饰的是intint时,允许省略掉时,允许省略掉intint而进行简写,如,而进行简写,如,“long int”long int”可简可简写为写为“longlong”,“unsigned int”“unsigned int”可简可简写为写为“unsignedunsigned”,“unsigned long“unsigned long int”int”可简写为可简写为“unsigned
19、longunsigned long”等。等。192.1.3 2.1.3 enumenum类型类型 -enumenum类型又称类型又称枚举类型枚举类型,它是一种,它是一种由用户由用户参与定义的类型参与定义的类型。其定义格式如下:。其定义格式如下:enum enum ;其中的其中的 由用户任起,是一个由用户任起,是一个标识符。标识符。由一批由一批 构成,各构成,各 间以逗号分割。而间以逗号分割。而 或者是一或者是一个标识符,或者以个标识符,或者以 =的的格式出现。格式出现。20说明枚举变量说明枚举变量 可以缺省。不缺省时意味着在定义可以缺省。不缺省时意味着在定义枚举类型的同时,又说明了一批枚举变量
20、。缺省时,可枚举类型的同时,又说明了一批枚举变量。缺省时,可通过如下两种方式之一来说明枚举变量:通过如下两种方式之一来说明枚举变量:;或或:enum enum ;其中的其中的 中的每一表项可以是变量名,中的每一表项可以是变量名,也可以同时赋初值。也可以同时赋初值。21例如:例如:enum color RED,YELLOW=3,BLUE c1=YELLOW,c2;enum color RED,YELLOW=3,BLUE c1=YELLOW,c2;/定义了定义了枚举类型名枚举类型名colorcolor;同时又说明了同时又说明了/两个两个枚举变量枚举变量c1c1与与c2c2,且给变量且给变量c1c1
21、赋了初值赋了初值color a,b=BLUE,c,d=RED;color a,b=BLUE,c,d=RED;/说明了说明了4 4个个colorcolor类型类型(枚举类型枚举类型)的的变量变量a,b,c,da,b,c,d,/且给变量且给变量b b与与d d赋了初值赋了初值22关于关于enumenum类型有以下几点说明类型有以下几点说明:(1)(1)一个一个enumenum类型实际上是类型实际上是intint型的一个子集,其每一个型的一个子集,其每一个枚举值枚举值(标识符标识符)都代表着一个都代表着一个intint型常量值型常量值。(2)(2)n n个枚举值个枚举值(标识符标识符)在定义时全没赋
22、常量值时,它们在定义时全没赋常量值时,它们自左至右分别自左至右分别与整数与整数0 0,1 1,.,.,n-1n-1对应对应。(3)(3)若第若第i i个枚举值个枚举值(标识符标识符)在在定义时被赋于了整数定义时被赋于了整数m m,则其未赋常量值的则其未赋常量值的后续枚举值后续枚举值分别与整数分别与整数m+1m+1,m+2 m+2,.对对应,直到下一个赋了值的枚举值或结束。应,直到下一个赋了值的枚举值或结束。(4)(4)使用枚举量的使用枚举量的主要优点主要优点是:既可增加程序的是:既可增加程序的可读性可读性,又可增加程序数据的又可增加程序数据的安全性安全性。增加程序可读性是显然的。由。增加程序可
23、读性是显然的。由于枚举量的赋值范围被限定、且被说明的枚举量要进行类型于枚举量的赋值范围被限定、且被说明的枚举量要进行类型检查,这样无疑会增加程序数据的安全性。检查,这样无疑会增加程序数据的安全性。23 enumenum类型的示意性使用例子:类型的示意性使用例子:#include include void main()void main()enum color RED,YELLOW=3,BLUE c1=YELLOW,c2;enum color RED,YELLOW=3,BLUE c1=YELLOW,c2;color a,b=BLUE,c,d=RED;color a,b=BLUE,c,d=RED;
24、coutRED YELLOW BLUEendl;coutRED YELLOW BLUEendl;coutc1=c1 b=b d=dendl;coutc1=c1 b=b d=d*”*”。28 (1)()-:.(1)()-:.(2)!+-+-&*(2)!+-+-&*sizeof sizeof new delete (new delete (类型名类型名)(3)*/%(3)*/%(4)+-(4)+-(5)(5)(6)=(6)=(7)=!=(7)=!=(8)&(8)&(9)(9)(10)|(10)|(11)&(11)&(12)|(12)|(13)?:(13)?:(14)=*=/=%=+=-=(14)=
25、*=/=%=+=-=&=|=&=|=(15),(15),292.2.2 2.2.2 算术运算算术运算 -其其运算对象的类型运算对象的类型可为可为intint、floatfloat、charchar以及它们的简单派生类型。通过算术运算符,以及它们的简单派生类型。通过算术运算符,可对这些数值类数据进行计算,从而可对这些数值类数据进行计算,从而得到仍然得到仍然是数值类数据是数值类数据的运算结果。的运算结果。算术运算包括:单目的单减算术运算包括:单目的单减(-)(-)、增量、增量(+)(+)和减量和减量(-)(-)运算,以及双目的加运算,以及双目的加(+)(+)、减、减(-)(-)、乘乘(*)(*)、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 数据类型 运算
限制150内