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檔...