二级C 精品课程3-1-6:C 运算符之赋值运算符

文章作者 100test 发表时间 2007:04:06 21:30:03
来源 100Test.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-2:优先级和结合性
二级C 精品课程3-1-7:C 运算符之逗号运算符
二级C 精品课程3-1-7:C 运算符之条件运算符
二级C 精品课程3-1-7:C 运算符之求字节数运算符
二级C 精品课程3-1-6:C 运算符之赋值运算符
二级C 精品课程3-1-5:C 运算符之位运算符
二级C 精品课程3-1-4:C 运算符之逻辑运算符
二级C 精品课程3-1-2:C 运算符之关系运算符
二级C 精品课程3-1-2:C 运算符之自增、自减运算符
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛