28若變數已正確定義並賦值符合c語言語法的表達

2021-10-17 05:13:49 字數 3620 閱讀 5222

1樓:匿名使用者

目測a、b、d都符合語法,只是a、d是ub而已……

2樓:蹣跚踏雪行

b和d為什麼是錯誤的不用解釋吧,=是賦值符,表示將右邊表示式的值賦值給左邊的變數,之前肯定是不能出現表示式的。%運算子是除法取餘數運算,只有整形才能用,18.5不是整形。

+=是複合運算子,a += 7 即a = a+7,c編譯器從右向左編譯,先計算a+7的值,然後存入a所在的地址(從新賦值a).因此a正確。

3樓:手機使用者

a,既然是變數中途肯定能在賦值的。

4樓:煙火夜空

正確答案是 b;

首先 是顯而易見的錯誤選項c跟d:

c 求餘運算(%)只對整數有效,浮點型資料(12.3)是沒有 求餘運算的。

d 賦值運算(=)的左邊只能是 變數(a),不能為 表示式(a+7)。

下面看看選項b 為什麼也符合c語言:

b 項為逗號運算子(表示式1,表示式2,...表示式n),其中最後一個表示式(表示式n)最為整個逗號運算的結果(即 b項的最後結果為 a++);而在此之前,逗號運算子會先對前面的所有表達進行編譯操作(即先執行a=7+b+c),最後才將表示式n 作為結果返回。

下面再看看 為什麼 a 不符合要求:

a 毋庸置疑,a 的寫法完全符合c語言要求,編譯絕不會出錯。但是 題目要求 卻是 “表示式”;

c語言中,語句是由 表示式 加 語句結束符(分號;)組成的。a選項中結尾含有分號,也就是說,a選項 實際上是 c語言語句,而不是表示式;b 選項沒有語句結束符,所以 b選項是 表示式,符合題目要求。

5樓:匿名使用者

一種說法是,要注意後面的表示式;

6樓:high歌

a,b正確

------------------------------------

a)略b)a=7+b+c,a++

賦值運算子後邊是逗號運算子,它的值等於最後一個表示式的值。7+b+c,a++的值為a的值,賦值給a,然後a做自加運算。

c) 求餘運算子左右兩端必須是整形數值

d) 賦值運算子左邊不能是表示式,只能是沒有const修飾符的變數。

c語言第一題:若變數已經正確定義並賦值,符合c語言語法的表示式是() a、a=a+7;b、a=7+b+c,a++ c、int(

7樓:手機使用者

a a=a+7; //不符合,這不是表示式,是語句b a=7+b+c,a++ //符合,這是逗號表示式c int(12.3%4) //不符合,12.3不能做內%運算容

d a=a+7=c+b //不符合,a+7不能做左值。

結論:c正確

若變數已正確定義並賦值,下面符合c語言語法的表示式是( )。(1分) a、a:=b+1 b、a=b=c+2 c、int 18.5%3

8樓:匿名使用者

b。a無此用法。表示式,是由數字、算符、數字分組符號(括號)、自由變數和約束變數等以能求得數值的有意義排列方法所得的組合,表示式必須要賦值給一個變數才行,故c錯。

等號左邊必須是變數,故d錯。

擴充套件資料:

1、算術表示式:

算術表示式是最常用的表示式,又稱為數值表示式。它是通過算術運算子來進行運算的數學公式。

算術運算子

1)乘法運算子 *

x*y 求x乘y的值 舉例:6*7=42

2) 除法運算子 /

x/y 求x除y的值(浮點數運算) 舉例:2.76/1.2=2.3

3)整除運算子 div

x div y 求x除y的整數商(對整型數計算) 舉例:25=5

4)取餘運算子 mod

x mod y 求x除y的餘數(對整型數運算) 舉例:25 mod 4=1

5)加法運算子 +

x+y 加法運算 舉例:32+2=34

6)減法運算子 -

x-y 減法運算 舉例:48-21=27

2、邏輯表示式

邏輯運算的結果只有兩個:true(真)和false(假)。visual basic提供了六種關係運算子和三種邏輯運算子:

=(等於)、<(小於)、<=(小於等於)、>(大於)、>=(大於等於)、<>(不等於)

not(非)、and(與)、or(或)

9樓:任國榮

a中的":="不是可識別的運算子,故錯;

b是對的,相當於:b=c+2; a=b;(賦值運算從右到左算);

c:錯的,要麼定義變數:int a=18.5%3 ; 要麼資料型別強制轉換:(int)18.5%3; int 18.5%3這就不倫不類了;

d"="號左邊是不能有表示式的,給表示式是不能賦值的,所以d錯,

10樓:飛塵_暗羽

a:明顯不可以

c:int 只是定義,而18.5%3不是一個變數d:a=a+7沒錯,但是a+7=c+b 就出現問題了,a+7不是一個變數,c+b 無法附值

b:b=c+2 ,和d一個道理是符合語法的

11樓:匿名使用者

a明顯錯誤,c是個定義,但是沒有賦值給變數d至右向左賦值b+c的值不能賦給a+7『它不是變數』

12樓:匿名使用者

a、b兩地相距300千米,某物流公司的甲乙兩輛貨車分別從a b兩地同時出發相向而行並以各自的速度勻速行駛 途徑配貨站c, 甲車1.5小時時先到達c地,乙車從b地直達a地。 此時,甲乙兩車相距30千米,並在c地用1小時配貨 ,然後按原速度開往b地 ,乙車行駛3小時時兩車相距120千米,

乙車出發多長時間,兩車相距150千米?

c語言入門題:若變數已正確定義並賦值,下面符合c語言語法的表示式是 a) a:=b+1

13樓:匿名使用者

a——c語言沒有:=這種羽凡

b——正確

c——18.5%3只運算不賦值,不光c語言,任何語言也沒這種語法d——這個還用說麼。。。你要語言自動給你解方程?

14樓:十六班七號

"a=18.5%3就對了" 糾正一下,%兩邊必須是整型

求助:若變數已正確定義並賦值,符合c語言語法的表示式是: a) a=a+7; b)a=7+b+c,a++ c)int(12.3%4)

15樓:匿名使用者

a正確;

b少了個封號。a=7+b+c,a++;這樣可以,但是寫法山寨,一般不這麼寫。

c int是用專來定義變數或強制轉換型別

屬的。強制轉換型別時應該為(int)12.3%4d 錯誤 a+7是運算式,運算式不能為左值,就是等號的左邊不能是表示式。

16樓:記住回憶

a正確 b c都不正確

1、若變數已正確定義並賦值,下面符合c語言語法的表示式是 。

17樓:聖吻之櫺

a是什麼鬼,沒見過

c 取模必須是整形

d a+7 不可以作為左值使用!!,左值必須是變數!而不是表示式

在c語言中,若變數已正確定義並賦值,則該表示式 a a

include int main void 如果如上編寫程式,則無輸出 a a 7 語句為正確的 而a 7 b c 語句為錯誤的 如果寫成a a 7 c b 同樣也會出現錯誤若改為 include int main void 則結果為 10 6 9 這種寫法相當於 a 7 c b a a 7 第一句...

若變數已經正確定義float型要通過輸入語句

輸入資料抄要同輸入語句定義襲的輸入格式配套。scanf f f f a,b,c 預設格式bai 是輸入3個數,數du與數之間 zhi用空白分隔 11.0 22.0 33.0 對的dao 11.0,22.0,33.0 錯的 它等同 scanf f f f a,b,c 如果是下面格式 scanf f,f...

以下程式段中的變數已正確定義for i 0 i4 iifor k l k3 kprintf

輸出為一個 for i 0 i 4 i i for k l k 3 k 看到這裡分號沒。其實這是一個雙重迴圈,但是迴圈語句是空的。就是說一直迴圈,除了迴圈變數變化外,其他沒有什麼變化。printf是一個單獨的語句,和迴圈沒有什麼關係。是不是打錯了,假如是這樣的話就輸出一個 啊。因為你的for後面有一...