C++表达式 (1)

上传人:无*** 文档编号:243887779 上传时间:2024-10-01 格式:PPT 页数:38 大小:424KB
返回 下载 相关 举报
C++表达式 (1)_第1页
第1页 / 共38页
C++表达式 (1)_第2页
第2页 / 共38页
C++表达式 (1)_第3页
第3页 / 共38页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,C+,表达式,太原工业学院计算机工程系,主讲:韩燕丽,3.1,运算,一、运算符的分类,1,、根据操作数的个数来分类,单目,运算符(仅有一个操作数),双目,运算符(有两个操作数),三目,运算符(有三个操作数),2,、根据数学运算来分类,算术运算符,:,+,、*、,%,、,+,、,-,赋值运算符,=,关系运算符,:,、,=,、,、,=,、,=,、!,=,逻辑运算符,:,&,、,|,、!,条件运算符,表达式,1,?表达式,2,:表达式,3,逗号运算符,表达式,1,表达式,2,运算结合方向有两种,:,1.,自左向右,为左结合性。,2.,自右向左,为右结合性。,附录,B,:,3,、运算符优先级别,4,、运算符的结合性,若在操作数两侧的运算符有相同的优先级,则按它们的结合方向顺序处理。,例,:,a,b/c,1.5+ad e;,例,:,a=b=c=d;,相当于,:a=(b=(c=d);,3.2,表达式,-,由操作数和运算符构成的式子,如:,1+2,、,34*3,3.2.1,算术表达式,一、算术运算符,单目运算符:,(,取负,),、,+,、,-,双目运算符:,+,、*、,/,、,%(,求余数,),要求两个操作数的数据类型均为整型,二、运算符的优先级别,高 (),+-,*,/%,低,+,两个整型数据相除,(,结果取整,),。,5/3 1,使用时千万注意,int,/,int,可能会,出现数据丢失。,“,/”,中,有一个,float,则结果为,double,型。,除,/,5,.,0,/3 ,1,.66667,自增,+,、自减,-,前缀形式,+a,运算规则:,“先用后加”,等价形式:,a;a=a+1,后缀形式,a+,运算规则:,“先加后,用”,等价形式:,a=a+1;a,例:,#include,main(),int,x,y;,x=7;,y=x+;,cout,“x=”x“,y=”y,endl,;,y=+x;,cout,“x=”x“,y=”y,endl,;,结果为:,x=8,y=7,x=8,y=8,1.,+和 运算,符,只能用于变量,不得用于常量和表达式.,如:,5+,(,a+b)+,均为不合法.,几,点注意:,2.+,的,结合性为从右至左,而一般算术运算符为从左至右。,例:,#include,void main(),int,i=3,j;,j=-i+;,cout,ij;,运行结果:,i=4,j=-3,如:,i+,相当于,(i+),三、算术表达式及其计算,由操作数,(,常量、变量、函数等,),、算术运算符构成的式子,如:,2+6*9-3,C+,中的优先级规则与传统四则运算是一致的:,“从左到右依次计算,先乘除后加减,遇到括号先计算”,算术表达式的值是,数值类型,的。,规范计算算术表达式,变量声明与初始化为:,int,a=7,b=2;,表达式,a*b+a%b,的运算过程是:,a*b+a%b,14+a%b,14+1,15,作为一种特殊情况,字符型也可以参与算术运算,这时实际用于计算的是字符的代码。,3.2.2,赋值表达式,一、赋值运算符:,例,:,a=3;,x=y+8;,作用:将一个数据赋给一个变量,二、复合赋值运算符:,在,号之前加一个其它运算符。,C+,语言规定,:,凡是二目运算符均可构成复合运算符。,例,:,a+=3;,相当于,a=a+3,x,=y+8;,相当于,x=x,(y+8),x%=3;,相当于,x=x%3,语法,:,三、复合赋值表达式,例,:,x=10,为一赋值表达式,其中又可以是一个赋值表达式。,例:,x=(y=10),相当于,y=10,;,x=y,由于赋值号为右结合性,于是,(),可省略,,即为,:,x=y=10,;,例,:,a+=a =a,a (,设,a,12),又,:a=5+(c=6),c=6,a=11,a=(b=4)+(c=6),b=4,c=6,a=10,a=(b=10)/(c=2)b=10,c=2,a=5,还可用复合赋值运算符作下列运算:,步骤:,aa144.,a,=a,a,a=a,a,a=12 144=132,a+=132,a=a+(,132)=264,3.2.3,关系表达式,关系运算,就是比较运算,如,:a3,为一比较运算,若:,a=5,;,则:,a3,成立。结果为“真”,若:,b=1,;,则:,b3,不成立。结果为,“,假”。,一、关系运算,二,.,关系运算符及其优先级别,C+,语言提供了六种关系运算符,;,;,=,;,=,;,!=;,优先级别:,=,=!=,高,低,三,.,关系表达式,关系表达式的结果值为:,1,结果为真,(,条件成立,),0,结果为假,(,条件不成立,),如,:,ab;,(,a+b,)(,b+c,);,(a=3)(b=5);,a b ;,(ab)(bb)=c),if(b+cb,f=abc,成立 1,不成立 0,则,ab,值为1,所以,d=1.,ab,为1,abc,为0,所以,f=0.,则:,3.2.4,逻辑表达式,一、逻辑运算符,双目运算符:,&,、,|,单目运算符:,!,例:,!,(33)&(34=43),结果为:,0,!,&,|,高,低,优先级别:,真值表:,A,B,A&B,假,假,假,真,真,假,真,真,真,假,假,假,A,B,A|B,假,假,假,假,真,真,假,真,真,真,真,真,A,!A,假,真,真,假,两个条件同时满足,两个条件满足其一,二、逻辑表达式,例:(,32)&(61,),(3=2)|(62),例:,若变量,x=4,,,y=6,,,则(,x=y,),|,(,x=1,),=,?,若变量,a=5,则,!a=?,例:,a&b&c,真值表如下:,a b a&b c a&b&c,0 0 0 0 0,0 0 0 1 0,0 1 0 0 0,0 1 0 1 0,1 0 0 0 0,1 0 0 1 0,1 1 1 0 0,1 1 1 1 1,注:在逻辑表达式中,并不是所有的逻辑运算符都被执行,注:,当,a,、,b,均为,1,时,才有必要考虑,c,当,a,、,b,其中有一个为,0,,其结果为,0,,不必考虑,c,a|b|c,的真值表如下:,a b a|b c a|b|c,0 0 0 0 0,0 0 0 1 1,0 1 1 0 1,0 1 1 1 1,1 0 1 0 1,1 0 1 1 1,1 1 1 0 1,1 1 1 1 1,注:,当,a,、,b,均为,0,时,才有必要考虑,c,当,a,、,b,其中有一个为,1,,其结果为,1,,不必考虑,c,3.2.5,条件表达式,一、条件运算符,三目运算符:,?:,C+,中唯一的三目运算符,用于在表达式中作条件判断,通常可以替换,if,语句,。,语法:,表达式,1,?表达式,2,:表达式,3,二、条件表达式,执行顺序:,首先计算,;,若其值非,0,则计算出,的值,这个值就是整个表达式的值;,若,的值为,0,,则计算出,的值,它就是整个表达式的值。,如:,a=(xy?x:y),若,xy,为真则把,x,的值赋给,a,,否则把,y,的值赋给,a,(2),x?y,=a+10:y=3*a-1,若,x,非,0,则把,a+10,的值赋给,y,,否则把,3*a-1,的值赋,y,3.2.6,逗号表达式,语法,:,表达式,1,表达式,2,计算规则,:,先计算表达式,1,再计算表达式,2,最后值为表达式,2,的值。,例,:,int,a,b;a=3,5,a,4;b=(3*5,a*4);,结果,:,a=15 b=60,若,:b=(a=3,5,a,4),a+5);,扩展形式,:表达式,1,表达,2,表达式,n,结果,:,表达式,n,的值,a+5,b,即 20,b.,3,5=15,a,a,4=60 (,此时,a,值仍未变),x=(a=3,6,3),赋值表达式,x,的值,18;,x=a=3,6,a,逗号表达式,x,的值,3.,思考:,若有:,int,a;,a=(3*5,a*4);,则:,a,的值为多少?,答案:,不确定,注意,:,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!