基本数据及其运算.ppt_第1页
基本数据及其运算.ppt_第2页
基本数据及其运算.ppt_第3页
基本数据及其运算.ppt_第4页
基本数据及其运算.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,第2章基本数据及其运算,2.1基本类型数据2.2输入和输出基础2.3数据运算2.4表达式,2,2.1基本类型数据,C语言中,基本数据有三种:整数:整数是不带小数点和指数符号的数据。浮点数:浮点数是带有小数点或指数符号的数值数据。字符:字符型数据表示一个字符,占用一个字节(8个二进制位)。,3,2.1.1整型数据,按其数值范围大小划分成三种:1.基本型:用int标记2.短整型:用shortint标记,简写为short3.长整型:用longint标记,简写为long按值内部的最高位不同理解又有两类:1.带符号:存储单元最高位作为符号位2.不带符号:存储单元中全部二进位用作存放数据本身,而没有符号位。表示方法:unsignedint、unsignedshort、unsignedlong,4,inti,j;/*定义带符号的整型变量*/unsignedshortk;/*定义无符号短整型变量*/longm,n;/*定义带符号的长整型变量*/说明:不同版本占用字节数,例如,类型,版本,5,常用的整数表示的数值范围16位例,6,十进制整数:如0,123,-45。八进制整数:以数字0开头,并由07组成的数字符序列。如:0123表示八进制整数,其值等于十进制整数为:1*82+2*81+3=83十六进制整数:以0 x(或0X)开头,并由十六进制数的数字符组成的数字符序列。表示十六进制数的数字符有16个:09和A、B、C、D、E、F,其中六个字母也可以小写。如:0 x123表示十六进制整数,其值等于十进制整数为:1*162+2*161+3=291;0 xabc,其值等于10*162+11*161+12=2748。,整型常量的书写形式,7,long型整数:在整型常数后加字母L或l,即为long型整型常数。例如:0L、132L等。不带符号的整型:在整型常数后加字母U或u,即为unsigned型整型常数。例如:1U、122U等。不带符号的long型整数:在整型常数后同时加上字母U和L,表明该整型常数是unsignedlong型。例如22UL、35LU等。,长整型整数和无符号整数的表示,8,按数值范围大小和精度不同分成三种:1.单精度型:用float标记如:floatx,y;2.双精度型:用double标记如:doubleresult;3.长双精度实型:用longdouble标记如:longdoublez;,2.1.2浮点型数据,9,1.float型在内存中占用4个字节(32个二进位),约7个十进位有效数字,能表示绝对值约为10-381038。2.double型在内存中占用8个字节(64个二进位),约15个十进位有效数字,能表示绝对值约为10-30810308。3.longdouble型longdouble型数据一般占用比double型数据更多的字节,但在VC中,也只占用8个字节。,2.1.2浮点型数据(续),10,说明:(1)整数部分和小数部分可以任选,但不可同时没有。(2)小数点和指数部分不可以同时都没有。(3)指数部分是以一个字母e或E开头,后跟一个整数。例如:合法的浮点常数:7.、.457、1E5、1.5e-6不正确的浮点常数:E4、.E5、4.0E,浮点数的一般书写格式正负号整数部分.小数部分指数部分,11,(4)在浮点数后加f表示float;加L(或l)表示longdouble型,在浮点数的最后不加任何字母,C系统认为此数是double型。例如:1.5、1.5f、1.5L分别表示double型、float型和longdouble型,浮点数说明,12,(2)浮点数运算有一定的计算误差例如:要判别两个浮点型变量x和y是否相等正确:fabs(x-y)=、j=+i;/*i结果为5,j的结果为5*/i=4;j=i+;/*i结果为5,j的结果为4*/i=4;j=-i;/*i结果为3,j的结果为3*/i=4;j=i-;/*i结果为3,j的结果为4*/,45,+和-运算符只能用于变量,不能用于常量或表达式。如4+或(i+j)+都是不合法的。+和-是带有副作用的运算符。不要在一个表达式中对同一变量多次使用这样的运算符。如i=4,表达式(i+)+(i+)的值是8不是9,表达式(+i)+(+i)的值是12不是11。如i=4,在printf(%d%dn,i,i+)中,输出的结果可能是44(从左到右),也可能是54(从右到左)。,自增/自减运算符注意事项,46,2.3.3关系运算和逻辑运算,关系运算符:、=、=、!=关系运算符用于对两个值进行关系比较,判定比较条件是否满足。在中,条件满足的值为1;条件不满足为0。(1)优先级:、=高于=,!=如:表达式xy=cy)=(cu+v等价于x(u+v)(3)关系运算符的结合方向是自左至右的如:i=1,j=2,k=3则表达式kji的值为0,47,2.3.3关系运算和逻辑运算,逻辑运算符计算+a|+bfloaty=2;doublez=4;printf(int=%d,float=%d,double=%d,sizeofx,sizeof(float),sizeofz);结果:int=4,float=4,double=8例2:inta=1,3,5,7,9;floatb;printf(%dn,sizeofb);printf(%dn,sizeofa/sizeof(int);结果:45,58,2.3.5其他运算符位运算(只要求了解),位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息结果。位运算符:unsignedshorty;x=(int)5.8+3.3;/*强制类型转换,(int)5.8也可以写成int(5.8)*/y=-1;/*隐式类型转换,-1补码为全1即216-1*/printf(x=%f,y=%dn,x,y);输出结果为:x=8.300000,y=65535注意:(int)(x+y)与(int)x+y含义不一样,69,#includevoidmain()inti=1,j=2,k=3;i+=j+=k;/*输出:i=6j=5k=3*/printf(i=%dtj=%dtk=%dn,i,j,k);printf(ij?i+:j+)=%dn,k+=ij?i+:j+);/*输出:(k+=ij?i+:j+)=9*/printf(i=%dtj=%dtk=%dn,i,j,k);/*输出:i=6j=7k=9*/,【例2.7】表达式求值例子1,70,i=3;j=k=4;printf(k=j=i)=%d,k=j=i);/*输出:(k=j=i)=0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论