复合算数赋值怎么运算,99岁属相
c语言基础:复合赋值运算符
首先明白优先级顺序,从上往下依次降低
所以,题目中,先计算a-6,再计算a/=,然后a*=,最后a+=
例如,a=7
则:
1.a+=a*=a/=1
a/=1即a=a/1=7/1=7
2.a+=a*=7 现在a=7
3.a+=49 现在a=49
4.a=49+49=98
什么是复合算术赋值符,求复合算术赋值运算符的详解
在赋值运算符当中,有一类C/C++独有的复合赋值运算符。它们实际上是一种缩写形式,使得对变量的改变更为简洁。Total=Total+3;它的意思是本身的值加3,然后在赋值给本身。为了简化,上面的代码也可以写成:Total+=3;同样,x*=y+7等价于x=x*(y+7) r%=p等价于r=r%p复合赋值运算符有下列这些:符号功能+=加法赋值-=减法赋值*=乘法赋值/=除法赋值%=模运算赋值<<=左移赋值>>=右移赋值&=位逻辑与赋值|=位逻辑或赋值^=位逻辑异或赋值那么看了上面的复合赋值运算符,有人就会问,到底Total=Total+3;与Total+=3;有没有区别?答案是有的,对于A=A+1,表达式A被计算了两次,对于复合运算符A+=1,表达式A仅计算了一次。一般的来说,这种区别对于程序的运行没有多大影响,但是当表达式作为函数的返回值时,函数就被调用了两次(以后再说明),而且如果使用普通的赋值运算符,也会加大程序的开销,使效率降低。
C语言中的复合赋值运算符“%=”怎么用?
要点1: *=,+=,-=,%= 等符号的应用是同道理的: 即把左边的移过右边运算(右边用括号包住,表示先运算),结果再给左边(注意左边只能是变量,不可为表达式)A += B 等价于A = A + (B); (B可以是值或表达式,这里的=仍是赋值号哦,B打括号是因为它可以是表达式) 如 x += 1; ===== x= x+1; x += 1+2+3; ===== x =x+(1+2+3); x += a+b+1 ==== x= x+(a+b+1); 要点2:就个这样的符号的运算,则从最右边的那个开始计算,一直到左边例如: A += B %= A -= B--------------3------2----1 (3个这样的符号)从*最右边*来分析(按符号顺序): 1: A=A-(B) ,得到了A的新值 2:B = B%(A), 得到了B的新值 (注意该A是新值哦) 3: A=A+(B), 再次得到了A的新值 (注意右边的A也是1的新值,B是2的新值) 懂了上面,你应该可以分析自己的了~~~复合函数到底是什么意思?
我们把自变量x对应的函数值记为f(x),也即y,因此说函数值可用y表示,也可用f(x)表示。相对f(x)表示更确切些,知道是谁对应的函数值。f(x-1)是由函数y=f(x)与一次函数y=x-1相复合而成。即把函数y=f(x)中的自变量换成了一个函数。因此得f(x-1)=k(x-1)+b.注意y=f(x)与y=f(x-1)两个函数不一样的。复合赋值运算符 += 到底怎么运算的?
先看一道题目: 有什么错? 有什么错? 此题乍一看,这两段代码貌似没有什么区别,但是它们的执行结果是不一样的。 结果是第一段代码会出错,第二段代码不会出错。 第一段代码的分析: 这段代码的第二句(s1=s1+1)就是简单的两个数字相加,结果赋值给第一个变量。 此时运算结果的数据类型由以下规则决定: 1,如果参与相加运算的表达式或数字有double类型,则结果是double类型 2,如果参与相加运算的表达式或数字有float类型,则结果是float类型 3,如果参与相加运算的表达式或数字有long类型,则结果是long类型 4,如果参与相加运算的表达式或数字没有以上3种数据类型,则结果是一律是int类型 按照这个规则,s1=s1+1;那么最终的运算结果应该是int,所以赋值给short类型的s1会出错。 第二段代码的分析: 类似于 num1 += num2 这样的形式的复合赋值表达式,,实际上等同于(num1的类型)(num1+num2),也就是将两个数相加之后的结果强制转型为赋值运算符左边操作数的数据类型。唯一的不同点就是num1只会计算一次,所以理论上复合赋值运算符的效率更高。 s1+=1;就会等同于 s1=(short)(s1+1);所以结果是没问题的。 各位是否明白了这个规则呢?请看以下两段代码,您是否能正确地说出答案呢? 下面的代码输出什么值? 下面的代码有错吗?
什么是复合算术赋值符,求复合算术赋值运算符的详解
七个+-*/%++--加减乘除不用我说了吧"%"求余,就是算除法,值是他的余数"/"这个是除法,但是有一点注意,两边操作数全为整数时,值是取整的。“++”是自加,比如说i++就是i的值自动加1,规则是i++是鲜赋值再自加,++i是先自加再赋值。举个例子a=i++这个是先把i的值赋给a,然后i再自加。a=++i是i先自加,然后把自加之后的值赋给a。“--”是自减,和自加的规则相同,只是值是自动减一。C语言的运算符可分为以下几类:1.算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。2.关系运算符:用于比较运算。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。3.逻辑运算符:用于逻辑运算。包括与(&&)、或(||)、非(!)三种。4.位操作运算符:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<>)六种。5.赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。6.条件运算符:这是一个三目运算符,用于条件求值(?:)。7.逗号运算符:用于把若干表达式组合成一个表达式(,)。8.指针运算符:用于取内容(*)和取地址(&)二种运算。9.求字节数运算符:用于计算数据类型所占的字节数(sizeof)。10.特殊运算符:有括号(),下标[],成员(→,.)等几种。