欢迎来到天天文库
浏览记录
ID:38316177
大小:1.74 MB
页数:50页
时间:2019-06-09
《运算符与流程控制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章运算符与流程控制4.1运算符运算符是一种符号,用来指定要在表达式中执行的操作。C++中常用的运算符有:算术运算符赋值运算符关系运算符逻辑运算符条件运算符4.1运算符学习运算符应注意:运算符功能与运算量关系要求运算量个数(单目,双目,三目)要求运算量类型运算符优先级别结合方向结果的类型4.1.1算术运算符算术运算符基本算术运算符:+-*/%功能:取模运算符%用于计算两整数相除后得到的余数结合方向:从左向右优先级:*/%----->+-(13)(12)说明:两整数相除,结果为整数%要求两侧均为整型数据例5/2=-5/2.0=例5%2=-5%2=1%10=5%1=5.5%2例5/2=2-5/
2、2.0=-2.5例5%2=1-5%2=-11%10=15%1=05.5%2()4.1.1算术运算符算术表达式由以上各种算术运算符和常量或变量构成的式子叫做算术表达式。算术表达式的操作数主要是数值类型的数据和字符类型的数据4.1.1算术运算符算术运算时的类型转换当运算符两边的操作数不是同一种数据类型时,必须将它们先转换成同一类型的数据再进行运算。数据类型的转换有两种方式:隐式类型转换显示类型转换4.1.1算术运算符隐式类型转换什么情况下发生运算转换------不同类型数据混合运算时赋值转换------把一个值赋给与其类型不同的变量时输出转换------输出时转换成指定的输出格式函数调用转换-
3、-----实参与形参类型不一致时转换运算转换规则:不同类型数据运算时先自动转换成同一类型说明:必定的转换运算对象类型不同时转换例charch;inti;floatf;doubled;ch/i+f*d-(f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+‘a’+i*f-d/l例inti;floatf;doubled;longl;doublefloatlongunsignedintchar,short低高unsignedlong4.1.1算术运算符显示类型转换(类型
4、名)表达式类型名(表达式)例(int)x+y(double)(3/2)(int)3.6说明:强制转换得到所需类型的中间变量,原变量类型不变例题4-1将double类型的数据和int类型的数据进行显示转换。#includevoidmain(){doublea=10.6;intb=5;b=b+int(a);//将double类型的数据强制转换为int型的数据cout<5、用:将右侧的表达式求出结果,赋给其左侧的变量复合赋值运算符种类:+=-=*=/=%=《=》=&=^=6、=含义:exp1op=exp2exp1=exp1opexp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例a=3;d=func();c=d+2;4.1.2赋值运算符说明:结合方向:自右向左优先级:2左侧必须是变量,不能是常量或表达式赋值表达式的值与变量值相等,且可嵌套赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型例3=x-2*y;a+b=3;例floatf;inti;i=10;f=i;则f=10.0例inti;i=2.56;//结果i=2;例:a=b=c7、=5a=(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=24.1.2赋值运算符例j=3;k=++j;j=3;k=j++;j=3;cout<<++j<8、加1或减1种类:前缀++i,--i(先执行i+1或i-1,再使用i值)后缀i++,i--(先使用i值,再执行i+1或i-1)4.1.3自增、自减运算符说明:++--不能用于常量和表达式,如5++,(a+b)++++--结合方向:自右向左优先级:15例-i++-(i++)i=3;cout<<-i++<
5、用:将右侧的表达式求出结果,赋给其左侧的变量复合赋值运算符种类:+=-=*=/=%=《=》=&=^=
6、=含义:exp1op=exp2exp1=exp1opexp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例a=3;d=func();c=d+2;4.1.2赋值运算符说明:结合方向:自右向左优先级:2左侧必须是变量,不能是常量或表达式赋值表达式的值与变量值相等,且可嵌套赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型例3=x-2*y;a+b=3;例floatf;inti;i=10;f=i;则f=10.0例inti;i=2.56;//结果i=2;例:a=b=c
7、=5a=(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=24.1.2赋值运算符例j=3;k=++j;j=3;k=j++;j=3;cout<<++j<8、加1或减1种类:前缀++i,--i(先执行i+1或i-1,再使用i值)后缀i++,i--(先使用i值,再执行i+1或i-1)4.1.3自增、自减运算符说明:++--不能用于常量和表达式,如5++,(a+b)++++--结合方向:自右向左优先级:15例-i++-(i++)i=3;cout<<-i++<
8、加1或减1种类:前缀++i,--i(先执行i+1或i-1,再使用i值)后缀i++,i--(先使用i值,再执行i+1或i-1)4.1.3自增、自减运算符说明:++--不能用于常量和表达式,如5++,(a+b)++++--结合方向:自右向左优先级:15例-i++-(i++)i=3;cout<<-i++<
此文档下载收益归作者所有