大学C语言实用教程(课件)-第3章

大学C语言实用教程(课件)-第3章

ID:39227025

大小:372.81 KB

页数:33页

时间:2019-06-28

大学C语言实用教程(课件)-第3章_第1页
大学C语言实用教程(课件)-第3章_第2页
大学C语言实用教程(课件)-第3章_第3页
大学C语言实用教程(课件)-第3章_第4页
大学C语言实用教程(课件)-第3章_第5页
资源描述:

《大学C语言实用教程(课件)-第3章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章数据运算大学C语言实用教程计算机的基本功能是进行数据处理,而数据处理主要是通过对表达式的计算完成的。表达式是将运算量用运算符连接起来组成的式子,其中运算量可以是常量、变量或函数。由于运算量划分为不同的数据类型,每一种数据类型都规定了自己特有的运算或操作,这就形成了对应于不同数据类型的运算符集合及其相应的求值规则。必须连接两个运算量的运算符称为二元运算符a+ba%ba/b只连接一个运算量的运算符称为一元运算符-aa++--b运算符功能说明+-++--正负号、自加、自减一元运算符*/%乘除求余数二元运算符+-加减二元运算符3.1算术运算1

2、.算术运算符用算术运算符连接数值型的运算量而得到的式子。-5*3+6%4/2-1(a+b)/(a-b)a+(b++)*c(1)求余运算的规则假设两个整数分别为a和b,则a%b=a-a/b*b8%3=2,-8%3=-2,8%(-3)=2-8%(-3)=-2(2)自加(加1)自减(减1)运算++i表示i=i+1--i表示i=i-12.算术表达式①++或--可以用于前缀,也可以用于后缀。++n表示先令n=n+1,然后取n的值//先运算后变化n++表示先取n的值,然后令n=n+1//先运算后变化②如果前缀或后缀运算形成一条语句,其运算结果是相同的。

3、例如,设i=5,则i++;及++i;运算后,i的值均为6。100101101100【例】加1和减1运算。#includevoidmain(){inta=100;printf("%d",a);printf("%d",++a);//前缀printf("%d",a--);//后缀printf("%d",a);}运算符功能优先级结合性+-++--正号负号自加自减自右向左*/%乘除求余自左向右+-加减自左向右-++i-i++5*6%4/3a+b-c③用圆括号可以提高某个运算符的优先级或结合性,但不允许使用方括号或花括

4、号。x+y*s-a+4/5*32与(x+(y*(s-a)+4)/5)*323.算术表达式求值规则(1)算术运算符的优先级和结合性①优先级:不同的运算符同时出现在表达式中时,进行运算的优先次序②结合性:同一优先级的运算符同时出现在同一表达式中时,进行运算的顺序【例】算术表达式计算优先级和结合性规则。#includevoidmain(){inta=3,b=5,c=15,d=2;printf("%d",6-a*b/c%d);printf("%d",++a-a++);printf("%d",a);}①C编绎系统先将所有

5、的char和shortint都转换成int,所有的float都转换成double。②如果表达式中只含同类型的运算量,则直接进行运算,运算结果即表达式的值也是同类型的。3/2值为1(整型)3.0/2.0值为1.5(双精度型)‘A’+’B’值为131(int)型③如果表达式中含有不同运算类型的运算量,先将精度较低的运算量转化成精度较高的类型,再与精度较高的运算量进行运算,得到的运算结果为精度较高的类型。(2)自动类型转换规则【例】算术表达式计算自动类型转换规则#includevoidmain(){charch='a';inti

6、=5;unsignedintj=6;longintk=12;floatf=3.0;doubled=6.0;printf(“%lf”,ch/i+i*k-(j+k)*(f*d)/(f+i));}38.500000ch/i+i*k-(j+k)*(f*d)/(f+i)││││││││││int│long│long│double│doubledouble││││││││││└┬┘└┬┘└┬┘└┬┘└┬┘④⑤①②③long│double││└─┬─┘└──┬─┘double⑧⑥│double└──-─┬──┘│⑦└─────┬──────-─┘⑨表

7、达式ch/i+i*k-(j+k)*(f*d)/(f+i)中含有多种类型的变量,根据优先级和结合性规则及自动类型转换规则进行计算,计算过程如图所示。(3)强制类型转换规则当算术表达式中需要违反自动类型转换规则,或者说自动类型转换规则达不到目的时,可以使用强制类型转换,其格式为:(类型关键字)(表达式)(double)a强制将变量a转换成double型(int)(x+y)强制将表达式(x+y)转换成int型(int)x+y强制将变量x转换成int型,然后与y相加其中包围类型关键字的圆括号必不可少。使用强制应注意以下几点:(1)在进行强制类型转换

8、时,类型关键字必须用括号括住。例如(int)x不能写成intx。(2)在对一个表达式进行强制类型转换时,整个表达式也应该用括号括住。例如,(float)(a+b)若写成(floa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。