設有以下定義,則下面給出的語句中錯誤的是int a 0 float b 1 25 char c Adefine d

2021-04-30 15:14:42 字數 3722 閱讀 1312

1樓:青春永駐

c是錯誤的,因為a+b是常量了,

2樓:風車節姑姑家

選c,是因為增一減一是一元運算子,只需要一個運算元,而這種運算元必須是變數,不能是常數或者是表示式。而c答案(a+b)就是表示式了

有以下定義int a=0; double b=1.25; char c=』a』; #define d 2下語句中錯誤的是a)a++; b)b++ c)c++d d++

3樓:匿名使用者

d錯誤。

int,float,double和char都可以進行後自增操作,d是#define的常量,執行d++等價於

2++,常量不可以自增,是錯誤的。

4樓:匿名使用者

哥們。這是倆個執行結果

答案不一定是對的

#include

int a=0;

double b=1.25;

char c='a';

#define d 2

int main(int argc, char* argv)

5樓:匿名使用者

答案是錯的哇,double和float型別能進行自加運算...那abc都是可以自增的,那個d就不行, #define d 2說明d代表了2,不能改變,要改變只能只定義的時候去改

6樓:

double和float型別不能進行自加運算...

7樓:

d是錯誤的!#define d 2說明的d=2是常數,在這個程式中是不能變更的!

8樓:胖胖丶不胖

是b啊~~

a++=1;

c++=『b』;

d++=3;

b是double型別,不能自加

c語言: 、設有以下定義:int a=0;double b=1.25;char c=』a』;#de

9樓:匿名使用者

a.a++正確

注意:bai++是整形變數

du(int)或者指zhi針變數(*p)專用的運算子,dao其它型別變數不可回用

要想表達相關的可以這答麼寫(有』+『、』-『和數字或對應型別的變數、常量)c=c+1、c=c+'b'-'b'

有#define d 2

則d是個常量,d++;為變數運算,形式錯誤

10樓:匿名使用者

abc都對。語法沒錯誤。

11樓:匿名使用者

應該選a

b:雙精度浮點數

c:字元型

d:巨集定義,值不能改變

若有以下定義,則錯誤的賦值語句是 int a,b;float x; a、a=x; b、b=5; c、x=b; d、b=int(x)

12樓:匿名使用者

ac在編譯的bai時候都是警告du...不知道跟編譯zhi器是不是有關係.....是自動轉換的dao那內些東西吧.....複製了一段...希望容

對你有幫助

自動轉換髮生在不同資料型別的量混合運算時,由編譯系統自動完成。自動轉換遵循以下規則:

1.若參與運算量的型別不同,則先轉換成同一型別,然後進行運算。

2.轉換按資料長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量轉成long型後再進行運算。

3.所有的浮點運算都是以雙精度進行的,即使僅含float單精度量運算的表示式,也要先轉換成double型,再作運算。

4.char型和short型參與運算時,必須先轉換成int型。

5.在賦值運算中,賦值號兩邊量的資料型別不同時, 賦值號右邊量的型別將轉換為左邊量的型別。 如果右邊量的資料型別長度左邊長時,將丟失一部分資料,這樣會降低精度, 丟失的部分按四捨五入向前舍入。

13樓:

全部語法都是正確的,出題的可能大意了。實在要選一個的話,選擇 a、a=x;因此x賦給b時,會失去小數部分的值。

14樓:匿名使用者

若有bai以下定義,則du錯誤的賦值語句是int a,b;

zhifloat x;

a、a=x;

b、b=5;

c、x=b;

d、b=int(x)

選擇d,我編譯

dao過了雖然d可以編譯通過

但是int()

這個表示的是一個函式,但是int不可能是函式如果想強制取整的話

b=(int)x//是要這麼寫的

15樓:匿名使用者

選擇a、d a 、 d的寫法不來

規範,可源能會喪失小bai數點後面的值;du

d的 賦值語句不是這麼zhi寫的 若要真的把x的值賦dao給b 要這麼寫: b=convert.toint32(x);

24. 設有定義以下不合法的運算是( a ).

16樓:匿名使用者

char c = 'a' 這裡

baic是一個字元變du量,c--,是減的字元對zhi應的ascii值,減dao1之後,仍然有相應的字元與之

內對應。

而int *p = &a; 這裡

容p是指向整形的指標。而p++訪問的是,整形a後面的那個整形。但由於a不是整形陣列,所以a後面的四個位元組是未知的。

如果int a[10]; int *p = a;那麼p++是合理的。

17樓:匿名使用者

a選項:*p=&a;p指標本身沒有賦值,而是p指標指向內容賦值了,如果p++,那麼p指標不知專指向**去了屬

。d選項:char c='a';c內容是被賦予了字元a的ascii碼值十進位制的65,那麼c--就是十進位制64,相當於是ascii碼錶中的'@'。

18樓:匿名使用者

我看都合法。

編譯執行都沒有問題。

以下定義語句中正確的( )。 a char c1='a',c2='b'; b int a=b=10; c float a=1.2 ; b=2.3; d double a,b;

19樓:匿名使用者

a.正確

b.變數定義不支援連等形式語句

c.變數a定義後面用分號分隔變數b,導致b沒有變數型別說明,不是變數定義語句

d.正確

若有以下定義int a,b; float x,則正確的賦值語句是 。 a、 a=1,b=2 b、 b++; c、 a=b=5 d、 b=int(x);

20樓:冷暖自知飛翔吧

解析:a--b為char字元型,賦值時需要單引號將字元括起來,即b=』2』

b--b++相當於b=b+1,為賦值語句

21樓:匿名使用者

答案ab: b++不是賦值語句 賦值語句要求有 =c: 沒分號, 不允許連續給多個變數賦初值。

如下述說明是錯誤的: int a=b=c=5 必須寫為 int a=5,b=5,c=5; 而賦值語句允許連續賦值, 如 int a,b; a=b=5;

d: 應該為

b=(int)x

設有如下定義 char aa 2abcdABCD則以下說法中正確

正確答案是c。因為aa陣列本身就是指向字元的指標陣列。應該選d 這種定義方式 char aa 2 定義的是一個指標陣列,陣列的成員是字元指標。在這裡,陣列中的兩個字元指標,分別指向了常量字串 abcd 和 abcd 換句話說,這兩個指標的值就是這兩個字串的首地址。a.陣列中元素的值不是字串,而是字串...

若有以下定義,則陣列元素a的值是int a31,23,2,44,5,61,

a 2 2 6。在c語言中,a 常量1 常量2 常量1可以沒有,但是常量2必須有。在編譯器進行編譯時,會有這兩種情況,下面分別說明。1 若指定了 常量1 常量2的值,為了方便說明,先假設常量1 2 常量2 2,那麼a 0 a 1 例如,a 2 2 那麼a 0 a 1 2 若常量1沒有時,會按照常量2...

22有以下定義語句編譯時會出現編譯錯誤的是

22.char a aa a是字元變數,只能儲存一個字元!23.c 列印字元 d 列印整數,至於是什麼值,請對照ascii表檢視!33.答案 a。但樓上解釋均有誤!void pf 定義函式指標pf,指向返回值為void的函式,引數任意 pf fun 正確!pf fun 正確!c照樣認可這種寫法,只是...