- 0
- 0
- 约8.71千字
- 约 55页
- 2019-11-06 发布于广东
- 举报
大连轻工业学院 于晓强制作 自动转换遵循以下规则: 1) 若参与运算量的类型不同,则先转换成同一类型,然后进行运算。 2) 转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。 3) 所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。 4) char型和short型参与运算时,必须先转换成int型。 5)在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入(赋值给int时,全舍掉)。 大连轻工业学院 于晓强制作 大连轻工业学院 于晓强制作 隐式类型转换举例 char ch; int i; float f ; double d; result=ch/i+f*d-f+d; 运算次序为: (1)ch被转换整型,float型的f被转换为double型。 (2)ch/I的结果被转换为double型,因为f*d是double型。 (3)最后的结果是double型,因为在运算之前两个操作数均为double型 大连轻工业学院 于晓强制作 强制类型转换 强制类型转换是通过类型转换运算来实现的。 其一般形式为: (类型说明符) (表达式) 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。 例如: (float) a 把a转换为实型 (int)(x+y) 把x+y的结果转换为整型 在使用强制转换时应注意以下问题: 类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int)(x+y)写成(int)x+y则成了把x转换成int型之后再与y相加了。 大连轻工业学院 于晓强制作 强制类型转换举例 【例3.13】 main() { float f=5.75; printf((int)f=%d,f=%f\n,(int)f,f); } 大连轻工业学院 于晓强制作 强制类型转换举例 main(){float a;int c ,b;a=2.5,b=5;c=(int)a+b;printf(%d, %d ,a,c);} 大连轻工业学院 于晓强制作 3.8算术运算符与算术表达式 C语言中运算符和表达式数量之多,在高级语言中是少见的。正是丰富的运算符和表达式使C语言功能十分完善。这也是C语言的主要特点之一。 C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算。这种结合性是其它高级语言的运算符所没有的,因此也增加了C语言的复杂性。 大连轻工业学院 于晓强制作 3.8.1 运算符简介 运算符的几个属性: 操作数: 参加操作的对象 “目”: 操作数的个数 单目、双目、三目 结合性: 从左向右:先左后右 从右向左:先右后左 优先级: 大连轻工业学院 于晓强制作 C语言运算符分类 大连轻工业学院 于晓强制作 3.8.2 算术运算符和算术表达式 基本的算术运算符(+、-、*、/、%) *、/、%:第三优先级 +、-:第四优先级 注意: 两个整数作除法,结果“向零取整”:5/3=1,56/10=5,78/10=7; 参加除求余以外的算术运算的操作数有一个是实数,则结果为“double”型的。 参加“求余%”运算的运算对象必须为“整数”:5%3=2,15%3=0,7%9=7; 大连轻工业学院 于晓强制作 算术表达式和运算符的优先级与结合性 算术表达式:算术运算符+操作数 优先级: a-b*c 等价于 a-(b*c) a-b+c 等价于 (a-b)+c 结合性 x-y+z 等价(x-y)+z 左结合 x=y=z 等价 x=(y=z)右结合 如果一个算术运算符的两侧的数据类型不相同,自动进行类型转换。 大连轻工业学院 于晓强制作 4.自增、自减运算符(++、--) 自增1,自减1运算符: 自增1运算符记为“++”,其功能是使变量值自增1。 自减1运算符记为“--”,其功能是使变量值自减1。 自增1,自减1运算符均为单目运算,都具有右结合性。可有以下几种形式: ++i : i自增1后再参与其它运算。 --i : i自减1后再参与其它运算。 i++ : i参与运算后,i的值再自增1。 i-- : i参与运算后,i的值再自减1。 大连轻工业学院 于晓强制作 自加、自减运算符应用举
您可能关注的文档
最近下载
- 卧式储罐体积容积计算(带公式).xls VIP
- 深度解析(2026)《SYT 5661-2019钻井液用增粘剂 丙烯酰胺类聚合物》.pptx VIP
- SY_T 5061-2020 钻井液用石灰石粉.docx VIP
- 深度解析(2026)《SYT 5677-2019钻井液用滤纸》.pptx VIP
- ICU常用药物中英文对照一览表.doc VIP
- 心血管常用名词缩写和心血管常用药物英汉对照.pdf VIP
- ISO9001 质量管理体系全套(质量手册+程序文件+表格记录全套).doc VIP
- 深度解析(2026)SYT 5794-2010《钻井液用沥青类评价方法》:从标准解读到未来油田化学智能化应用的战略前瞻.pptx VIP
- 2025-2030中国化学镀镍行业市场发展趋势与前景展望战略研究报告.docx
- 深度解析(2026)《SYT 7377-2017钻井液设计规范》.pptx VIP
原创力文档

文档评论(0)