c語言中賦值語句的語法是怎樣的,C語言中賦值語句的語法是怎樣的

2021-09-02 07:16:47 字數 3039 閱讀 9460

1樓:小夏在深圳

賦值的語法規則就是:

資料型別 變數名 = 表示式

表示式可以理解為一個值或一個計算公式就行,表示式加一個英文符號分號就是語句。

例如:我們今天要用到的,我買了幾斤蘋果。

就可以這樣寫:

方式一:

方式二:

擴充套件資料1、c語言中,賦值運算的操作是有方向的,即將右側表示式的值(也稱為右值)賦值左側的變數,只能是標識一個特定儲存單元的變數名。

2、由於變數名只能出現在賦值運算子的左邊,因此它也被稱為左值;由於常量只能出現在賦值運算子的右邊,因此它也被稱為右值。左值可以用作右值,但右值不能用作左值。

2樓:小小小小滿滿滿

複製的:

(1)c++的賦值語句具有其他高階語言的賦值語句的功能。但不同的是: c++中的賦值號「=」是一個運算子,可以寫成

a=b=c=d;

而在其他大多數語言中賦值號不是運算子,上面的寫法是不合法的。

(2) 關於賦值表示式與賦值語句的概念。在c++中,賦值表示式可以包括在其他表示式之中,例如

if((a=b)>0) cout<<"a>0"<0"<0) cout<<"a>0"<

因為在if的條件中不能包含賦值語句。c++把賦值語句和賦值表示式區別開來,增加了表示式的種類,能實現其他語言中難以實現的功能。

3樓:

int a = 100;

int b = 200;

int sum = a + b;

c語言中賦值語句有什麼規則要求?

4樓:匿名使用者

由於在賦值符「=」右邊的表示式也可以又是一個賦值表示式, 因此,下述形式 變數=(變數=表示式); 是成立的,從而形成巢狀的情形。 其之後的一般形式為:變數=變數=…=表示式;

例如: a=b=c=d=e=5; 按照賦值運算子的右接合性,因此實際上等效於: e=5; d=e; c=d; b=c; a=b;

注意在變數說明中給變數賦初值和賦值語句的區別。 給變數賦初值是變數說明的一部分,賦初值後的變數與其後的其它同類變數之間仍必須用逗號間隔,而賦值語句則必須用分號結尾。 例如:

int a=5,b,c;

在變數說明中,不允許連續給多個變數賦初值。 如下述說明是錯誤的: int a=b=c=5 必須寫為 int a=5,b=5,c=5; 而賦值語句允許連續賦值。

注意賦值表示式和賦值語句的區別。 賦值表示式是一種表示式,它可以出現在任何允許表示式出現的地方,而賦值語句則不能。

下述語句是合法的: if((x=y+5)>0) z=x; 語句的功能是,若表示式x=y+5大於0則z=x。 下述語句是非法的:

if((x=y+5;)>0) z=x; 因為x=y+5;是語句,不能出現在表示式中。

5樓:匿名使用者

在賦值語句的使用中需要注意以下幾點:

由於在賦值符「=」右邊的表示式也可以又是一個賦值表示式, 因此,下述形式 變數=(變數=表示式); 是成立的,從而形成巢狀的情形。 其之後的一般形式為:變數=變數=…=表示式;

例如: 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;是語句,不能出現在表示式中。

6樓:

型別上 要統一;結束用分號。

7樓:南坪中學校帥

可以進行連賦吧···

=操作符是右結合

a=b=c=5 就是

5賦值給c,c就等於5

c賦值給b,b就等於c,就等於5

下面同樣的道理···

8樓:

不能進行連賦,如: a=b=c=5 這樣是錯的

c語言賦值語句

9樓:匿名使用者

選ab中取模右邊不是整數

c中賦值號左側不是一個變數

d中第二個賦值號左側不是一個變數

10樓:吉祥二進位制

c語言中通過"="運算子來實現賦值,有時候也用它來進行初始化,在c語言中初始化和賦值是完全兩個不同的概念。比如下面的**:

int a[10] = ; //這是初始化a[0] = 10; //這是賦值

初始化是一個順序點,編譯器保證每一個順序點都執行完成後,才會執行順序點後面的語句。換句話說,上面的**雖然只將a[0]初始化為0,但是編譯器會將a[1]~a[9]的元素都初始化為0後,才會執行a[0] = 10的語句。

11樓:白木道人

選a樓上

a可以是賦值語句啊(先判斷y是否等於5,並將返回值賦給x)

b,c,d,一樓正解。

12樓:匿名使用者

選da的話,正確應該為x==y==5

b的話,若x,n均為float 無法被2.5整除c的話1無法賦值給x+n

正確的是x+n==1

13樓:匡起雲潘丙

語句後面都應該有分號啊,a,b,錯了,強制轉化.的話,型別說明符和表示式都必須加括號(單個變數可以不加括號),如把(int)(x+y)寫成(int)x+y則成了把x轉換成int型之後再與y相加了。d錯了

C語言中,邏輯表示式是賦值語句時候是真還是假while(t s)ts什麼時候執行?不執行

賦值表示式的返回就是等號左邊的值,也就是說 while t s 的意思是將 s賦值給 t,然後判斷 t是真還是假。到 s 0或 s 0 的時候,這個迴圈就不成立,否則while迴圈成立。while t s 中的條件判來斷是 t s,而該表源達式bai是du一個賦值表示式,而該表示式的返回值是賦值後左...

c語言中,inta 3,b 2,c 1,為什麼賦值語句a b c 1錯誤了

賦值語句沒有錯,錯的應該是變數的說明語句 inta 3應該在變數與型別說明符間加空格以示區別 int a 3,b 2,c 1 沒有錯啊。include int main inta 3 這個連起來寫已經錯了。當然,排除你是筆誤。a b c 1,是合法的。沒有錯誤。在vs 2010中可以編譯通過。因為a...

c語言中,while語句的用法,C語言中,while語句的用法

while 迴圈括號裡只有2種值,0和非0,0表示假,非0表示真。真就進入迴圈,假就離開迴圈。這裡1就表示永真,直到迴圈體內遇到break while 迴圈的使用方法為 while condition 一條語句如果 condition 為真 true 則迴圈執行 一條語句 如果 condition ...