設有預處理命令define d 2和定義int a 10 long b 20 char a

時間 2021-05-07 19:59:02

1樓:小菜呀小菜

預處理的意思是把**中所有的d替換成2,所有d選項最終會變成2++,所以是錯誤的。

至於c,這個涉及資料的型別轉化,char會隱式的轉化成int進行計算再轉化成char。

參考

2樓:

d是錯誤的,選d。因為d是常數,不可做左值。

有以下定義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型別,不能自加

設有以下定義,則下面給出的語句中錯誤的是 int a=0; float b=1.25; char c='a'; #define d 2

9樓:青春永駐

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

10樓:風車節姑姑家

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

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

11樓:匿名使用者

a.a++正確

注意:bai++是整形變數

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

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

有#define d 2

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

12樓:匿名使用者

abc都對。語法沒錯誤。

13樓:匿名使用者

應該選a

b:雙精度浮點數

c:字元型

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

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

14樓:匿名使用者

char c = 'a' 這裡

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

內對應。

而int *p = &a; 這裡

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

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

15樓:匿名使用者

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

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

16樓:匿名使用者

我看都合法。

編譯執行都沒有問題。

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

17樓:匿名使用者

a.正確

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

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

d.正確

若有定義:int a=6,b=2;char c1='a',c2='b';則表示式a+b%5+c2-c1的值是( )。

18樓:匿名使用者

b%5 = 2,

c2 - c1 ='b'-'a' =1('b' 的ascii碼值比'a'大1),

a=6所以結果為6+2+1=9

擴充套件資料兩個表示式若被說是等值的,表示對於自由變數任意的定值,兩個表示式都會有相同的輸出,即它們代表同一個函式。

一個表示式必須是合式的。亦即,其每個算符都必須有正確的輸入數量,在正確的地方。如表示式2+3便是合式的;而表示式*2+則不是合式的,至少不是算術的一般標記方式。

19樓:

b%5 = 2,c2 - c1 ='b'-'a' =1('b' 的ascii碼值比'a'大1),所以結果為6+2+1=9

20樓:匿名使用者

原式等於6+(2對5的餘數)+98-97=6+2+1=9

C語言 預處理命令中關於檔案包含問題

建立檔案時,選擇標頭檔案選項。寫法可參照等標頭檔案。以後使用時,用include包含進去即可。新建個檔案命名為啥啥啥。h,把你的 copy進去,然後把這個檔案扔進vc的include路徑去,這個路徑和你安裝的有關,可以在工程設定中找到,找不到你就搜尋一下,和它放在一起。新建一個標頭檔案如。加上這些巨...

幾道c語言預處理命令的問題,幾道C語言預處理命令的問題

1 不能遞迴是指後面的替換文字中不能出現巨集名。巨集的引數出現無所謂 2 num被替換成2 m 1,m再替換成n 1,所以num替換為2 n 1 1,所以num是6 你是對的。1.這個巨集定義沒有遞迴。你八成還不清楚什麼叫 遞迴 吧。2.注意條件是i從1累加到8,因此是7次。第一道 這裡不是遞迴,這...

c define預處理和const常量修飾的作用有什麼區別

用define是告訴編譯器,這個是個符號,在預處理的時候,把 裡的asize全換成4,再繼續編譯工作。asize編譯完之後,在可執行程式中是完全沒有體現的,只是寫 的時候更清晰而已。用const是告訴編譯器,這是個變數,將來在記憶體裡佔據一個整數型別的空間,它的值是6。只不過,這個是const,我不...