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

正文內(nèi)容

[工學(xué)]第5章模塊設(shè)計(更新版)

2025-02-27 11:59上一頁面

下一頁面
  

【正文】 明 ? 引用性說明格式: extern 數(shù)據(jù)類型 變量表; ? 擴(kuò)充外部變量的作用域 ? 外部變量的定義性說明與引用性說明不同 定義性說明 引用性說明 ?次數(shù): 只能 1次 可說明多次 ?位置: 所有函數(shù)之外 函數(shù)內(nèi)或函數(shù)外 ?分配內(nèi)存: 分配內(nèi)存 ,可初始化 不分配內(nèi)存 ,不可初始化 int p=1,q=5。 用 extern說明可擴(kuò)充外部變量的作用域 187。 for(i=1。 } main() { int i。 printf(main:a=%d,b=%d\n,a,b)。 ……. } char f2(int x,int y) { int i,j。 printf(“%d”,a)。 printf(enter 10 numbers:\n)。 printf(max is %d,max(a))。i++) if(mx[i]) m=x[i]。 fun(b)。 printf(input 10 numbers:\n)。i10。i10。 } 56 include void fun(int a[10]) {int i。 int i。 如果形參數(shù)組元素被改變,則實參數(shù)組也就被改變了 55數(shù)組 a中存放 10個實型數(shù)據(jù),求平均 include float aver(float b[10]) { int i。i10。} void main() { int a[10],i,m。 /*函數(shù)聲明 */ for(i=0。 for(i=0。 printf(“a=%d,b=%d\n”,a,b)。i=n。 printf(a=%1d,a)。 … } double new_style(int a,double x) { … /*函數(shù)體 */ } include long sum(int a, int b)。 printf(y=%f\n,f(x))。 … fun(1)。 } max(int x, int y) { int z。 z=xy?x:y。 if(ab) c=1。 printf(“Hello,World!\n”)。 y=temp。 – 返回語句 ? 功能:使程序控制從被調(diào)用函數(shù)返回到調(diào)用函數(shù)中,同時把返回值帶給調(diào)用函數(shù) ? 形式: – return(表達(dá)式 )。 } main() {printf(“%d”,sum(69))。 } main() { int x=3,y=5。 a=b。 printf(“n=%d\n”,n)。 scanf(“%d”,amp。 z=sum(x,y)。 在C語言中,所有函數(shù)(包括主函數(shù) main())都是平行的。 { int z。 return(z)。 int sum(int ,int )。x,amp。 ?常將一些常用的功能模塊編寫成函數(shù),以被多個程序調(diào)用 。 … } f1( ) { … f11( )。 printf(“\n the sum ix %d.”,z)。y)。 return(z)。 } ? 函數(shù)傳統(tǒng)風(fēng)格和例子 例 有參函數(shù)(傳統(tǒng)風(fēng)格) int max(x,y) { int x,y。 函數(shù)的定義 注意 : func1() { … } func2() { … } func1() { … func2() { … } … } /*嵌套定義 */ main( ) { int x,y,z。 s=a+b。 printf(“n=%d\n”,n)。 printf(swapped:\n)。 printf(a=%d,b=%d\n,a,b)。 } 例 程序運行結(jié)果是什么 ? include int sum(int n) { int i,s=0。 } main() {printf(“%d”,fun(218))。 ? 說明: – 函數(shù)中可有多個 return語句 – 在定義函數(shù)時,對函數(shù)類型的說明應(yīng)與 return語句中返回值的類型一致。 else if(xy) return 2。 m=max(a,max(b,c))。 return(c)。 scanf(%d,%d,amp。 } ?對被調(diào)用函數(shù)要求: – 必須是 已存在 的函數(shù) – 庫函數(shù) : include *.h – 用戶自定義函數(shù) : 函數(shù)聲明 ?函數(shù)聲明 – 采用函數(shù)原型方式,對被調(diào)用函數(shù)進(jìn)行說明 – 一般形式: 類型標(biāo)識符 函數(shù)名 ([參數(shù)表列 ] )。 … } double fun(int n) { … } 現(xiàn)代風(fēng)格: 不需要聲明: main() { … fun(1)。 scanf(%f,amp。 long a。 c2=factorial(b)。 } long sum(int a, int b)。 printf(“x=%d,y=%d\n”,x,y)。a[i])。 /*用數(shù)組元素作為函數(shù)的實參 */ if(x==1) printf(%d\n,a[i])。i10。 } 求 10個數(shù)中的最大數(shù) 數(shù)組名作為函數(shù)實參 用數(shù)組名作函數(shù)實參時, 形參和實參都必須是同類型的數(shù)組 ,而且都有明確的數(shù)組說明。i10。i10。i++) { if(a[i]0) a[i]=a[i]。 for(i=0。 for(i=0。i++) scanf(%d,amp。i++) printf(%d,b[i])。 printf(enter 10 numbers:\n)。 for(i=0。i++) scanf(%d,amp。 所有函數(shù)是平行關(guān)系, main函數(shù)不例外。 ……. } } a,b,c有效 x,y,i,j有效 a,d有效 m,n有效 例 不同函數(shù)中同名變量 include main() { int a,b。 b=7。i++) printf(“%ld\n,factor(i))。 } 運行結(jié)果: 1 2 6 24 120 靜態(tài)局部變量說明: ? 初始化語句只在第一次調(diào)用該函數(shù)時才執(zhí)行 ? 變量值具有可繼承性 ? 全局變量 外部變量 – 定義:在 函數(shù)外面定義的變量,可被作用域內(nèi)的所有函數(shù)直接引用 – 外部變量可用存儲類型:缺省 或 static – 說明 187。 } void plustwo() { sum+=2。 char f2(int x,int y) { int i,j。 printf(max=%d,max(a,b))。 例 外部變量用于函數(shù)之間的通信 int a=3,b=5。 auto int a,b,c。 int x=3。 } 運行結(jié)果: i=62 i值不可預(yù)知,由存儲單元當(dāng)時的狀態(tài)決定 511 main() { auto int a,s=10,p=10。 } printf(“s=%d,p=%d\n”)。 printf(“%d \n”,x)。 } 自動 變量 動態(tài)生存期(用之則建用完即撤)局部作用域 1 2 3 0 x 0 x 121釋放 main( ) { int i。 printf(“%d\n”,j)。 ++j。i++) s=s+i。在 a、b、 c都定義為外部變量。 c=a。 gy( )。 incx( )。 } x=1 x=1 y=2 y=1 x=1 y=3 寫出程序的執(zhí)行結(jié)果 靜態(tài) 動態(tài) 存儲方式 程序整個運行期間 函數(shù)調(diào)用開始至結(jié)束 生存期 編譯時賦初值, 只賦一次 每次函數(shù)調(diào)用時 賦初值 自動賦初值 0或空字符 不確定 未賦初值 靜態(tài)存儲區(qū) 動態(tài)區(qū) 存儲區(qū) 寄存器 局部變量 全局變量 作用域 定義變量的函數(shù)或復(fù)合語句內(nèi) 本文件 其它文件 ?局部變量默認(rèn)為 auto型 ?register型變量個數(shù)受限 ?局部 static變量具有 全局壽命 和 局部可見性 ?局部 static變量具有 可繼承性 ?extern不是變量定義 ,可擴(kuò)展外部變量作用域 register 局部 static auto 外部 static 外部 存儲類別 變量存儲類型 函數(shù)不能嵌套定義,但可以嵌套調(diào)用 、函數(shù)的嵌套調(diào)用與遞歸調(diào)用 –嵌套調(diào)用 ?函數(shù)的嵌套調(diào)用是指在執(zhí)行被調(diào)用函數(shù)時,被調(diào)用函數(shù)又調(diào)用了其它函數(shù)。 int i。n,amp。如果一個函數(shù)在它的函數(shù)體內(nèi),直接或間接地調(diào)用自身,則稱這個函數(shù)為 遞歸函數(shù) ,稱這種調(diào)用方式為 函數(shù)的遞歸調(diào)用 。 } main() { int m,y。 if (n=1) x=1。else部分可以缺省。 } 宏替換 宏名不能用引號括起來 ? 宏展開:形參用實參換,其它字符保留 ? 宏體及各形參外一般應(yīng)加括號 () ? 較長定義在一行寫不下,可在本行末尾使用斜杠表示要續(xù)行,注意斷開的位置 例 : define PRX printf(“Shanxi Economic \ Management University.”)。 一般寫成: define POWER(x) ((x)*(x)) 宏展開: z=((x+y)*(x+y))。 int i
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1