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

正文內(nèi)容

[工學(xué)]第5章模塊設(shè)計(jì)(已修改)

2025-01-31 11:59 本頁(yè)面
 

【正文】 第 5章 模塊設(shè)計(jì) 函數(shù)式的程序 結(jié)構(gòu) ?有且只能有一個(gè)名為 main的主函數(shù) ?C程序的執(zhí)行總是 從 main函數(shù)開(kāi)始,在 main中結(jié)束 ?函數(shù)不能嵌套定義 ,可以嵌套調(diào)用 ?較大的程序一般分為若干個(gè)程序模塊 。每個(gè)模塊實(shí)現(xiàn)一個(gè)特定的功能。 ?常將一些常用的功能模塊編寫(xiě)成函數(shù),以被多個(gè)程序調(diào)用 。 main( ) { … f1( )。 … f2( )。 … } f1( ) { … f11( )。 … } f2( ) { … f21( )。 … f22( )。 … } f11( ) { … } f21( ) { … } f22( ) { … } main( ) f1( ) f2( ) f11( ) f21( ) f22( ) 例 51求兩個(gè)整數(shù)的和 include main() { int x,y,z。 scanf(“%d,%d”,amp。x,amp。y)。 z=x+y。 printf(“\n the sum ix %d.”,z)。 } int sum(int a,int b) { int s。 s=a+b。 return s。 } main( ) { int x,y,z。 int sum(int ,int )。 scanf(“%d,%d”,amp。x,amp。y)。 z=sum(x,y)。 printf(“\n the sum is %d.”,z)。 } ? 從用戶(hù)角度 –標(biāo)準(zhǔn)函數(shù)(庫(kù)函數(shù)):由系統(tǒng)提供 –用戶(hù)自定義函數(shù) ? 從參數(shù)形式 –無(wú)參函數(shù) –有參函數(shù) ? 從返回值角度 –有返回值函數(shù) :return –無(wú)返回值函數(shù) : void 使用 庫(kù)函數(shù) 應(yīng)注意: 函數(shù)功能 函數(shù)參數(shù)的數(shù)目和順序,及各參數(shù)意義和類(lèi)型 函數(shù)返回值意義和類(lèi)型 需要使用的包含文件 函數(shù)分類(lèi) 類(lèi)型標(biāo)識(shí)符 函數(shù)名 ( [參數(shù)說(shuō)明部分 ]) { 說(shuō)明部分 語(yǔ)句部分 } 現(xiàn)代風(fēng)格 : ( ANSI C格式) –一般形式 用戶(hù)定義的合法標(biāo)識(shí)符 函數(shù)返回值類(lèi)型 缺省 int型 無(wú)返回值 void 函數(shù)體 例 有參函數(shù)(現(xiàn)代風(fēng)格) int max(int x,int y) { int z。 z=xy?x:y。 return(z)。 } 例 有參函數(shù)(現(xiàn)代風(fēng)格) int max(int x, y) { int z。 z=xy?x:y。 return(z)。 } 例 空函數(shù) dummy( ) { } 函數(shù)體為空 例 無(wú)參函數(shù) printstar( ) { printf(“**********\n”)。 } 或 printstar(void ) { printf(“**********\n”)。 } 函數(shù)的定義 可選項(xiàng) 一般形式為: 類(lèi)型標(biāo)識(shí)符 參數(shù) {,類(lèi)型標(biāo)識(shí)符 參數(shù) } 類(lèi)型標(biāo)識(shí)符 函數(shù)名 ( 形參表 ) 形參類(lèi)型說(shuō)明 { 說(shuō)明部分 語(yǔ)句部分 } 傳統(tǒng)風(fēng)格 : (Kamp。R格式 ) 例 有參函數(shù)(傳統(tǒng)風(fēng)格) int max(x,y) int x,y。 { int z。 z=xy?x:y。 return(z)。 } ? 函數(shù)傳統(tǒng)風(fēng)格和例子 例 有參函數(shù)(傳統(tǒng)風(fēng)格) int max(x,y) { int x,y。 int z。 z=xy?x:y。 return(z)。 } 函數(shù)的定義 – 函數(shù)定義不允許嵌套 。 在C語(yǔ)言中,所有函數(shù)(包括主函數(shù) main())都是平行的。一個(gè)函數(shù)的定義,可以放在程序中的任意位置,主函數(shù) main()之前或之后。但在一個(gè)函數(shù)的函數(shù)體內(nèi),不能再定義另一個(gè)函數(shù),即不能嵌套定義。 函數(shù)的定義 注意 : func1() { … } func2() { … } func1() { … func2() { … } … } /*嵌套定義 */ main( ) { int x,y,z。 int sum(int ,int )。 scanf(“%d,%d”,amp。x,amp。y)。 z=sum(x,y)。 printf(“\n the sum is %d.”,z)。 } int sum(int a,int b) { int s。 s=a+b。 return s。 } p116例 – 形參與實(shí)參 ?形式參數(shù):定義函數(shù)時(shí)函數(shù)名后面括號(hào)中的變量名 ?實(shí)際參數(shù):調(diào)用函數(shù)時(shí)函數(shù)名后面括號(hào)中的表達(dá)式 – C語(yǔ)言的參數(shù)傳遞規(guī)則是按值傳遞 ?方式:函數(shù)調(diào)用時(shí),為形參分配單元,并將實(shí)參的值復(fù)制 到形參中;調(diào)用結(jié)束,形參單元被釋放,實(shí)參單元仍保留并維持原值 ?特點(diǎn): – 形參與實(shí)參占用 不同 的內(nèi)存單元 – 單向 傳遞 – 實(shí)參和形參在數(shù)量上、類(lèi)型上、順序上嚴(yán)格一致。 函數(shù)的參數(shù) 例 52 include main() { int n。 printf(“Input number:”)。 scanf(“%d”,amp。n)。 s(n)。 printf(“n=%d\n”,n)。 } int s(int n) { int i。 for(i=n1。i=1。i) n=n+i。 printf(“n=%d\n”,n)。 } 運(yùn)行結(jié)果: Input number: 100 n=5050 n=100 7 11 x: y: 調(diào)用前: 調(diào)用結(jié)束: 7 11 x: y: include main() { int x=7,y=11。 printf(x=%d,\ty=%d\n,x,y)。 printf(swapped:\n)。 swap(x,y)。 printf(x=%d,\ty=%d\n,x,y)。 } swap(int a,int b) { int temp。 temp=a。 a=b。 b=temp。 } 調(diào)用: 7 11 a: b: 7 11 x: y: swap: 7 11 x: y: 11 7 a: b: temp 例 交換兩個(gè)數(shù) 形參 實(shí)參 分析下面程序運(yùn)行結(jié)果 int swap(int a,int b) { int t。 printf(a=%d,b=%d\n,a,b)。 t=a。a=b。b=t。 printf(a=%d,b=%d\n,a,b)。 } main() { int x=3,y=5。 swap(x,y)。 printf(x=%d,y=%d\n,x,y)。 } 例 程序運(yùn)行結(jié)果是什么 ? include int sum(int n) { int i,s=0。 for(i=0。in。i++) if(i%10= =9) s=s+i。 return s。 } main() {printf(“%d”,sum(69))。 } 204 include int fun(int n) { if(n10) return n。 else return (n%10)*fun(n/10)。 } main() {printf(“%d”,fun(218))。 } 16 ?函數(shù)執(zhí)行的最后一個(gè)操作是返回 ?返回的意義是: – 使流程返回主調(diào)函數(shù),宣告函數(shù)的一次執(zhí)行終結(jié),在調(diào)用期間所分配的變量單元被撤銷(xiāo)。 – 送函數(shù)值到調(diào)用表達(dá)式中,但是這一點(diǎn)并非是必需的,有些函數(shù)有返回值,有些函數(shù)可以沒(méi)有返回值。 ?從有無(wú)返回值這個(gè)角度,可把函數(shù)分為有返回值函數(shù)和無(wú)返回值函數(shù)兩種。 ?函數(shù)的返回是通過(guò)函數(shù)中的 return語(yǔ)句來(lái)實(shí)現(xiàn)的。 – 返回語(yǔ)句 ? 功能:使程序控制從被調(diào)用函數(shù)返回到調(diào)用函數(shù)中,同時(shí)把返回值帶給調(diào)用函數(shù) ? 形式: – return(表達(dá)式 )。 或 return 表達(dá)式 。 – return。 ? 說(shuō)明: – 函數(shù)中可有多個(gè) return語(yǔ)句 – 在定義函數(shù)時(shí),對(duì)函數(shù)類(lèi)型的說(shuō)明應(yīng)與 return語(yǔ)句中返回值的類(lèi)型一致。 – 若函數(shù)類(lèi)型與 return語(yǔ)句中表達(dá)式值的類(lèi)型不一致,按前者為準(zhǔn),自動(dòng)轉(zhuǎn)換 函數(shù)調(diào)用轉(zhuǎn)換 – 不帶表達(dá)式的 return語(yǔ)句位于函數(shù)體的最后時(shí),允許省略,用作函數(shù)體結(jié)束的 “ }”會(huì)將流程返回調(diào)用函數(shù) – 函數(shù)中無(wú) return語(yǔ)句或使用不帶表達(dá)式的 return語(yǔ)句,并不是不返回一個(gè)值,而是一個(gè)不確定的值。為了明確表示不返回值,可以用 “ void”定義成 “ 無(wú)(空)類(lèi)型 ” void型函數(shù) 例 無(wú)返回值函數(shù) void swap(int x,int y ) { int temp。 temp=x。 x=y。 y=temp。 } 函數(shù)的返回值 例:有指定返回值函數(shù) int max(int k,int m) { return(km?k:m)。 } 例 多個(gè) return語(yǔ)句 int cp(int x,int y ) { if(xy) return 1。 else if(xy) return 2。 return 0。 } – 在程序中,是通過(guò)對(duì)函數(shù)的調(diào)用來(lái)執(zhí)行函數(shù)體的 – 函數(shù)調(diào)用的一般形式: 說(shuō)明: ? 調(diào)用函數(shù)時(shí),函數(shù)名稱(chēng)必須與具有該功能的自定義函數(shù)名稱(chēng)完全
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1