C語言中賦值語句有什么規則要求
在賦值語句的使用中需要注意以下幾點: 由于在賦值符“=”右邊的表達式也可以又是一個賦值表達式, 因此,下述形式 變量=(變量=表達式); 是成立的,從而形成嵌套的情形。
其展開之后的一般形式為:變量=變量=…=表達式;例如: 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;是語句,不能出現在表達式中。
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. 注意賦值表達式和賦值語句的區別。 賦值表達式是一種表達式,它可以出現在任何允許表達式出現的地方,而賦值語句則不能。
A)x=y==5; // 正確,x=y==5等價于x=(y==5), ==號是判斷兩端是否相等,若右邊等于左邊,則y==5表達式的值為1,若不等,則為0,假如相等,就等于說把1賦值給了x,若不等就是說把0賦值給x.=號是賦值,右邊的值給左邊,==是判斷,右邊是否等于左邊.==的優先級高于=,故先算==再=.故x=y==5同等于 x=(y==5);B)x=n%2.5;//錯誤,%是模除符號,就是求余數用的,用這個符號,兩邊必須是整型,說白了兩邊都得是整數,不能是小數.C)x=n=1//很明顯,缺少分號,一個語句的最基本要求就是,以分號結束.如果做為一個表達式是合法的,x=n=1同等于 x=1,n=1;D)x=5=4=1;//錯誤,賦值的最基本要求,被賦值的一定是變量,不能是常量,也就是說左邊是變量,右邊可以是常量,或者已經被賦值的變量, 因為5 4 都不是變量,故錯誤.。
c語言賦值語句
復制的:
(1)C++的賦值語句具有其他高級語言的賦值語句的功能?但不同的是: C++中的賦值號“=”是一個運算符,可以寫成
a=b=c=d;
而在其他大多數語言中賦值號不是運算符,上面的寫法是不合法的?
(2) 關于賦值表達式與賦值語句的概念?在C++中,賦值表達式可以包括在其他表達式之中,例如
if((a=b)>0) cout0"按語法規定if后面的( )內是一個條件?現在在x的位置上換上一個賦值表達式“a=b”,其作用是:先進行賦值運算(將b的值賦給a),然后判斷a是否大于0,如大于0,執行cout0"if((a=b;)>0) cout0"因為在if的條件中不能包含賦值語句?C++把賦值語句和賦值表達式區別開來,增加了表達式的種類,能實現其他語言中難以實現的功能?
請采納。