学科分类
目录
C语言

赋值运算符与赋值表达式

赋值运算符的作用是将常量、变量或表达式的值赋给某一个变量。表1列举了C语言中的赋值运算符及其用法。

表1 赋值运算符

运算符 运算 范例 结果
= 赋值 a=3;b=2; a=3;b=2;
+= 加等于 a=3;b=2;a+=b; a=5;b=2;
-= 减等于 a=3;b=2;a-=b; a=1;b=2;
*= 乘等于 a=3;b=2;a*=b; a=6;b=2;
/= 除等于 a=3;b=2;a/=b; a=1;b=2;
%= 模等于 a=3;b=2;a%=b; a=1;b=2;

在表1中,“=”的作用不是表示相等关系,而是进行赋值运算,即将等号右侧的值赋给等号左侧的变量。在赋值运算符的使用中,需要注意以下几个问题:

(1)在C语言中可以通过一条赋值语句对多个变量进行赋值,具体示例如下:

int x, y, z; 
x = y = z = 5;      //为三个变量同时赋值

上述代码中,一条赋值语句可以同时为变量x、y、z赋值,这是由于赋值运算符的结合性为“从右向左”,即先将5赋值给变量z,然后再把变量z的值赋值给变量y,最后把变量y的值赋值给变量x,表达式赋值完成。需要注意的是,下面的这种写法在C语言中是不可取的。

int x = y = z = 5;   //错误

(2)在表1中,除了“=”,其他的都是特殊的赋值运算符,接下来以“+=”为例,学习特殊赋值运算符的用法,示例代码如下:

int x=2;
x+=3;

上述代码中,执行代码x += 3后,x的值为5。这是因为在表达式x+=3中的执行过程为:

① 将x的值和3的执行相加。

② 将相加的结果赋值给变量x。

所以,表达式x+=3就相当于x = x + 3,先进行相加运算,在进行赋值。-=、=、/=、%=赋值运算符都可以此类推。

点击此处
隐藏目录