数据描述PPT学习教案.pptx

上传人:一*** 文档编号:71960508 上传时间:2023-02-07 格式:PPTX 页数:39 大小:376.69KB
返回 下载 相关 举报
数据描述PPT学习教案.pptx_第1页
第1页 / 共39页
数据描述PPT学习教案.pptx_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《数据描述PPT学习教案.pptx》由会员分享,可在线阅读,更多相关《数据描述PPT学习教案.pptx(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据数据(shj)描述描述第一页,共39页。预备知识计算机中数的表示(biosh)及进制转换数码、基与权数码:表示(biosh)数的符号基:数码的个数权:每一位所具有的值数制语言程序设计 第二章数据描述C第1页/共39页第二页,共39页。数制基权表示数码特点10,10,10,十进制数0910逢十进一二进制数0122,2,2,逢二进一八进制数0788,8,8,逢八进一十六进制数09,AF,af1616,16,16,逢十六进一十进制:4956=410+910+510+610二进制:1011=12+02+12+12十六进制(sh li jn zh):81AE=816+116+1016+1416八进制

2、:4275=48+28+78+58语言程序设计 第二章数据描述C第2页/共39页第三页,共39页。各种各种(zhn)(zhn)进制之间的转换进制之间的转换 二进制、八进制、十六进制转换成十二进制、八进制、十六进制转换成十进制进制 方法:按权展开方法:按权展开语言程序设计 第二章数据描述Cl十进制转换成二进制、八进制、十六进制(sh li jn zh)u方法:连续(linx)除以基,从低到高记录余数,直至商为0l二进制、八进制、十六进制的转换u方法:二变八 合三位为一位 二变十六 合四位为一位第3页/共39页第四页,共39页。整型常量(chngling)实型常量(chngling)字符常量(ch

3、ngling)字符串常量(chngling)常量定义:程序运行时其值不能改变(gibin)的量(即常数)3.14语言程序设计 第二章数据描述C第4页/共39页第五页,共39页。&整型常量(整常数)&三种形式:&十进制整数:由数字09和正负号表示(biosh).如 123,-456,0&八进制整数:由数字0开头,后跟数字07表示(biosh).如0123,011&十六进制整数:由0 x开头,后跟09,af,AF表示(biosh).如0 x123,0Xff问题:0123 =()100 x123=()100Xff =()1083291255问题(wnt):0123 =()100 x123=()100

4、Xff =()10语言程序设计 第二章数据描述C第5页/共39页第六页,共39页。&实型常量(实数或浮点数)&表示形式:&十进制数形式:(必须有小数点)如0.123,.123,123.0,0.0,123.&指数形式:(e或E之前(zhqin)必须有数字;指数必须为整数)如12.3e3,123E2,1.23e4,e-5 ,1.2E-3.5 语言程序设计 第二章数据描述C规范化的指数(zhsh)形式l规范化的指数形式:在字母e(或E)之前(zhqin)的尾数部分中,小数点左边应有一位(且只能有一位)非零的数字第6页/共39页第七页,共39页。&字符常量&定义:用单引号括起来(q li)的单个普通字

5、符或转义字符.v字符(z f)常量的值:该字符(z f)的ASCII码值b _above$123M.D.John3days#33char$123ab语言程序设计 第二章数据描述C第10页/共39页第十一页,共39页。l l变量l l概念(ginin):在程序运行过程中,其值可以改变的量l l变量名与变量值l l变量定义的一般格式:l l 数据类型 变量1,变量2,变量n;v变量(binling)初始化:定义时赋初值 例:int a,b,c;float data;a=1;data=1.23;决定分配字节数和数的表示(biosh)范围合法标识符例:int a=2,b,c=4;float data=

6、3.67;char ch=A;int x=1,y=1,z=1;int x=y=z=1;v变量的使用:先定义,后使用例1 int student;stadent=19;/Undefined symbol statent in function main 例2 float a,b,c;c=a%b;/Illegal use of floating point in function main v变量定义位置:一般放在函数开头main()int a,b=2;float data;a=1;data=(a+b)*1.2;printf(“data=%fn”,data);变量定义可执行语句main()int

7、a,b=2;a=1;float data;data=(a+b)*1.2;printf(“data=%fn”,data);语言程序设计 第二章数据描述C第11页/共39页第十二页,共39页。&整型变量&占字节数随机器不同而不同,一般(ybn)占一个机器字&shortintlong&有符号,无符号整型&实型变量&float:占4字节(z ji),提供78位有效数字&double:占8字节(z ji),提供1516位有效数字&字符(z f)型变量&字符(z f)变量存放字符(z f)ASCII码&char与int数据间可进行算术运算例 float a;a=111111.111;/*a=111111.

8、1*/double b;b=111111.111;/*b=111111.111*/例 a=D;/*a=68;*/x=A+5;/*x=65+5;*/s=!+G /*s=33+71;*/没有字符串变量,用字符数组存放语言程序设计 第二章数据描述C第12页/共39页第十三页,共39页。地址52字节2字节2字节地址地址内存0000000000000101.(一)正整数:整数5在内存中存放(cnfng)的形式为:0000000000000101 (最高位为符号位,为0表示数值为正)。语言程序设计 第二章数据描述C.地址-52字节2字节2字节地址地址1111101111111111(二)负整数(zhngs

9、h):负整数(zhngsh)在内存中存放的形式为:1111111111111011 (最高位为符号位,为1表示数值为负)。第14页/共39页第十五页,共39页。(一)实型数据在内存中的存放形式(一)实型数据在内存中的存放形式 :在常用的微机系统中,一个在常用的微机系统中,一个(y)(y)实型数据在实型数据在内存中占内存中占4 4个字节个字节(32(32位位)。实型数据按照指数形式存储。实型数据按照指数形式存储的。系统把一个的。系统把一个(y)(y)实型数据分成尾数部分和指数部实型数据分成尾数部分和指数部分,分别存放。尾数部分占的位分,分别存放。尾数部分占的位(bit)(bit)数愈多,数的有效

10、数愈多,数的有效数字愈多,精度愈高。指数部分占的位数愈多,则能数字愈多,精度愈高。指数部分占的位数愈多,则能表示的数值范围愈大。表示的数值范围愈大。(二)实型数据的舍入误差:由于实型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的,在有效位以外的数字将被舍去。由此可能会产生(chnshng)一些误差。main()float a,b;a=123456.789e5;b=a+20;printf(%f,b);第15页/共39页第十六页,共39页。在内存中,字符数据的存储(cn ch)形式与整数的存储(cn ch)形式类似。使得字符数据与整型数据可以互相赋值。main()main()char

11、 c1,c2;char c1,c2;int i,j;int i,j;c1=97;c2=98;/*c1=97;c2=98;/*字符字符(z f)(z f)变量接受整型数据变量接受整型数据*/*/i=A;j=B;/*i=A;j=B;/*整型变量接受字符整型变量接受字符(z f)(z f)数据数据*/*/printf(“%c%cn”,c1,c2)printf(“%c%cn”,c1,c2);printf(“%d%dn”,c1,c2);printf(“%d%dn”,c1,c2);printf(%c%cn,i,j);printf(%c%cn,i,j);printf(%d%dn,i,j);printf(%d

12、%dn,i,j);程程序序的的运运行行(ynxng)(ynxng)结果是:结果是:a b a b 97 98 97 98 A B A B 65 66 65 66 第16页/共39页第十七页,共39页。基本(jbn)数据类型类型符号关键字数的表示范围所占位数整型字符(z f)型实型有无(signed)int16-21474836482147483647(signed)short16-3276832767(signed)long32-2147483648214748364716unsigned int042949672953204294967295unsigned longunsigned sho

13、rt16065535有float32-3.4e383.4e38有double64-1.7e3081.7e308有char8-128127无unsigned char80255说明(shumng):数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例:语言程序设计 第二章数据描述C第17页/共39页第十八页,共39页。main()/*main()/*不不同同种种类类的的数数据据(shj)(shj)进进行算术运算行算术运算*/*/short int i;short int i;long int j,m;long int j,m;i=32767;j=32768;i=32767;j=327

14、68;m=i*j;m=i*j;printf(m=%ldn,m);printf(m=%ldn,m);/*%ld /*%ld为长整型变量输出格式为长整型变量输出格式*/*/程序程序(chngx)(chngx)的运行结果是:的运行结果是:m=1073709056 m=1073709056 main()/*main()/*整型数据整型数据(shj)(shj)的溢出的溢出*/*/short int i,j;short int i,j;i=32767;i=32767;j=i+1;j=i+1;printf(i=%d,j=%dn,i,j);printf(i=%d,j=%dn,i,j);程序的运行结果是:程序的

15、运行结果是:i=32767,j=32768 32767+1将超出将超出int的表示范的表示范围围第18页/共39页第十九页,共39页。语言程序设计 第二章数据描述Cmain()int r;float l,s;r=10;l=2*3.14*r;s=3.14*r*r;printf(“l=%f,s=%f”,l,f);#define PI 3.14main()int r;float l,s;r=10;l=2*PI*r;s=PI*r*r;printf(“l=%f,s=%f”,l,f);&符号常量(chngling)&#define 符号常量(chngling)名 数或字符使用符号常量(chngling)的

16、好处是:含义清楚。在需要改变一个常量(chngling)时能做到“一改全改”。第19页/共39页第二十页,共39页。不同类型数据间的转换隐式转换什么情况下发生运算转换-不同类型数据混合运算时赋值转换-把一个值赋给与其(yq)类型不同的变量时输出转换-输出时转换成指定的输出格式函数调用转换-实参与形参类型不一致时转换运算转换规则:不同类型数据运算时先自动转换成同一类型语言程序设计 第二章数据描述C第20页/共39页第二十一页,共39页。doublefloatlongunsignedintchar,short低高说明:必定的转换运算对象类型不同时转换例 char ch;int i;float f;

17、double d;ch/i +f*d -(f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+a +i*f -d/l例 int i;float f;double d;long l;第21页/共39页第二十二页,共39页。l l显式转换(强制转换)l l一般形式:(类型名)(表达式)l l例 (int)(x+y)l l (int)x+yl l (double)(3/2)l l (int)3.6 l l说明:强制转换得到(d do)所需类型的中间变量,原变量类型不变 例

18、 main()float x;int i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);结果(ji gu):x=3.600000,i=3精度损失(snsh)问题较高类型向较低类型转换时可能发生语言程序设计 第二章数据描述C第22页/共39页第二十三页,共39页。运算符和表达式C运算符算术运算符:(+-*/%+-)关系运算符:(=!=)逻辑运算符:(!&|)位运算符 :(|&)赋值运算符:(=及其扩展)条件运算符:(?:)逗号运算符:(,)指针运算符:(*&)求字节数 :(sizeof)强制类型转换:(类型)分量运算符:(.-)下标运算符:()其它 :(()-)语

19、言程序设计 第二章数据描述C第23页/共39页第二十四页,共39页。l l学习运算符应注意:l l运算符的功能 l l与运算量关系(gun x)l l要求运算量个数l l 一元运算符(或单目运算符)l l 二元运算符(或双目运算符)l l 三元运算符(或三目运算符)exp1?exp2:exp3l l要求运算量类型l l运算符优先级别(附录3)l l结合方向(附录3)l l计算表达式的值时先看优先级再看结合性l l结果的类型语言程序设计 第二章数据描述C第24页/共39页第二十五页,共39页。l l算术运算符和表达式l l基本算术运算符:+-*/%l l结合方向:从左向右l l优先级:-*/%-

20、+-l l (2)(3)(4)l l说明:l l“-”可为单目运算符时,右结合性l l两整数(zhngsh)相除,结果为整数(zhngsh)l l%要求两侧均为整型数据例 5/2 =-5/2.0 =例 5%2 =-5%2 =1%10 =5%1 =5.5%2例 5/2 =2 -5/2.0=-2.5例 5%2 =1 -5%2 =-1 1%10 =1 5%1 =0 5.5%2 ()语言程序设计 第二章数据描述C第25页/共39页第二十六页,共39页。l l赋值运算符和表达式l l简单赋值运算符l l符号:=l l格式(g shi):变量标识符=表达式l l作用:将一个数据(常量或表达式)赋给一个变量

21、v复合(fh)赋值运算符v种类:+=-=*=/=%=&=|=v含义:exp1 op=exp2 exp1=exp1 op exp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例 a=3;语言程序设计 第二章数据描述C第26页/共39页第二十七页,共39页。说明说明:结合结合(jih)(jih)方向:自右向左方向:自右向左 优先级优先级:14:14 左侧必须是变量,不能是常量或左侧必须是变量,不能是常量或表达式表达式l赋值表达式的值与变量值相等(xingdng),且可嵌套l赋值转换规则:使赋值号右边(yu bian)表达式值自动转换成其左边变量的类型例 3=x-2*y;()a

22、+b=3;()例 float f;int i;i=10;f=i;则 f=10.0例 int i;i=2.56;/结果i=2;例:a=b=c=5 a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)/表达式值为5,a,b,c值为5/b=5;a=5/表达式值11,c=6,a=11/表达式值10,a=10,b=4,c=6/表达式值5,a=5,b=10,c=2语言程序设计 第二章数据描述C第27页/共39页第二十八页,共39页。v说明(shumng):v结合方向:自右向左v优先级:14v左侧必须是变量,不能是常量或表达式l赋值表达式的值与变量值相等(xingdng),

23、且可嵌套l赋值转换规则:使赋值号右边表达式值自动(zdng)转换成其左边变量的类型例:a=12;a+=a-=a*a/a=-264 等价于a=a+(a=a-(a*a)语言程序设计 第二章数据描述C第28页/共39页第二十九页,共39页。l l关系运算符和表达式l l关系运算符l l种类:=!=l l结合方向:自左向右l l优先(yuxin)级别:=!=优先级6(高)优先级7(低)例 ca+b /c(a+b)ab!=c /(ab)!=c a=bc /a=(bc /a=(bc)l关系(gun x)表达式的值:是逻辑值“真”或“假”,用1和0表示例 int a=3,b=2,c=1,d,f;ab (ab

24、)=c b+cb/表达式值1/表达式值1/表达式值0/d=1语言程序设计 第二章数据描述C第29页/共39页第三十页,共39页。ab!a!ba&ba|b真假真假假假真真l l逻辑(lu j)运算符和表达式l l逻辑(lu j)运算符l l种类:!&|l l逻辑(lu j)运算真值表lC语言中,运算量:0表示(biosh)“假”,l 非0表示(biosh)“真”,l 运算结果:0表示(biosh)“假”,l 1表示(biosh)“真”,真假假假假假真真假假真真真假真真语言程序设计 第二章数据描述C第30页/共39页第三十一页,共39页。l l逗号运算符和表达式l l形式:表达式1,表达式2,表达

25、式nl l结合(jih)性:从左向右l l优先级:15(优先级最低)l l逗号表达式的值:等于表达式n的值例 a=3*5,a*4 a=3*5,a*4,a+5例 x=(a=3,6*3)x=a=3,6*a例 a=1;b=2;c=3;printf(“%d,%d,%d”,a,b,c);printf(“%d,%d,%d”,(a,b,c),b,c);/a=15,表达式值60/a=15,表达式值20/赋值表达式,表达式值18,x=18/逗号(duho)表达式,表达式值18,x=3/1,2,3/3,2,3语言程序设计 第二章数据描述C第31页/共39页第三十二页,共39页。逗号运算符和表达式形式:表达式1,表

26、达式2,表达式n结合(jih)性:从左向右优先级:15逗号表达式的值:等于表达式n的值例:#include main()int x,y=7;float z=4;x=(y=y+6,y/z);printf(x=%dn,x);运行(ynxng)结果:x=3语言程序设计 第二章数据描述C第32页/共39页第三十三页,共39页。l l条件运算符与表达式l l一般形式:expr1?expr2 :expr3l l执行(zhxng)过程l l功能:相当于一个具有判断能力的条件语句例 if(ab)printf(“%d”,a);else printf(“%d”,b);printf(“%d”,ab?a:b);例 求

27、 a+|b|printf(“a+|b|=%dn”,b0?a+b:a-b);expr1取expr2值取expr3值非0=0例 (a=b)?Y:N (x%2=1)?1:0 (x=0)?x:-x (c=a&c0?1:(xb?a:cd?c:d ab?a:(cd?c:d)vexpr1、expr2、expr3类型(lixng)可不同,表达式值取较高的类型(lixng)例 x?a:b /x=0,表达式值为b;x0,表达式值为a xy?1:1.5 /xy ,值为1.0;x=y ,值为1.5语言程序设计 第二章数据描述C第33页/共39页第三十四页,共39页。自增、自减运算符自增、自减运算符+-+-作用作用(z

28、uyng)(zuyng):使变量值加:使变量值加1 1或减或减1 1 种类:种类:前置前置 +i,-i (+i,-i (先执行先执行i=i+1i=i+1或或i=i-1i=i-1,再使用,再使用i i值)值)后置后置 i+,i-(i+,i-(先使用先使用i i值值,再执行再执行i=i+1i=i+1或或i=i-1i=i-1)例 j=3;k=+j;j=3;k=j+;j=3;printf(“%d”,+j);j=3;printf(“%d”,j+);a=3;b=5;c=(+a)*b;a=3;b=5;c=(a+)*b;/k=4,j=4/k=3,j=4/4/3/c=20,a=4/c=15,a=4语言程序设计

29、第二章数据描述C第34页/共39页第三十五页,共39页。v自增、自减运算符+-v作用:使变量值加1或减1v种类(zhngli):v前置 +i,-i (先执行i=i+1或i=i-1,再使用i值)v后置 i+,i-(先使用i值,再执行i=i+1或i=i-1)l说明(shumng):l+-不能用于常量和表达式,如5+,(a+b)+l+-结合方向:自右向左l优先级:-+-*/%-+-l (2)(3)(4)例-i+-(i+)i=3;printf(“%d”,-i+);/-3 例 j+k;(j+)+k;例-i+i=3;printf(“%d”,-i+);Ch2_009.c语言程序设计 第二章数据描述C第35页

30、/共39页第三十六页,共39页。位运算(yn sun)符 位运算(yn sun)是指进行二进制位的运算(yn sun)。运算符 含 义 优 先 级 单(双)目运算符 按位求反 1(高)单目(一元)左移 右移 2 双目(二元)&按位与 3|按位或 4 按位异或 5(低)位运算符及其功能表 第36页/共39页第三十七页,共39页。位运算符的运算功能:(1)“按位取反”运算符(-):使每一位上的0变1;1变0。(2)“左移”运算符():右移运算符的使用方法与左移运算符一样,所不同的是移位方向相反。右移时,右端(低位)移出的二进制数舍弃;左端(高位)移入的二进制数分两种情况(qngkung):对于无符号整数和正整数,高位补0;对于负整数,高位补1。这是因为负数在机器内均用补码表示所至。第37页/共39页第三十八页,共39页。(4)“按位与”运算(&)把参加运算的两个运算数,按对应(duyng)的二进制位分别进行“与”运算。(5)“按位或”运算(|):参加运算的两个运算数中,只要两个相应的二进制位中有一个为1,该位的运算结果即为1;只有当两个相应位的数都为0时,该位的运算结果才为0。(6)“按位异或”运算():参与运算的两个运算数中相对应(duyng)的二进制位上,若数相同,则该位的结果为0;数不同,则该位的结果为1。第38页/共39页第三十九页,共39页。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理工具

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁