符合c語言語法的賦值表達式
❶ 符合c語言語法的賦值表達式是: A.a=9+b+c=d+9 B.a=(9+b, c=d+9) C.a=9+b, b++, c+9 D.a=9+b++=c+9
需要首先明確
1.)賦值操作符的優先順序比「+」更低.
2.) 賦值操作符的返回值是賦值後的左操作數的值.
3.) 常量和表達式不能作為左值,不能作為左操作數(即不能放在二元運算符的左邊).
A出現9+b+c=d+9這樣的式子是不能完成賦值的,可以改為a=9+b+(c=d+9)
D的錯誤與A相同
C是三條語句,a=9+b;b++;c+9,也就是說後面的b++和c+9在這里沒有意義
B括弧中是逗號表達式,從左往右執行,返回最後一個表達式的值
❷ 符合c語言語法的賦值表達式是 A. d=9+e,e++,d+9 B. d=9+e,f=d+9 問A和B選項是否都對,請詳解
都對。
A相當於(d=9+e),e++,d+9算完括弧後是一個逗號表達式。
B相當於(d=9+e),(f=d+9)算完括弧後也是一個逗號表達式。
❸ 下面表達式中符合c語言語法的賦值表達式的是
答案是b.
a和d中都有連等,所以顯然錯誤
c選項中,賦值號右邊不能用逗號表達式,所以錯誤。
本題考點在於賦值運算規則的運用。
c語言中不允許連續在一個表達式中出現連續的賦值運算。
❹ 符合C語言語法的賦值表達式是A、d=9+e+f=d+9 B、d=9+e,f=d+9 C、d=9+e,e++,d+9 D、d=9+e++=d+7
需要首先明確
1.)賦值操作符的優先順序比「+」更低。
2.) 賦值操作符的返回值是賦值後的左操作數的值。
3.) 常量和表達式不能作為左值,不能作為左操作數(即不能放在二元運算符的左邊)。
以上3點判斷如下:
A:可以分割為兩個連續的賦值操作,連續賦值操作從右至左執行,第一個執行賦值操作左邊為(9+e+f)是表達式,錯誤。編譯器應該報錯。可以修改為d=9+e+(f=d+9)。
B:正確。
C:d+9是要干什麼?也沒有賦值。語法錯誤。
D:同A
建議寫出來編譯一下。映像會深刻些。某些教材是比較簡略的,建議查查C++
primer之類的書籍。