理论教育 C语言中的赋值运算及表达式

C语言中的赋值运算及表达式

时间:2023-10-20 理论教育 版权反馈
【摘要】:其含义是,先求出表达式的值,然后将此值送入变量对应的存储单元,整个赋值表达式的值就是变量的值。“++x;”与“x++;”和“--x;”与“x--;”等价的前提是,它们本身是单独的表达式语句。②自增自减运算符只能用于变量,不能用于常量和表达式。

C语言中的赋值运算及表达式

1.赋值运算

最基本的赋值运算符是“=”,由赋值运算符组成的表达式称为赋值表达式。其一般形式为:变量=表达式。

其含义是,先求出表达式的值,然后将此值送入变量对应的存储单元,整个赋值表达式的值就是变量的值。如:

但请注意,赋值名的左部(赋值目标)必须是变量,不能是函数或常量,否则是错误的。如:j=5+3、u=a+b、f=a*b+5都是正确的赋值(假定变量a、b、f、u、j已定义),但如7=8这样的赋值就不行。

2.复合赋值

赋值表达式有一种变形,称为复合赋值,它简化了一定类型的赋值操作的编码。例如,语句“x=x+10;”可以改写成“x+=10;”。类似的还有-=、*=、/=、%=,它们的使用方法完全一样,

例如:b-=9*x等价于b=b-9*x;   y*=x+12等价于y=y*(x+12);

3.自增和自减

C语言包括其他语言一般不支持的两种非常实用的操作,即增量操作符“++”和减量操作符“--”。操作符“++”的功能是使操作数增加一个单位,操作符“--”的功能是使操作数减一个单位。也就是说,“x=x+1;”与“++x;”一样,“x=x-1;”与“x--;”完全一样。

增量和减量操作符都能放到操作数前面,也可放到操作数后面。“++x;”与“x++;”和“--x;”与“x--;”等价的前提是,它们本身是单独的表达式语句。但是,如果它们是表达式的一部分,则增量操作符和减量操作符置前置后是截然不同的。增/减操作符位于操作数之前时,C语言是先执行增/减操作,然后才使用操作数的值;如果操作符置在操作数后面,则C语言是先使用操作数的值,然后相应增/减操作数的内容。(www.daowen.com)

例如:x=10;y=++x;x的值先增1,变成11,然后将x的值11置给y,y的值也为11。当写成:x=10;y=x++;时,先引用x的值10,并将10赋给y,此时y的值为10,而后x的值才增量,变成11。这两种情况下,x的值最终都变成了11,但是它们发生变化的时间不同,所以导致了y的结果不同。“--”用法亦然。

【例2.10】自增与自减的使用方法。

程序如下:

运行结果:

a=4 b=5 c=15

a=5 b=5 c=25

提示:

①运算符++、--在算术运算符中的优先级最高。

②自增自减运算符只能用于变量,不能用于常量和表达式。例如,语句9++;是非法的C语言表达式,没有任何意义。作为常数9,它是不能存储其自身增1后的值的,因为它不是变量,也就没有被分配相应的内存单元。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈