第9章 9.1宏定義_第1頁(yè)
第9章 9.1宏定義_第2頁(yè)
第9章 9.1宏定義_第3頁(yè)
第9章 9.1宏定義_第4頁(yè)
第9章 9.1宏定義_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、LOGOLOGO第9章 編譯預(yù)處理CONTENTS 目 錄提出問題 引入新課自主學(xué)習(xí) 明確考點(diǎn)案例分析 明確新知仿真演練 體驗(yàn)探索課后作業(yè) 自我提升思考1、語言中如何進(jìn)行宏定義?2、源程序中允許用一個(gè)標(biāo)識(shí)符來表示一個(gè)字符串,稱為“宏”。被定義為“宏”的標(biāo)識(shí)符稱為“宏名”。一般形式為: #define (一)、不帶參數(shù)的宏定義(二)、帶參數(shù)的宏定義 帶參數(shù)的宏定義在替換的同時(shí)還要進(jìn)行參數(shù)替換,宏定義的格式是: #define () 使用宏名的格式是:()宏替換的過程可以分解成兩步:(1)先把實(shí)際參數(shù)與形式參數(shù)從左至右一一對(duì)應(yīng),再把每個(gè)實(shí)際參數(shù)替換到字符串中對(duì)應(yīng)形式參數(shù)出現(xiàn)的位置,形成準(zhǔn)備進(jìn)行宏替

2、換的字符串。(2)把經(jīng)過第1步形成的字符串替換到程序中該宏名出現(xiàn)的位置考點(diǎn)一:函數(shù)的作用范圍#define PRICE 20 /*宏定義語句*/main()float num, sum; /*變量定義*/num=6.0;sum=num* PRICE;printf(“sum=%f”,sum); /*輸出*/#define M (y*y+3*y)main() int s,y; printf(input a number: ); scanf(%d,&y); /*輸入5*/ s=3*M+4*M+5*M; printf(s=%dn,s);#define M y*y+3*y main() int s,y;

3、 printf(input a number: ); scanf(%d,&y); /*輸入5*/ s=3*M+4*M+5*M; printf(s=%dn,s);#define MAX(a,b) (ab)?a:bmain() int x,y,max; printf(input two numbers: ); scanf(%d%d,&x,&y); max=MAX(x,y); printf(max=%dn,max);案例分析三、案例分析 交流提升#define SQ(y) (y)*(y)main() int a,sq; printf(input a number: ); scanf(%d,&a);

4、sq=SQ(a+1); printf(sq=%dn,sq);三、案例分析 交流提升【例2】、分析以下程序的運(yùn)行過程#define SQ(y) y*ymain() int a,sq; printf(input a number: ); scanf(%d,&a); sq=SQ(a+1); printf(sq=%dn,sq);仿真演練,體驗(yàn)探索仿真演練,體驗(yàn)探索long fib(int n) if(n2) return (fib(n-1)+fib(n-2); else return(2); main() printf(%dn,fib(3); #define f(x) (x*x) main() int

5、 i1, i2; i1=f(8)/f(4) ; i2=f(4+4)/f(2+2) ; printf(%d, %dn,i1,i2); A)64, 28 B)4, 4 C)4, 3 D)64, 64 #define S(x) 4*x*x+1main() int i=6,j=8; printf(%dn,S(i+j); 仿真演練,體驗(yàn)探索#define N 2#define M N+1#define K M+1*M/2main() int i;for(i=1;iK;i+) printf(“%d”,i); #include#define SQR(x) x*xmain() int a,k=3; a=+SQR(k+1); printf(“dn”,a); A)6 B)10 C)8 D)9#define MIN(x,y) (x)(y)?(x):(y) #include main() int i,j,k; i=10;j=15;k=10*MIN(i,j); printf(“dn”,k); A)15 B)100 C)10 D)150課后作業(yè) 自我提升 【1】利用帶參數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論