数据类型及表达式.pptx
《数据类型及表达式.pptx》由会员分享,可在线阅读,更多相关《数据类型及表达式.pptx(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4.1 4.1 数数 据据 结结 构构4.2 C4.2 C语言程序中数据的表示方法语言程序中数据的表示方法4.3 4.3 运算符及其表达式运算符及其表达式4.4 C4.4 C语言中的类型转换语言中的类型转换第1页/共66页4.1 4.1 数数 据据 结结 构构数据结构是程序设计中计算机的操作对象以及操作对象之间关系和操作的描述。一个函数体中包括两大部分内容:其一是数据描述部分,其二是算法实现部分。要完成数据描述部分的内容,就必须寻找问题中的操作对象以及它们之间的关系,然后用计算机语言加以描述。第2页/共66页著名的计算机科学家沃斯(NikilausWirth)提出了公式:数据结构算法程序该公式
2、表明除算法之外,一个程序中的数据结构是编写程序首先要解决的问题。例4.1中的“链表”、“树”和“图”就是数据结构中的重要类型。当然一个好的程序除了应该具备公式中两个主要因素外,还应该选择合适的程序设计语言和程序设计方法。C语言提供的数据结构是以数据类型形式表示的。第3页/共66页C语言提供了丰富的数据类型,主要有以下类型:注:其中()括起来的是对应类型的类型关键字及该类型在内存中所占的字节数。第4页/共66页4.2 C4.2 C语言程序中数据的表示方法语言程序中数据的表示方法数据是组成程序的必要元素,根据数据在程序中值的变化与否,数据在C语言程序中以常量和变量两种形式表示。第5页/共66页常量
3、常量1整型常量整型常量数据类型为整型的常量即为整型常量,又称整常数。在语言中,使用的整型常量有八进制、十六进制和十进制3种。其中八进制、十六进制主要用于表示整型常量在内存中的存储形式,也就是表示某整型常量的机器码;十进制表示外部数据,其值表示的是真值。第6页/共66页(1)八进制整型常量八进制整型常量必须以0开头,即以0作为八进制数的前缀。其数码取值为07。由于八进制数主要用于表示某整型常量的机器码,所以当表示某数机器码时,八进制数前面没有符号;如果有符号,则是对其所代表的真值取反。如 0123,0123代表的真值为83,0123代表的常量则为 83。第7页/共66页(2)十六进制整型常量十六
4、进制整型常量的前缀为0X或0 x。其数码取值为09,AF或af。当十六进制数中出现af或AF时,数符码中出现字母时字母的大小写应和前缀相匹配,即要么全部大写,要么全部小写。十六进制数主要也是用于表示某整型常量的机器码,所以当表示某数机器码时,十六进制数前面没有符号;如果有符号,则是对其所代表的真值取反。如 0 x23,0 x23代表的真值为35,0 x23代表的常量则为 35。第8页/共66页(3)十进制整型常量十进制整型常量没有前缀。整型常量的几点说明如下。常量的类型常量的类型可以根据整型常量描述的数值来确定其类型。当整型常量的值为 32768 32767时,可以看作基本型整型常量。当整型常
5、量的值为065535时,可以看作无符号整型常量。当整型常量的值在大于32767或小于 32768时,可以看作长整型常量。第9页/共66页整型常数的后缀十进制无符号整型常量的范围为065535,有符号数为 32768 32767。八进制数表示的机器码范围为00177777。十六进制数表示的机器码范围为0X00XFFFF。如果希望将整型常量按照长整型常量来运算,可以使用长整型数的后缀“L”或“l”来表示。例如,十进制长整型常量158L358000L第10页/共66页2浮点常量浮点常量 实型也称为浮点型。实型常量也称为实数或者浮点数。实型常量不分单、双精度,都按双精度double型处理,其有效位数为
6、1516位。第11页/共66页(1 1)小数形式小数形式由数码0 0 9 9和小数点组成。当某浮点数整数部分或小数部分为0 0时,0 0可以省略,但小数点不可省略。例如:0.00.0,.25.25,5.7895.789,0.130.13,5.05.0,300.300.,267.8230267.8230,123.123.等均为合法的实数。345345(无小数点),a7.a7.(数码不可以是字母)等均为非法的浮点数。第12页/共66页(2 2)指数形式指数形式由尾数加阶码标志e e或E E以及阶码(只能为整数,可以带符号)组成。其一般形式为a Ea En n(a a为尾数,n n为阶码)其值为 a
7、 a1010n n 例如,2.1102.1105 5可以表示为2.1E52.1E5,3.73.7可以表示为3.7E3.7E 2 2 第13页/共66页3单字符常量单字符常量单字符常量是用单引号括起来的一个字符。单字符常量可以有如下几种表示方法。(1)直接形式直接形式即在单引号内直接书写字符。例如a、b、?(2)八进制形式八进制形式格式为ddd,其中“ddd”表示13位八进制数,其值代表的是某字符的ASCII值。“”是转义字符。八进制形式可以表示所有的字符。例如101(等于A),007(响铃控制字符),343(表示ASCII值为227的字符)。第14页/共66页(3)十六进制形式十六进制形式格式
8、为xhh,其中“hh”表示12位十六进制数,其值代表的是某字符的ASCII值,“”是转义字符,“x”是十六进制前缀。十六进制形式可以表示所有的字符。例如x41(等于A),x07(响铃控制字符),xe3(表示ASCII值为227的字符)。(4)转义字符 转义字符是一种特殊的字符常量。转义字符以反斜线“”开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。第15页/共66页表4-5常用的转义字符转义字符转义字符的意义转义字符转义字符的意义n回车换行r回车t横向跳到下一制表位置f走纸换页v竖向跳格反斜线符b退格单引号符双引号第16页/共66页4字符串常量字符串常
9、量字符串常量是由一对双引号括起的字符序列,可以没有字符,也可以只有一个字符。例如,CHINA,Howareyou!,$12.5,A,nc234等都是合法的字符串常量。字符串program在内存存储的形式如图4.1所示。第17页/共66页该字符串占用8个字节的存储空间,但其有效字符的个数却是7,最后一个字节存储字符串结束标志“0”。图4.1字符串存储形式第18页/共66页字符串的有效字符的个数是第一个“0”前字符的个数的总和,有效字符的个数也称为字符串长度。例如:computer长度为8。n长度为1。abcn3450china 长度为5,而不是16,因为“0”后的字符是无意义的,“n”是一个转义
10、字符,“345”是八进制表示的一个字符。长度为3,因为“”、“”与“”分别为一个字符。第19页/共66页5符号常量符号常量在语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义,其一般形式为:#define标识符常量其功能是把该标识符定义为其后的常量值。第20页/共66页例例4.2#definePI3.14159/*定义符号常量PI*/main()floatarea,r;/*定义area,r为float型变量*/r=5;/*使r的值为5*/area=PI*r*r;/*计算以r为半径的圆面积*/printf(area=%fn,area);/*输出圆面积*/第21页
11、/共66页变量变量1变量的基本知识变量的基本知识在程序的执行过程中值可以发生变化的量称为变量。(1)变量的命名。变量的命名符合标识符的规定。变量名决定了某一变量在内存中的位置,即地址。如变量a a的地址就是&a&a。第22页/共66页(2 2)一个变量占据一定字节的存储空间。在存储空间中存放变量的值。由于变量所表示的数据可以是除voidvoid以外的任意类型的数据,所以变量在内存中所占的存储空间根据数据类型的不同而不同。每一个变量有而且只能有一种类型,变量的类型决定了该变量在内存中所占的字节数。在变量进行相关运算时,变量的类型是编译系统检查运算是否合法的依据。第23页/共66页(3 3)一个变
12、量在使用前必须有一个确定的值。变量定义后,由于变量占据一定的内存空间,所以变量是有值的,但是该值是不确定。如果用该不确定的值参与运算,所得到的值也是不确定的。第24页/共66页2 2变量定义的格式变量定义的格式变量定义的一般形式为:修饰符 类型说明符 变量表列;是可选项 第25页/共66页定义变量时应注意以下几点。(1)变量定义应该位于函数体的数据描述部分。(2)类型符说明变量从属的类型,有:int、float、double和char。(3)修饰符部分可有可无,如int有long、short和unsigned修饰符。(4)“修饰符类型符”部分决定了变量的类型,确定了变量在内存中所占的字节数。(
13、5)变量表列部分是所定义变量的变量名,如果定义多个同一类型变量的话,变量名中间用“,”作为分隔符构成变量表列。(6)变量定义的每一项应有空格作为分隔符。(7)变量定义的结束符是分号。第26页/共66页3变量的初始化变量的初始化 变量在使用前应该有确定的值。在程序中常常需要对变量赋初值,以便使用变量。修饰符 类型说明符 变量1=1=值1 1,变量2=2=值2 2,;例如:int a=5;/*int a=5;/*初始化变量a a为5*/5*/float x=3.2,y=1.2e10;/*float x=3.2,y=1.2e10;/*初始化x x为3.23.2,y y为1.2x1010*/1.2x1
14、010*/char ch=K;/*char ch=K;/*初始化chch为K*/K*/int d=5;/*int d=5;/*初始化d d为5*/5*/int b=d;/*int b=d;/*初始化b b为5 5,在int b=d;int b=d;定义时d d应有确定的值*/第27页/共66页4不同类型变量的说明不同类型变量的说明(1)整型变量整型变量可分为基本型、短整型、长整型和无符号型4类。基本型基本型的类型说明符为int,在内存中占2个字节,其取值的范围为 215215 1,即 3276832767。短整型短整型的类型说明符为shortint或short,所占字节和取值范围均与基本型相同
15、。第28页/共66页长整型长整型的类型说明符为longint或long,在内存中占4个字节,其取值范围是 231231 1,即 21474836482147483647。第29页/共66页无符号型无符号型的类型说明符为unsigned。无符号型又可与上述3种类型匹配而构成。无符号基本型。类型说明符为unsignedint或unsigned,取值范围是065535。无符号短整型。类型说明符为unsignedshort,与无符号基本型一样。无符号长整型。类型说明符为unsignedlongint或unsignedlong,取值范围为0232 1,即04294967295。第30页/共66页整型变量
16、的说明形式为:修饰符int变量表列;(2)浮点变量 浮点变量分为单精度浮点型和双精度浮点型两类。单精度浮点型类型说明符为float,双精度浮点型类型说明符为double。第31页/共66页浮点变量说明的格式为:float变量表列;或double变量表列;例如:floatx,y;/*定义x,y为单精度浮点型*/doublea,b,c;/*定义a,b,c为双精度浮点型*/float x=1234.56789;/*定义x为单精度浮点型,并初始化值为1234.567*/第32页/共66页(3)字符型变量字符型变量的取值是字符型数据。字符型变量的类型说明符是char。字符型变量类型说明的格式:char变
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 表达式
限制150内