基礎(chǔ)的宏的學(xué)習(xí)

宏的學(xué)習(xí)


宏的基本概念

#define命令是C語(yǔ)言中的一個(gè)宏定義命令,它用來(lái)將一個(gè)標(biāo)識(shí)符定義為一個(gè)字符串,該標(biāo)識(shí)符被稱為宏名,被定義的字符串稱為替換文本。該命令有兩種格式:一種是簡(jiǎn)單的宏定義,另一種是帶參數(shù)的宏定義。

  • (1) 無(wú)參數(shù)宏定義:
    #define <宏名>  <字符串>
    例: #define PI 3.1415926

  • (2) 帶參數(shù)的宏定義
    #define <宏名> (<參數(shù)表>) <宏體>
    例: #define A(x) x

+(3)用于條件編譯:
(常用形式) #ifndef _AAA_H #define _AAA_H

找到了一篇講的很好的宏定義#define的用法的文章

宏定義中容易出錯(cuò)的問(wèn)題

  • 標(biāo)識(shí)符的命名必須合法
  • 標(biāo)識(shí)符應(yīng)當(dāng)有足夠清楚的名字以方便閱讀代碼
  • 宏所帶表的是宏體中的整體,而不是宏體所計(jì)算出的值,所以我們應(yīng)該注意在編譯之后所出現(xiàn)的運(yùn)算順序問(wèn)題,一般解決辦法是打括號(hào)
    *但是當(dāng)括號(hào)的數(shù)量過(guò)大,就容易多或少(尤其是沒(méi)有自動(dòng)檢查的IDE)

任務(wù)

#define N(x,y) ( (x/y)*y ) //第一三題同一解
#define M(x,y) ( ((x/y)+1)*y )//第二四題同一解

確實(shí)沒(méi)有知道在本題中優(yōu)化算法可以用在哪,算2^n倒是可以用二分法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容