freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

大學c語言程序設計第二版(電子工業(yè))第6章-資料下載頁

2025-02-05 20:23本頁面
  

【正文】 第 章 ? “編譯預處理 ” 是 C語言編譯系統(tǒng)的 一個組成部分 。是在編譯前由編譯系統(tǒng)中的預處理程序對源程序的預處理命令進行加工 。 源程序中的預處理命令均以 “ ”開頭 , 結束不加分號 , 以區(qū)別源程序中的語句 , 它們可以寫在程序中的任何位置 , 作用域是自出現(xiàn)點到源程序的末尾 。 ? 預處理命令包括執(zhí)行宏定義 (宏替換 )、 包含文件和條件編譯 。 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 第 章一 .宏定義 ? 簡單宏定義 : define 宏名 串 (宏體 ) 如 : define PI /*定義后 ,可以用 PI來代替串 */ 在宏定義之后 , 該程序中宏名就代表了該字符串 。 說明 :占單獨書寫行 ?語句尾不加分號 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 第 章 ① 可以用 undef命令終止宏定義的作用域 。 例如:undef PI ② 宏定義的嵌套使用 define R define PI define L 2*PI*R /*宏體是表達式 */ define S PI*R*R main ( ) { printf (" L=%f\nS=%f\n", 2*PI*R , PI*R*R); /*2*PI*R替換 L, PI*R*R替換 S */ } t61 程序運行結果如下: L= S= ③ 雙引號內與宏同名的字母不作宏展開 . main ( ) { printf (" L=%f\nS=%f\n", L, S); } t61 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 第 章define X 5 define Y X+1 define Z Y*X/2 main ( ) {int a=Y。 printf(%d\n,Z)。 printf(%d\n,a)。 } t62 // Z=Y*X/2=5+1*5/2=7 運行結果: 7 5 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 第 章?帶參數(shù)的宏定義 define 宏名 (參數(shù)表) 字符串 define S(a,b) ((a)*(b)) 宏名被所定義的宏體替換 , 宏體中的形參按從左到右的 順序 被實參替換。 例如 : area = S (3,2)。 展開為 :area=((3)*(2)); 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 第 章 宏體及各形參外一般應加括號() 一般寫成: define POWER(x) ((x)*(x)) x=4。 y=6。 z=POWER(x+y)。 宏展開: z=((x+y)*(x+y))。 例 define POWER(x) x*x x=4。 y=6。 z=POWER(x+y)。 宏展開: z=x+y*x+y。 結果為: 100 結果為: 34 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 第 章課堂練習: include define MIN(x,y) (x)(y)? (x):(y) main() { int i,j,k。 i=10。j=15。 k=10*MIN( i,j )。 printf(%d\n,k)。} A)15 B)100 C)10 D)150 // 10*ij? ?10*1015? (10):(15) 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 第 章使用宏替換應注意的問題 (1) 宏名與宏體之間用空格相隔,宏名和參數(shù)之間不能有空格; 如有宏定義: define f (x) ((x) – 1) /*宏名 f(x)中有空格 */ (2)宏名盡管是字符串 ,但不能用引號括起來 (3) 在宏定義中結尾不能有分號” 。 ” 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 第 章(4) 宏定義中的參數(shù)盡量用圓括號括起來以免錯誤 . (5)較長的宏定義在一行中寫不下時,要在本行結尾使用反斜杠表示續(xù)行。 如: define OUTPUT printf (“This is an interesting \ program which teaches pepole how to use define \ mand”) t63 這是比較特殊的 ,因為在 C語言中一般情況下不需要有續(xù)行的標識 ,而預處理是個例外。 (6)宏定義可以寫在程序中的任何地方,但因其作用域為從定義之處到文件未尾, 所以一定要寫在程序引用該宏之前 ,通常寫在一個文件之首。 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 define MAX(x,y) (x)(y)?(x):(y) ……. main() { int a,b,c,d,t。 ……. t=MAX(a+b,c+d)。 …… } t64 宏展開: t=(a+b)(c+d)?(a+b):(c+d)。 例 用宏定義和函數(shù)實現(xiàn)同樣的功能 int max(int x,int y) { return(xy?x:y)。 } main() { int a,b,c,d,t。 ……. t=max(a+b,c+d)。 ……… } 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 第 章? 帶參的宏與函數(shù)區(qū)別 帶參宏 函數(shù) 處理過程 不分配內存 簡單的字符置換 分配內存 先求實參值 ,再代入形參 處理時間 編譯時 程序運行時 參數(shù)類型 無類型問題 定義實參 ,形參類型 程序長度 變長 不變 運行速度 不占運行時間 調用和返回占時間 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 第 章二 .文件包含 include 1. 文件包含是指一個源文件可以將另一個源文件的全部內容包含進來 。 庫文件 、 用戶編寫的源文件 2. include命令有兩種格式 。 (1) include 文件名 (2) include “文件名 ” 直接按標準目錄搜索 “” 先在當前目錄搜索,再搜索標準目錄 可指定路徑 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 第 章include “” A B A 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 第 章include includec:\” int a=3。 main() { int power(int n)。 int b=3,c,d,m=4。 c=a*b。 printf(%d*%d=%d\n,a,b,c)。 d=power(m)。 printf(%d**%d=%d\n,a,m,d)。 } extern int a。 int power(int n) { int i,y=1。 for(i=1。i=n。i++) y*=a。 return(y)。 } 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 第 章三 .條件編譯 , 有以下幾種形式: (1)# if 常量表達式 程序段 endif 功能 :常量表達式為非0時,程序段被編譯。否則,程序段不被編譯。 (2)# if 常量表達式 程序段1 # else 程序段2 endif 功能 :常量表達式為非0 , 程序段1被編譯 。 否則 , 編譯程序段2 。 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 條件編譯舉例: define inttag 1 Main( ) {int ch。 scanf(“%d”,ch)。 if inttag printf(“%d”,ch)。 else printf(“%c”,ch)。 endif } 編譯成: main( ) {int ch。 scanf(“%d”,ch)。 printf(“%d”,ch)。 } 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 ? /* n13317a */ ? include ? define f(x) x*x ? main() ? { int a=6,b=2。 ? int c1,c2,c3,c4,c5,c6,c7。 ? c1=f(a)+f(b)。 ? c2=f(a)f(b)。 ? c3=f(a)*f(b)。 ? c4=f(a)/f(b)。 ? c5=(f(a))/f(b)。 ? c6=f(a)/(f(b))。 ? c7=(f(a))/(f(b))。 ? printf(a1= %d\n, f(a) )。 ? printf(b1= %d\n, f(b) )。 ? printf(c1=%d,c2=%d,c3=%d,c4=%d\n, c1,c2,c3,c4)。 ? printf(c5=%d,c6=%d,c7=%d\n, c5,c6,c7)。 ? } 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 /* n13424 */ include define SUB(X,Y) (X)*Y main() { int a=3,b=4。 printf(%d\n, SUB(a++,b++) )。 printf(a=%d,b=%d\n, a,b)。 } 大學 C/C++語言程序設計 第 6章 函數(shù)與編譯預處理 /* n137二 9. */ include define S(x) (x)*x*2 main() { int k=5,j=2。 printf( z1= %d\n,S(k+j) ) 。 // 39 printf( z2= %d\n,S((kj)) ) 。 //18 printf( z3= %d\n,S(kj) ) 。 //11 } 大學 C/C++語言程序設計 第
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1