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

2021-08-11 08:08:29 字數 3423 閱讀 3003

1樓:匿名使用者

選ab中取模右邊不是整數

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

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

2樓:吉祥二進位制

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

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

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

3樓:白木道人

選a樓上

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

b,c,d,一樓正解。

4樓:匿名使用者

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

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

正確的是x+n==1

5樓:匡起雲潘丙

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

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

6樓:匿名使用者

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

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

7樓:匿名使用者

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

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

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

8樓:

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

9樓:南坪中學校帥

可以進行連賦吧···

=操作符是右結合

a=b=c=5 就是

5賦值給c,c就等於5

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

下面同樣的道理···

10樓:

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

c語言的賦值語句可以有連續兩個等號嗎?

11樓:你愛我媽呀

可以的,c語言中賦值表示式的返回值會向左傳遞。也就是說a=2這個表示式的值為2。這時如果if(2==(a=2))那麼if的值為真。

也就是說a=b=c=3是合法的。但是a=b+2=9是不行的,因為9的值不能賦給2,它是個常量。

賦值運算子右側的值由表示式生成,而表示式則由文字、常數、變數、屬性、陣列元素、其他表示式或函式呼叫的任意組合所構成。下面的示例闡釋這一點。

12樓:匿名使用者

不可以。

一個 = 是賦值

== 是 判斷 兩個 參量 是否相等的。

13樓:歲月哪曾斑駁

是說 a=b=1這種的麼,可以的連續幾個都行,保證型別一致就行。

c語言中賦值語句,《=,&=,∧=,|=,分別是什麼意思

14樓:_____一葉障目

<=是比較符號小於等於,不是賦值號

<<=:a<<=b;//等價於a=a<算

&=:a&=b;//等價於a=a&b;&是按位與^=:a^=b;//等價於a=a^b;^是按位異或|=:a|=b;//等價於a=a|b;|是按位或

15樓:匿名使用者

a &= b;

相當於a = a&b;

同理a <<=b;

相當於a = a <

以此類推

16樓:

我見過 -> =& 沒有見過你哪表示方法

c語言 若變數均己正確定義並賦值,以下合法的c語言賦值語句是() a)x=y==5;

17樓:天雨下凡

a是正確的,a=y==5;先判斷y==5,如果y的值是5,那麼,y==5的值為真,即1,再把1賦值給版x,最後x的值為1,否則,權如果y的值不是5,是x的值為0

b不正確,%要求兩邊都是整數

c不正確,x+n不能作左值

d不正確,5是常數,不能作左值

18樓:匿名使用者

a是對的,給x賦值,值為y==5這個式子的值b的錯誤是沒有%2.5這種型別

c的錯誤是x+n只能作為右值,不能作為左值,即不能給這個式子賦值d的錯誤是不能給常量5賦值

c語言賦值

負數在計算機中用補碼錶示 執行int b 1 時,此時b的賦值過程如下 二進位制表示 0000 0000 0000 0001 正數的1 1111 1111 1111 1110 正數1取反 1111 1111 1111 1111 正數1取反加1,得到 1 此時最高位的1表示符號。但執行到a b時,a ...

C語言中賦值運算子的含義,在C語言中11種賦值運算子的具體含義,用法?

a b的意思是a a b,a和b位運算相 與 後賦給a。類似的還有 a b,a b.a b,a b,a b,a b,a b,a b,a b,跟上面的意思一樣。你儘管放心我的答案吧,我是照著教科書寫的。只聽說過 沒聽說過 在c語言中11種賦值運算子的具體含義,用法?1.六個變數 表示式的賦值 是賦值運...

C語言中的語句while scanfd dm,nEOF怎麼跳出這個while迴圈

linux系統下 需要輸入ctrl d 在windows下,也就是命令列視窗 需要輸入ctrl z在螢幕上出現 z後,再按回車即可。設計上是輸入兩次回車就退出 其實程式設計時,可以改為按某個鍵,退出迴圈的。ctrl z 再按一到兩次回車 vs要連續輸入三次 enter才行 關於c語言求精確解釋這個迴...