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

正文內(nèi)容

第7章用函數(shù)實現(xiàn)模塊化程序設計convertor(已修改)

2025-07-19 15:50 本頁面
 

【正文】 第7章 用函數(shù)實現(xiàn)模塊化程序設計 關于變量的聲明和定義 內(nèi)部函數(shù)和外部函數(shù)問題:如果程序的功能比較多,規(guī)模比較大,把所有代碼都寫在main函數(shù)中,就會使主函數(shù)變得龐雜、頭緒不清,閱讀和維護變得困難有時程序中要多次實現(xiàn)某一功能,就需要多次重復編寫實現(xiàn)此功能的程序代碼,這使程序冗長,不精煉解決的方法:用模塊化程序設計的思路采用“組裝”的辦法簡化程序設計的過程事先編好一批實現(xiàn)各種不同功能的函數(shù)把它們保存在函數(shù)庫中,需要時直接用解決的方法:用模塊化程序設計的思路函數(shù)就是功能每一個函數(shù)用來實現(xiàn)一個特定的功能函數(shù)的名字應反映其代表的功能在設計一個較大的程序時,往往把它分為若干個程序模塊,每一個模塊包括一個或多個函數(shù),每個函數(shù)實現(xiàn)一個特定的功能C程序可由一個主函數(shù)和若干個其他函數(shù)構成主函數(shù)調(diào)用其他函數(shù),其他函數(shù)也可以互相調(diào)用同一個函數(shù)可以被一個或多個函數(shù)調(diào)用任意多次mainabcfghdeie可以使用庫函數(shù)可以使用自己編寫的函數(shù)在程序設計中要善于利用函數(shù),可以減少重復編寫程序段的工作量,同時可以方便地實現(xiàn)模塊化的程序設計 輸出以下的結果,用函數(shù)調(diào)用實現(xiàn)。 ****************** How do you do! ******************解題思路:在輸出的文字上下分別有一行“*”號,顯然不必重復寫這段代碼,用一個函數(shù)print_star來實現(xiàn)輸出一行“*”號的功能。再寫一個print_message函數(shù)來輸出中間一行文字信息用主函數(shù)分別調(diào)用這兩個函數(shù)include int main(){ void print_star()。 void print_message()。 print_star()。 print_message()。 print_star()。 return 0。}void print_star(){ printf(“******************\n”)。 }void print_message() { printf(“ How do you do!\n”)。 }輸出16個*輸出一行文字include int main(){ void print_star()。 void print_message()。 print_star()。 print_message()。 print_star()。 return 0。}void print_star(){ printf(“******************\n”)。 }void print_message() { printf(“ How do you do!\n”)。 }聲明函數(shù)定義函數(shù)include int main(){ void print_star()。 void print_message()。 print_star()。 print_message()。 print_star()。 return 0。}void print_star(){ printf(“******************\n”)。 }void print_message() { printf(“ How do you do!\n”)。 }說明: (1) 一個C程序由一個或多個程序模塊組成,每一個程序模塊作為一個源程序文件。對較大的程序,一般不希望把所有內(nèi)容全放在一個文件中,而是將它們分別放在若干個源文件中,由若干個源程序文件組成一個C程序。這樣便于分別編寫、分別編譯,提高調(diào)試效率。一個源程序文件可以為多個C程序共用。說明: (2) 一個源程序文件由一個或多個函數(shù)以及其他有關內(nèi)容(如預處理指令、數(shù)據(jù)聲明與定義等)組成。一個源程序文件是一個編譯單位,在程序編譯時是以源程序文件為單位進行編譯的,而不是以函數(shù)為單位進行編譯的。說明: (3) C程序的執(zhí)行是從main函數(shù)開始的,如果在main函數(shù)中調(diào)用其他函數(shù),在調(diào)用后流程返回到main函數(shù),在main函數(shù)中結束整個程序的運行。說明: (4) 所有函數(shù)都是平行的,即在定義函數(shù)時是分別進行的,是互相獨立的。一個函數(shù)并不從屬于另一個函數(shù),即函數(shù)不能嵌套定義。函數(shù)間可以互相調(diào)用,但不能調(diào)用main函數(shù)。main函數(shù)是被操作系統(tǒng)調(diào)用的。說明: (5) 從用戶使用的角度看,函數(shù)有兩種。庫函數(shù),它是由系統(tǒng)提供的,用戶不必自己定義而直接使用它們。應該說明,不同的C語言編譯系統(tǒng)提供的庫函數(shù)的數(shù)量和功能會有一些不同,當然許多基本的函數(shù)是共同的。用戶自己定義的函數(shù)。它是用以解決用戶專門需要的函數(shù)。說明:(6) 從函數(shù)的形式看,函數(shù)分兩類。 ① 無參函數(shù)。無參函數(shù)一般用來執(zhí)行指定的一組操作。無參函數(shù)可以帶回或不帶回函數(shù)值,但一般以不帶回函數(shù)值的居多。 ② 有參函數(shù)。在調(diào)用函數(shù)時,主調(diào)函數(shù)在調(diào)用被調(diào)用函數(shù)時,通過參數(shù)向被調(diào)用函數(shù)傳遞數(shù)據(jù),一般情況下,執(zhí)行被調(diào)用函數(shù)時會得到一個函數(shù)值,供主調(diào)函數(shù)使用。 怎樣定義函數(shù) 為什么要定義函數(shù) 定義函數(shù)的方法 為什么要定義函數(shù)C語言要求,在程序中用到的所有函數(shù),必須“先定義,后使用”指定函數(shù)名字、函數(shù)返回值類型、函數(shù)實現(xiàn)的功能以及參數(shù)的個數(shù)與類型,將這些信息通知編譯系統(tǒng)。 為什么要定義函數(shù)指定函數(shù)的名字,以便以后按名調(diào)用指定函數(shù)類型,即函數(shù)返回值的類型指定函數(shù)參數(shù)的名字和類型,以便在調(diào)用函數(shù)時向它們傳遞數(shù)據(jù)指定函數(shù)的功能。這是最重要的,這是在函數(shù)體中解決的 為什么要定義函數(shù)對于庫函數(shù),程序設計者只需用include指令把有關的頭文件包含到本文件模塊中即可程序設計者需要在程序中自己定義想用的而庫函數(shù)并沒有提供的函數(shù) 定義函數(shù)的方法定義無參函數(shù)的一般形式為:類型名 函數(shù)名(void) { 函數(shù)體 } 類型名 函數(shù)名() { 函數(shù)體 } 包括聲明部分和語句部分包括聲明部分和語句部分 定義函數(shù)的方法定義無參函數(shù)的一般形式為:類型名 函數(shù)名(void) { 函數(shù)體 } 類型名 函數(shù)名() { 函數(shù)體 } 指定函數(shù)值的類型指定函數(shù)值的類型 定義函數(shù)的方法定義有參函數(shù)的一般形式為:類型名 函數(shù)名(形式參數(shù)表列){ 函數(shù)體 } 定義函數(shù)的方法3. 定義空函數(shù)定義空函數(shù)的一般形式為:類型名 函數(shù)名( ){ }先用空函數(shù)占一個位置,以后逐步擴充好處:程序結構清楚,可讀性好,以后擴充新功能方便,對程序結構影響不大 調(diào)用函數(shù)函數(shù)調(diào)用的一般形式為: 函數(shù)名(實參表列)如果是調(diào)用無參函數(shù),則“實參表列”可以沒有,但括號不能省略如果實參表列包含多個實參,則各參數(shù)間用逗號隔開按函數(shù)調(diào)用在程序中出現(xiàn)的形式和位置來分,可以有以下3種函數(shù)調(diào)用方式:1. 函數(shù)調(diào)用語句把函數(shù)調(diào)用單獨作為一個語句 如printf_star();這時不要求函數(shù)帶回值,只要求函數(shù)完成一定的操作按函數(shù)調(diào)用在程序中出現(xiàn)的形式和位置來分,可以有以下3種函數(shù)調(diào)用方式:2. 函數(shù)表達式函數(shù)調(diào)用出現(xiàn)在另一個表達式中 如c=max(a,b)。這時要求函數(shù)帶回一個確定的值以參加表達式的運算按函數(shù)調(diào)用在程序中出現(xiàn)的形式和位置來分,可以有以下3種函數(shù)調(diào)用方式:3. 函數(shù)參數(shù)函數(shù)調(diào)用作為另一函數(shù)調(diào)用時的實參 如m=max(a,max(b,c))。其中max(b,c)是一次函數(shù)調(diào)用,它的值作為max另一次調(diào)用的實參 函數(shù)調(diào)用時的數(shù)據(jù)傳遞在調(diào)用有參函數(shù)時,主調(diào)函數(shù)和被調(diào)用函數(shù)之間有數(shù)據(jù)傳遞關系定義函數(shù)時函數(shù)名后面的變量名稱為“形式參數(shù)”(簡稱“形參”)主調(diào)函數(shù)中調(diào)用一個函數(shù)時,函數(shù)名后面參數(shù)稱為“實際參數(shù)”(簡稱“實參”) 實際參數(shù)可以是常量、變量或表達式 函數(shù)調(diào)用時的數(shù)據(jù)傳遞2. 實參和形參間的數(shù)據(jù)傳遞在調(diào)用函數(shù)過程中,系統(tǒng)會把實參的值傳遞給被調(diào)用函數(shù)的形參或者說,形參從實參得到一個值該值在函數(shù)調(diào)用期間有效,可以參加被調(diào)函數(shù)中的運算 函數(shù)調(diào)用時的數(shù)據(jù)傳遞 輸入兩個整數(shù),要求輸出其中值較大者。要求用函數(shù)來找到大數(shù)。解題思路:(1)函數(shù)名應是見名知意,今定名為max(2) 由于給定的兩個數(shù)是整數(shù),返回主調(diào)函數(shù)的值(即較大數(shù))應該是整型(3)max函數(shù)應當有兩個參數(shù),以便從主函數(shù)接收兩個整數(shù),因此參數(shù)的類型應當是整型 函數(shù)調(diào)用時的數(shù)據(jù)傳遞先編寫max函數(shù):int max(int x,int y){ int z。 z=xy?x:y。 return(z)。 } 函數(shù)調(diào)用時的數(shù)據(jù)傳遞在max函數(shù)上面,再編寫主函數(shù)include int main(){ int max(int x,int y)。 int a,b,c。 printf(“two integer numbers: )。 scanf(“%d,%d”,amp。a,amp。b)。 c=max(a,b)。 printf(“max is %d\n”,c)。 }實參可以是常量、變量或表達式 函數(shù)調(diào)用時的數(shù)據(jù)傳遞c=max(a,b)。 (main函數(shù))int max(int x, int y) (max函數(shù)){ int z。 z=xy?x:y。 return(z)。 } 函數(shù)調(diào)用的過程在定義函數(shù)中指定的形參,在未出現(xiàn)函數(shù)調(diào)用時,它們并不占內(nèi)存中的存儲單元。在發(fā)生函數(shù)調(diào)用時,函數(shù)max的形參被臨時分配內(nèi)存單元。2a3bxy23實參形參 函數(shù)調(diào)用的過程調(diào)用結束,形參單元被釋放實參單元仍保留并維持原值,沒有改變?nèi)绻趫?zhí)行一個被調(diào)用函數(shù)時,形參的值發(fā)生改變,不會改變主調(diào)函數(shù)的實參的值2a3bxy23實參形參. 函數(shù)的返回值通常,希望通過函數(shù)調(diào)用使主調(diào)函數(shù)能得到一個確定的值,這就是函數(shù)值(函數(shù)的返回值)函數(shù)的返回值是通過函數(shù)中的return語句獲得的。一個函數(shù)中可以有一個以上的return語句,執(zhí)行到哪一個return語句,哪一個就起作用return語句后面的括號可以不要. 函數(shù)的返回值通常,希望通過函數(shù)調(diào)用使主調(diào)函數(shù)能得到一個確定的值,這就是函數(shù)值(函數(shù)的返回值)(2) 函數(shù)值的類型。應當在定義函數(shù)時指定函數(shù)值的類型. 函數(shù)的返回值通常,希望通過函數(shù)調(diào)用使主調(diào)函數(shù)能得到一個確定的值,這就是函數(shù)值(函數(shù)的返回值)(3)在定義函數(shù)時指定的函數(shù)類型一般應該和return語句中的表達式類型一致如果函數(shù)值的類型和return語句中表達式的值不一致,則以函數(shù)類型為準. 函數(shù)的返回值,將在max函數(shù)中定義的變量z改為float型。函數(shù)返回值的類型與指定的函數(shù)類型不同,分析其處理方法。解題思路:如果函數(shù)返回值的類型與指定的函數(shù)類型不同,按照賦值規(guī)則處理。include int main() { int max(float x,float y)。 float a,b。 int c。 scanf(%f,%f,amp。a,amp。b)。 c=max(a,b)。 printf(max is %d\n,c)。 return 0。 }int max(float x,float y) { float z。 z=xy?x:y。 return( z ) 。}2變?yōu)?在一個函數(shù)中調(diào)用另一個函數(shù)需要具備如下條件:(1) 被調(diào)用函數(shù)必須是已經(jīng)定義的函數(shù)(是庫函數(shù)或用戶自己定義的函數(shù))(2) 如果使用庫函數(shù),應該在本文件開頭加相應的include指令(3) 如果使用自己定義的函數(shù),而該函數(shù)的位置在調(diào)用它的函數(shù)后面,應該聲明 輸入兩個實數(shù),用一個函數(shù)求出它們之和。解題思路:用add函數(shù)實現(xiàn)。首先要定義add函數(shù),它為float型,它應有兩個參數(shù),也應為float型。特別要注意的是:要對add函數(shù)進行聲明。分別編寫add函數(shù)和main函數(shù),它們組成一個源程序文件main函數(shù)的位置在add函數(shù)之前在main函數(shù)中對add函數(shù)進
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1