在巨集定義define pi3 14159中,用巨集名pi代替

2021-04-17 17:36:27 字數 2495 閱讀 5696

1樓:匿名使用者

因為巨集定義define做的是最簡單的文字替換,單純的就是把這行以後的**中,出現的pi換成3.14159這個文字(也就是字串)。

2樓:

float能有6-7有效數copy字

double能有15位

比如πbai=3.1415926535897932384626433832795

float 3.141593 如果du

顯示的更多的話就是zhi不一定的數值了daodouble 3.1415926535897

3樓:匿名使用者

答案不是數值,而是字串,至於為什麼我還不知道,所以到這來看,結果也是沒有。

4樓:匿名使用者

答案是:字串啊帥鍋。。。

5樓:匿名使用者

const double pi=3.14159;

在巨集定義 #define pi 3.14159中,用巨集名pi代替一個 a) 單精度數 b) 雙精度數 c) 常量 d) 字串

6樓:

答案是d 編譯預處理的時候,巨集名pi將被字串「3.14159「代替,這一替換過程稱為巨集

巨集的定義格式為

#define 巨集名 字串或者字元

7樓:匿名使用者

c define是定義常量的

8樓:匿名使用者

不用我說了吧,進來看看。

在巨集定義#define pi 3.1415926中,用巨集名pi代替了一個()。

9樓:那年丶人已散盡

c語言中有明確規定,巨集定義是利用#define命令,用一個指定的標識代替一個字串。對應到題目上就是#define 識別符號 字串,所以pi是識別符號,3.1415926是字串。

所以這題選b

關於c選項,如果3.1415926不在巨集函式定義中,那麼它就是一個常量,只是因為它在#define命令中,所以它是一個字串。

a選項,單精度數是指計算機表達實數近似值的一種方式,而不是隻明確的值,故錯。

d選項,雙精度數也是值計算機表達實數近似值的一種方式,而不是隻明確的值,故錯。但是和單精度數有一點區別。具體體現在數字的範圍上。

擴充套件資料

巨集是一種預處理指令,它提供了一種機制,可以用來替換源**中的字串。

1、條件編譯:

c語言中,預處理過程讀入源**,檢查包含預處理指令的語句和巨集定義,並對源**進行相應的轉換,預處理過程還會刪除程式中的註釋和多餘的空白符號。

預處理指令是以#開頭的**行,#必須是該行除了空白字元外的第一個字元。#後是指令關鍵字,在#和指令關鍵字之間允許存在若干空白字元。

2、巨集函式:

函式的呼叫是需要一定的時間和空間代價的。因為系統在呼叫函式時,需要保留"現場",即將程式要執行的指令的下一條指令的位置壓入棧,然後轉入呼叫函式去執行,呼叫完函式後再返回主調函式,恢復"現場",返回到棧裡儲存的的下一條指令的位置繼續執行。

所以函式的呼叫需要額外的時間和空間代價。

而巨集函式則不存在上述問題,巨集函式在預編譯時,同函式定義的**來替換函式名,將函式**段嵌入到當前程式,不會產生函式呼叫。

10樓:呵呵呵呵

在#define中,標準只定義了#和##兩種操作。#用來把引數轉換成字串,##則用來連線前後兩個引數,把它們變成一個字串。

執行結果如下:

11樓:奕讓端雪

寫錯了吧。pi和3之間有個空格。

#define

pi3.14159

你的巨集沒有引數,不需要代替為()

12樓:匿名使用者

我剛剛翻了《c程式設計(第三版)》,裡面對巨集的具體定義是: #define 識別符號 字串。

。。我覺得應該果斷相信書裡面的定義

13樓:無敵理工男

c語言上有明確定義,巨集定義是利用#define命令,用一個指定的標識代替一個字串。

14樓:東方箭

在巨集定義中是沒有資料型別的,只是純粹的用 3.1415926替換pi

15樓:匿名使用者

我覺得選c,它字元常量,如果真是選b,知道後回帖。

16樓:友人改變自己

我也翻了翻書《c語言程式設計(第三版)》,面對巨集的具體定義是: #define 巨集名 替換文字,其中替換文字是一個不用雙引號引起來的一串字元(字串)。

選b妥妥的。

17樓:匿名使用者

要注意一下,如果是#define 3.14159那就是常量,但是如果有雙撇號,"3.14159"那是字串

18樓:驕子

選b.在第三版c語言,p204倒數第二段有明確的強調。

在巨集定義definePI31415926中,用巨集名P

define 定義的就是個常數,沒有型別資訊的要限制型別你可以用 const type costant value例如const float pi 3.1415926ps c裡沒有字串型別 字串,常量要用const double pi 3.141592 定義 在巨集定義 define pi 3.14...

在C語言學習中什麼叫巨集定義,在C語言中巨集是什麼意思?

巨集定義是高階語言編譯器提供的常用語法,其目的是利用某一識別符號標識某個文字字串。在編寫程式時,如果程式中反覆地使用某個資料或某段程式片段,就可以考慮將這個資料或程式片段定義為巨集,然後每個出現該資料或程式片段的地方用巨集名替代,這樣做的好處是程式簡潔,可讀性好,而且當需要修改這些相同的程式片段時,...

c檔案中定義的巨集,在另c檔案中使用

直接在b.c中重新定義一下,把a中的定義複製貼上一下,簡單粗暴。或者把a中的巨集定義改寫到標頭檔案中。例如定義hong 為 1234,標頭檔案裡寫 ifndef hong define hong 1234 endif 前後兩句是保護,避免標頭檔案多次 include 時 重複定義hong 在b.c檔...