二级C++精品课程3-1-6:C++运算符之赋值运算符 |
|
www.nanhushi.com 佚名 不详 |
3.1.6赋值运算符 =是赋值运算符,它的作用是将一个表达式的值赋给一个左值。一个表达式或者是一个左值,或者是一个右值。所谓左值是指一个能用于赋值运算左边的表达式。左值必须能够被修改,不能是常量。我们现在是用变量作左值,以后还可以看到,指针和引用也可以作左值。例如: int a, b, c; a=3; b=4; c = ( a + b )*(2*a - b) // 得出14 赋值运算符可与算术运算符和位运算符组合,产生许多变种,参见表3-9(实例中假定n是一个整型变量)。 赋值运算本身也是一个表达式,即赋值表达式,该表达式的值是存储在赋值运算符左边变量中的值。一个赋值表达式能作为另一个赋值表达式的右操作数,多个赋值运算符能够连接在一个表达式中。例如: int m, n, p; m = n = p = 100; // 即: n = (m = (p = 100)); m = (n = p = 100) + 2; // 即: m = (n = (p = 100)) + 2; m += n = p = 10; // 即: m = m + (n = p = 10);
 |
表3-9 赋值运算符 |
|
运算符 |
实例 |
等价于 |
= |
n = 25 |
|
+ = |
n += 25 |
n = n + 25 |
- = |
n -= 25 |
n = n - 25 |
* = |
n *= 25 |
n = n * 25 |
/ = |
n /= 25 |
n = n / 25 |
% = |
n %= 25 |
n = n % 25 |
& = |
n &= 0xF2F2 |
n = n & 0xF2F2 |
| = |
n |= 0xF2F2 |
n = n | 0xF2F2 |
^ = |
n ^= 0xF2F2 |
n = n ^ 0xF2F2 |
<< = |
n <<= 4 |
n = n << 4 |
>> = |
n >>= 4 |
n = n >> 4 | |
 | 赋值运算符分为两种:一种是简单的最常用的=运算符;二是复合的赋值运算符,又称为带有运算的赋值运算符,也叫赋值缩写。 例如:i=i+j;可表示为 i+=j;这里+=是复合赋值运算符。 同样的共有10种这样的运算符,它们是: += 加赋值 -= 减赋值 *= 乘赋值 /= 除赋值 %= 求余赋值 &= 按位与赋值 | = 按位或赋值 ^= 按位异或赋值 <<= 左移位赋值 >>= 右移位赋值 <> 当右操作数又是一个赋值表达式时,形成多重赋值表达式。例如: i=j=0; //结果i、j的值都为0 注意:多重赋值表达式不能出现在变量说明中。例如: int i=j=0; 是非法的。 例:有变量说明 int a=2,b; 指出下面表达式运算后a和b的结果。 b+=b=++a; 答:a为3,b为6。 <> 有时将赋值运算与比较运算结合在一起形成嵌入赋值。例如: while ((ch=getchar())!='\n'); 这条语句的含义是:等待用户按下回车键后程序向下执行。 需要注意的是: x *= y+8等价于x=x*(y+8),不等价于 x = x*y+8。 同样:z &= y-x等价于z = z & (y-x),而不等价于z = z &y -x。
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: 二级C++精品课程3-1-5:C++运算符之位运算符 下一篇文章: 二级C++精品课程3-1-7:C++运算符之求字节数运算符 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|