数据类型运算符与表达式ppt课件.ppt

上传人(卖家):三亚风情 文档编号:3426941 上传时间:2022-08-30 格式:PPT 页数:48 大小:977.01KB
下载 相关 举报
数据类型运算符与表达式ppt课件.ppt_第1页
第1页 / 共48页
数据类型运算符与表达式ppt课件.ppt_第2页
第2页 / 共48页
数据类型运算符与表达式ppt课件.ppt_第3页
第3页 / 共48页
数据类型运算符与表达式ppt课件.ppt_第4页
第4页 / 共48页
数据类型运算符与表达式ppt课件.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、西南财经大学经济信息工程学院西南财经大学经济信息工程学院刘家芬刘家芬2#include void main()printf(“This is a program.n”);导入导入stdio.h:标准输入输标准输入输出头文件出头文件C程序的主函数程序的主函数,每个,每个C程序有且仅有一个主函程序有且仅有一个主函数,数,void表示主函数不表示主函数不返回任何值。返回任何值。是是stdio.h中定义的标中定义的标准输出函数,用于准输出函数,用于在屏幕上显示。在屏幕上显示。()中就是需要输出的中就是需要输出的内容,将用内容,将用“”引起引起来的字符串原样显来的字符串原样显示在屏幕上即可示在屏幕上即可

2、n是一个特殊的字符是一个特殊的字符,称为转义字符。,称为转义字符。用于控制光标移动用于控制光标移动到下一行到下一行3#include void main()int a,b,sum;a=123;b=456;sum=a+b;printf(sum is%dn,sum);导入导入stdio.h:标准输入输标准输入输出头文件出头文件C程序的主函数程序的主函数,每个,每个C程序有且仅有一个主函数,程序有且仅有一个主函数,void表示主函数不返回任何表示主函数不返回任何值。值。定义了三个变量,名字分别定义了三个变量,名字分别是是a,b,sum.这三个变量都是这三个变量都是int型。型。给变量给变量a赋值赋值

3、123,实际上就,实际上就是向该内存单元放入值是向该内存单元放入值123;给变量;给变量b赋值赋值456.变量变量sum的值是变量的值是变量a的值的值加上变量加上变量b的值;的值;调用调用stdio.h中的中的printf函数函数,在屏幕上显示计算在屏幕上显示计算结果。首先原样输出结果。首先原样输出sum is,后面的,后面的%d是格是格式控制符,表示式控制符,表示“以十以十进制整数形式输出进制整数形式输出”变变量量sum的值的值4#include void main()int max(int x,int y);int a,b,c;scanf(%d,%d,&a,&b);c=max(a,b);p

4、rintf(max is%dn,c);int max(int x,int y)int z;if(xy)z=x;else z=y;return(z);声明后面的语句中将使声明后面的语句中将使用一个用户自定义的函用一个用户自定义的函数数max,该函数使用两,该函数使用两个整型参数,并且返回个整型参数,并且返回一个整型值一个整型值使用使用stdio.h中定义的标中定义的标准库函数准库函数scanf,从键盘,从键盘读取两个十进制整数,读取两个十进制整数,分别赋值给分别赋值给a和和b以以a和和b作为参数调用用作为参数调用用户自定义函数户自定义函数max,并且并且将该函数的返回值赋给将该函数的返回值赋给变

5、量变量c使用使用stdio.h中定义的标中定义的标准输出库函数准输出库函数pintf这里是函数这里是函数max的定义的定义部分,该函数使用两个部分,该函数使用两个整型参数整型参数x和和y,作用是,作用是找出找出x和和y中较大的值并中较大的值并返回给主程序返回给主程序567我的名字叫我的名字叫a我的名字叫我的名字叫b8int a,b,sum;a=123;b=456;910十进制整数十进制整数18、-31八进制整数八进制整数以以0开头,数取开头,数取0-7如如022,-037,注意区分注意区分022和和22的值的值十六进制整数十六进制整数以以0 x开头,数取开头,数取0-F或者或者0-f0 x12

6、,-0 x1f整型常量的后缀整型常量的后缀无后缀为基本整型无后缀为基本整型L或者或者l,表示表示long长型,占用比基本整型更长的存储单元,长型,占用比基本整型更长的存储单元,如如 123占用两个字节,占用两个字节,123l、123L占用占用4个字节,但数值个字节,但数值一样。一样。U或者或者u,表示表示unsigned无符号无符号,只能表示正数,涉及最高,只能表示正数,涉及最高位的意义。位的意义。0XA5Lu11-10121314如果超出了该变量的取值范围,会出现什么情况呢?如果超出了该变量的取值范围,会出现什么情况呢?15#include void main()int i,j,m,n;i=

7、32767;j=i+1;m=-32768;n=m-1;printf(i=%d,j=%dn,i,j);printf(m=%d,n=%dn,m,n);161 1 1 1 1 1 11 1 1 1 1 1 1010 0 0 0 0 0 00 0 0 0 0 0 010170.0、25.0、5.789、0.13、5.0、300.、-267.8230必须有小数点必须有小数点如如2.1e5、-2.8E-2等。等。E之前必须有数字,并且指数部分为整数。之前必须有数字,并且指数部分为整数。例:例:123.456可以表示为:可以表示为:123.456e0,12.3456e1,1.23456e2,0.123456

8、e3,0.0123456e4365是浮点数吗?是浮点数吗?365.是浮点数吗?是浮点数吗?365.00是浮点数吗?是浮点数吗?365f是浮点数吗?是浮点数吗?18阶码符号阶码符号阶码的数值阶码的数值尾数符号尾数符号尾数的数值尾数的数值阶码阶码j尾数尾数S19#include main()float f=123.456;printf(f in decimal:%fn,f);printf(f in exponent:%en,f);20注意:浮点型常量都作为双精度来处理注意:浮点型常量都作为双精度来处理21#include stdio.hmain()float a;double b;a=123456

9、.789e4;b=123456.789e4;printf(%fn%fn,a,b);float型中通常用位来存放以二进制表示的尾数部分。将一个较大的型中通常用位来存放以二进制表示的尾数部分。将一个较大的十进制小数转化成二进制,通常都会超出位的长度,所以在内存中十进制小数转化成二进制,通常都会超出位的长度,所以在内存中存放时会舍去后面的小数。之后读取时,按照二进制到十进制的转换规存放时会舍去后面的小数。之后读取时,按照二进制到十进制的转换规则,输出的就不再是之前赋予的值了。则,输出的就不再是之前赋予的值了。22如如a,A,5,%,$等等转义字符以反斜线转义字符以反斜线开头,后跟一个或几个字符。开头

10、,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义转义字符具有特定的含义,不同于字符原有的意义,故称,故称“转义转义”字符。字符。23字符形式字符形式 含义含义ASCIIASCII代码代码nn回车换行回车换行tt跳到下一个跳到下一个tabtab位置位置bb退格退格rr回车,将当前位置移到本行开头回车,将当前位置移到本行开头ff换页换页反斜杠字符反斜杠字符“”单引号字符单引号字符”双引号字符双引号字符dddddd8 8进制数进制数ASCIIASCII码码 xhhxhh1616进制数进制数ASCIIASCII码码101表示?表示?24250100 0001C10110 0001C2

11、%c%dA65%c%da9726#include void main()char c1,c2;c1=97;c2=98;printf(%c,%cn,c1,c2);printf(%d,%dn,c1,c2);字符型数据可以以其字符型数据可以以其ASCII码值参与算术运算;码值参与算术运算;字符型数据可以与整型数据互相赋值;字符型数据可以与整型数据互相赋值;例如例如int i=a;char c=97;27字符常量由单引号括起来,字符串常量由双引号括起来。字符常量由单引号括起来,字符串常量由双引号括起来。字符常量只能是单个字符,字符串常量则可以包含一个或多个字符。字符常量只能是单个字符,字符串常量则可以

12、包含一个或多个字符。字符常量只占一个字节的内存空间。字符串常量占的内存字节数等于字符串字符常量只占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字符数加中字符数加1,增加的一个字节用于存放字符,增加的一个字节用于存放字符“0”(ASCII码为码为0),也就是字符,也就是字符串结束标志。串结束标志。区别区别5,5,5注意:字符串结束标志是由系统自动添加的。注意:字符串结束标志是由系统自动添加的。28不同类型的数据混合运算时,编译系统自动完成类型转换。不同类型的数据混合运算时,编译系统自动完成类型转换。若参与运算量的类型不同,则先转换成同一类型,然后进行若参与运算量的类型不同,则先转换成

13、同一类型,然后进行运算。如运算。如10+a+1.5转换按数据长度增加的方向进行,以保证精度不降低。转换按数据长度增加的方向进行,以保证精度不降低。所有的浮点运算都是以双精度进行的,即使仅含所有的浮点运算都是以双精度进行的,即使仅含float单精度单精度量运算的表达式,也要先转换成量运算的表达式,也要先转换成double型再运算。型再运算。char型和型和short型参与运算时,必须先转换成型参与运算时,必须先转换成int型型在赋值运算中,赋值号两边量的数据类型不同时,赋值号右在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型边量的类型将转换

14、为左边量的类型。如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。失的部分按四舍五入向前舍入。29高高 double float long unsigned 低低 int char、short1.横向的箭头表示必定的转换,例如横向的箭头表示必定的转换,例如float型数据在进行计算时,型数据在进行计算时,即使两个数都是即使两个数都是float型,也要先转换成型,也要先转换成double型才行。这样做型才行。这样做是为了提高精度。是为了提高精度。2.纵向箭头标明了数据类型级别的高低,由低向高进行

15、转换。纵向箭头标明了数据类型级别的高低,由低向高进行转换。例如例如int型和型和double型运算,首先型运算,首先int型数据要转换成型数据要转换成double型,型,然后再运算。然后再运算。30无论是强制转换或是自动转换,都只是运算的需无论是强制转换或是自动转换,都只是运算的需要而对变量的数据长度进行的临时性转换,而不改变要而对变量的数据长度进行的临时性转换,而不改变该变量的类型该变量的类型31#include main()int m=5;printf(m/2=%dn,m/2);printf(float)(m/2)=%fn,(float)(m/2);printf(float)m/2=%fn

16、,(float)m/2);printf(m=%dn,m);m/2=2(float)(m/2)=2.000000(float)m/2=2.500000m=532算术运算符算术运算符:用于各类数值运算。包括加用于各类数值运算。包括加(+)、减、减(-)、乘、乘(*)、除、除(/)、求余、求余(或称模运算,或称模运算,%)、自增、自增(+)、自减、自减(-)共七种。共七种。关系运算符关系运算符:用于比较运算。包括大于用于比较运算。包括大于()、小于、小于(=)、小于等于、小于等于(=)和不等于和不等于(!=)六种。六种。逻辑运算符逻辑运算符:用于逻辑运算。包括与用于逻辑运算。包括与(&)、或、或(|

17、)、非、非(!)三种。三种。位操作运算符位操作运算符:参与运算的量,按二进制位进行运算。包括位与参与运算的量,按二进制位进行运算。包括位与(&)、位或、位或(|)、位非、位非()、位异或、位异或()、左移、左移()六种。六种。赋值运算符赋值运算符:用于赋值运算,分为简单赋值用于赋值运算,分为简单赋值(=)、复合算术赋值、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值和复合位运算赋值(&=,|=,=,=,=)三类共十三类共十一种。一种。条件运算符条件运算符:这是一个三目运算符,用于条件求值这是一个三目运算符,用于条件求值(?:)。逗号运算符逗号运算符:用于把若干表达式组合成一个表达

18、式用于把若干表达式组合成一个表达式(,)。指针运算符指针运算符:用于取内容用于取内容(*)和取地址和取地址(&)二种运算。二种运算。求字节数运算符求字节数运算符:用于计算数据类型所占的字节数用于计算数据类型所占的字节数(sizeof)。特殊运算符特殊运算符:有括号有括号(),下标,下标等几种。等几种。33运算符的优先级:在表达式中,优先级较高的先于优先级较低的运算符的优先级:在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时,则按运进行运算。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。算符的结合性所规定的结合方向处理。运

19、算符的结合性:语言中各运算符的结合性分为两种运算符的结合性:语言中各运算符的结合性分为两种左结合性左结合性(自左至右自左至右)和和右结合性右结合性(自右至左自右至左)。C语言中多数运算符为左结合,例如表达式语言中多数运算符为左结合,例如表达式x-y+z。C中满足右结合的运算符中满足右结合的运算符单目运算符单目运算符赋值运算符赋值运算符条件运算符条件运算符34sizeof*用括号来控制运算顺序更直观、方便,并减少出错的概率用括号来控制运算顺序更直观、方便,并减少出错的概率35常用的标准数学函数函数名函数名功功 能能函数名函数名功功 能能sqrt(x)计算计算x的平方根,的平方根,x应大于等于应大

20、于等于0 exp(x)计算计算ex的值的值fabs(x)计算计算x的绝对值的绝对值pow(x,y)计算计算xy的值的值log(x)计算计算lnx的值的值sin(x)计算计算sinx的值,的值,x为弧度值为弧度值log10(x)计算计算lgx的值的值cos(x)计算计算cosx的值,的值,x为弧度值为弧度值36int i=8;printf(%dn,+i);9 printf(%dn,-i);8 printf(%dn,i+);8 printf(%dn,i-);9 printf(%dn,-i+);-8 printf(“%dn”,-i-);-937383940判断判断a+b=c,x=x+1是否为合法的赋

21、值表达式?是否为合法的赋值表达式?a=b=c=5 等价于等价于a=(b=(c=5)41a+=5 等价于等价于a=a+5 x*=y+7 等价于等价于x=x*(y+7)r%=p 等价于等价于r=r%p42见书本见书本P41页页43444546#include void main()printf(Data type Number of bytesn);printf(-n);printf(char%dn,sizeof(char);printf(int%dn,sizeof(int);printf(short int%dn,sizeof(short);printf(long int%dn,sizeof(long);printf(float%dn,sizeof(float);printf(double%dn,sizeof(double);4748

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(数据类型运算符与表达式ppt课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|