牛骨文教育服务平台(让学习变的简单)

2.C语言赋值语句详解

赋值语句是由赋值表达式再加上分号构成的表达式语句。其一般形式为:
    变量=表达式;
赋值语句的功能和特点都与赋值表达式相同。 它是程序中使用最多的语句之一。

在赋值语句的使用中需要注意以下几点。

1) 由于在赋值符“=”右边的表达式也可以又是一个赋值表达式。因此,下述形式
    变量=(变量=表达式);
是成立的,从而形成嵌套的情形。

其展开之后的一般形式为:
    变量=变量=…=表达式;

例如:

a=b=c=d=e=5;

按照赋值运算符的右接合性,因此实际上等效于:

e=5;
d=e;
c=d;
b=c;
a=b;

2) 注意在变量说明中给变量赋初值和赋值语句的区别。
给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。例如:

int a=5,b,c;

3) 在变量说明中,不允许连续给多个变量赋初值。如下述说明是错误的:

int a=b=c=5;

必须写为

int a=5,b=5,c=5;

而赋值语句允许连续赋值。

4) 注意赋值表达式和赋值语句的区别。
赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。下述语句是合法的:

if((x=y+5)>0) z=x;

语句的功能是,若表达式x=y+5大于0则z=x。

下述语句是非法的:

if((x=y+5;)>0) z=x;

因为x=y+5;是语句,不能出现在表达式中。