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

正文內(nèi)容

模塊化程序設(shè)計-資料下載頁

2025-09-25 18:23本頁面
  

【正文】 程序其它文件中的函數(shù)調(diào)用,這種函 數(shù)稱為內(nèi)部函數(shù),也稱為 靜態(tài)函數(shù) 。 定義形式: static 類型說明符 函數(shù)名 (形參表 ); 此處 static指該函數(shù)的使用范圍只局限于本文件那 么不同文件中的同名內(nèi)部函數(shù)不會產(chǎn)生沖突。 56 注意: 1. 如在函數(shù)定義中沒有說明 extern或 static則隱含為extern。 2. 在一個文件的函數(shù)中調(diào)用其它文件中定義的外部函數(shù)時,應(yīng)使用 extern說明被調(diào)函數(shù)為外部函數(shù) 。 如: (文件一 ) main() { extern int f1(int i)。 /*外部函數(shù)說明,表示 f1函數(shù)在其它文件中 */ … } (文件二 ) extern int f1(int i)。 /*外部函數(shù)定義 */ {…} 語言程序設(shè)計 第五章模塊化程序設(shè)計 C 外部函數(shù) 在整個源程序中都有效的函數(shù)稱為外部函數(shù)。 定義形式: extern 類型說明符 函數(shù)名 (形參表 ); 57 作用: 對源程序編譯之前做一些處理 ,生成擴展 C源程序 種類 宏定義 define 文件包含 include 條件編譯 ifelseendif等 格式: “ ”開頭 占單獨書寫行 語句尾不加分號 語言程序設(shè)計 第五章模塊化程序設(shè)計 C 58 文件包含 功能 : 使一個源文件將另一個源文件的內(nèi)容全部包含進來。 一般形式 : include “文件名 ” 或 include 文件名 區(qū)別: 前者表示先在當前的源文件目錄中查找,若未找到 才到包含目錄中去查找;使用尖括號則表示在包含文件目 錄中去查找。 處理過程: 預(yù)編譯時 ,用被包含文件的內(nèi)容取代該預(yù)處理命 令,再對“包含”后的文件作為一個源文件編譯。 include “” B A B A 語言程序設(shè)計 第五章模塊化程序設(shè)計 C 59 宏定義 –不帶參數(shù)宏定義 ? 一般形式: define 宏名 [宏體 ] ? 功能 :用指定標識符 (宏名 )代替字符序列 (宏體 ) ? 宏展開:預(yù)編譯時 ,用宏體替換宏名 不作語法檢查 如 define YES 1 define NO 0 define PI define OUT printf(“Hello,World”)。 宏體可缺省 ,表示宏名 定義過或取消宏體 ? 定義位置 :任意 (一般在函數(shù)外面 ) ? 作用域 :從定義命令到文件結(jié)束 ? 宏定義可嵌套,不能遞歸 例 define MAX MAX+10 (?) ? 引號中的內(nèi)容與宏名相同也不置換 例 define PI printf(“2*PI=%f\n”,PI*2)。 宏展開: printf(“2*PI=%f\n”,*2)。 ? 宏定義中使用必要的括號 () 例 define WIDTH 80 define LENGTH WIDTH+40 var=LENGTH*2。 宏展開: var= 80+40 *2。 (WIDTH+40 ) ( ) 例 define WIDTH 80 define LENGTH WIDTH+40 var=LENGTH*2。 宏展開: var= 80+40 *2。 語言程序設(shè)計 第五章模塊化程序設(shè)計 C 如 if(x==YES) printf(“correct!\n”)。 else if (x==NO) printf(“error!\n”)。 展開后: if(x==1) printf(“correct!\n”)。 else if (x==0) printf(“error!\n”)。 60 –帶參數(shù)宏定義 ? 一般形式: define 宏名 (參數(shù)表 ) 宏體 例 define S (r) PI*r*r 相當于定義了不帶參宏 S,代表字符串“ (r) PI*r*r” ? 宏展開: 形參用實參換,其它字符保留 ? 宏體及各形參外一般應(yīng)加括號 () 例 define S(a,b) a*b ……….. area=S(3,2)。 宏展開 : area=3*2。 不能加空格 例 define POWER(x) x*x x=4。 y=6。 z=POWER(x+y)。 宏展開: z=x+y*x+y。 一般寫成: define POWER(x) ((x)*(x)) 宏展開: z=((x+y)*(x+y))。 語言程序設(shè)計 第五章模塊化程序設(shè)計 C 61 條件編譯 條件編譯指令 可以限定程序中的某些內(nèi)容要在滿足一定 的條件下 參與編譯 ,以產(chǎn)生不同的目標代碼。 語言程序設(shè)計 第五章模塊化程序設(shè)計 C 形式一: if 常量表達式 程序段 endif 說明: 當“常量表達式”非零時編譯“程序段” 。 62 形式二: if 常量表達式 程序段 1 else 程序段 2 endif 說明: 當“常量表達式”非零時編譯“程序段 1” , 否則 編譯“程序段 2” 。 語言程序設(shè)計 第五章模塊化程序設(shè)計 C 63 語言程序設(shè)計 第五章模塊化程序設(shè)計 C 形式三 if 常量表達式 1 程序段 1 elif常量表達式 2 程序段 2 ? elif常量表達式 n 程序段 n else 程序段 n+1 endif 說明: 類似流程控制的 else if語句結(jié)構(gòu)。 64 形式四 ifdef 標識符 程序段 1 else 程序段 2 endif 說明: 如果“標識符”經(jīng) define定義過,并且未經(jīng) undef刪除,則編譯“程序段 1” ,否則編譯“程序段 2” ;如果沒有程序段 2,則 else可以省略為: ifdef 標識符 程序段 1 endif 語言程序設(shè)計 第五章模塊化程序設(shè)計 C 65 語言程序設(shè)計 第五章模塊化程序設(shè)計 C 形式五 ifndef 標識符 程序段 1 else 程序段 2 endif 說明: 如果“標識符”未經(jīng) define定義過,或者被定義過,但已經(jīng)將 undef刪除 ,則編譯“程序段 1” ,否則編譯“程序段 2” ;如果沒有程序段 2,則 else可以省略為: ifndef 標識符 程序段 1 endif 66 語言程序設(shè)計 第五章模塊化程序設(shè)計 C 例 include define TRUE 1 define MAX(X,Y) (X=Y?X:Y) define MIN(X,Y) (X=Y?X:Y) main() { int a,b,s,flag=0。 printf(Please enter 3 bers:(a,b,c))。 scanf(%d,%d,%d,amp。a,amp。b,amp。flag)。 s=MIN(a,b)。 printf(MIN(%d,%d=%d)\n,a,b,s)。 s=MAX(a,b)。 printf(MAX(%d,%d)=%d\n,a,b,s)。 printf(NO result!\n)。 } define TRUE 1 define MAX(X,Y) (X=Y?X:Y) define MIN(X,Y) (X=Y?X:Y) main() { int a,b,s,flag=0。 printf(Please enter 3 numbers:(a,b,c))。 scanf(%d,%d,%d,amp。a,amp。b,amp。flag)。 if flag s=MAX(a,b)。 else s=MIN(a,b)。 endif if TRUE s=MAX(a,b)。 else s=MIN(a,b)。 endif undef TRUE ifdef TRUE printf(The resust is %d\n,s)。 else printf(NO result!\n)。 endif } 67 例 驗證歌德巴赫猜想:任何大于 2的偶數(shù)均可表示為兩個質(zhì)數(shù)的和。例如 4=2+2(特例,僅此一個), 6=3+3,8=3+5, … 。程序要求輸入任一偶數(shù),輸出 6到該數(shù)范圍內(nèi)的各個滿足條件的組合。 函數(shù)綜合應(yīng)用舉例 語言程序設(shè)計 第五章模塊化程序設(shè)計 C 6=3+3 8=3+5 10=3+7 12=5+7 14=3+11 16=3+13 18=5+13 20=3+17 22=3+19 24=5+19 68 分析: ( 1)判斷質(zhì)數(shù) 質(zhì)數(shù)是指除了 1和它本身外沒有其它因子的整數(shù)。一般用窮舉法,從 2至該數(shù)的平方根之間逐一進行比較,如其中有一個數(shù)是該數(shù)的因子就不是質(zhì)數(shù),否則便是質(zhì)數(shù); ( 2)驗證歌德巴赫猜想 對一個偶數(shù),分解為兩個質(zhì)數(shù)的和,即 n=a+b。方法是從找最小的質(zhì)數(shù) a為 3開始(因為 2是偶數(shù),另一個必定是偶數(shù),不可能是質(zhì)數(shù)),判斷 b=na是否是質(zhì)數(shù),若 b也是質(zhì)數(shù),則 n符合要求;否則,找下一個質(zhì)數(shù) a,再判斷 b。 語言程序設(shè)計 第五章模塊化程序設(shè)計 C 6=3+3 8=3+5 10=3+7 12=5+7 14=3+11 16=3+13 18=5+13 20=3+17 22=3+19 24=5+19 69 main() { int n,x,a,b。
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1