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

正文內(nèi)容

【c語言課件】第7章函數(shù)20xxnew(已修改)

2025-01-31 09:34 本頁面
 

【正文】 概述 函數(shù)定義 ※ 形參和實(shí)參 ※ 函數(shù)的返回值 ※ 函數(shù)的調(diào)用 ※ 嵌套調(diào)用 遞歸調(diào)用 函數(shù) 數(shù)組作為函數(shù)參數(shù) ※ 局部變量 ※ 全局變量 ※ 1變量的存儲 1內(nèi)部函數(shù)和外部函數(shù) 一、概述 在 C語言中,可以通過函數(shù)實(shí)現(xiàn)程序的模塊化設(shè)計(jì),每一個函數(shù)實(shí)現(xiàn)某一特定的功能。 一個完整的 C語言程序由 主函數(shù) + 被調(diào)函數(shù) 來構(gòu)成 ? 一個較大的程序一般分為若干個程序模塊,每個模塊實(shí)現(xiàn)一個特定的功能, 用子程序來實(shí)現(xiàn)模塊的功能 。C語言中,子程序的作用是由 函數(shù) 來完成的。一個 C程序可由一個主函數(shù)和若干個函數(shù)構(gòu)成。由主函數(shù)調(diào)用其他函數(shù),其他函數(shù)也可以互相調(diào)用。一個函數(shù)可以被一個或多個函數(shù)調(diào)用任意多次。 ? 在程序設(shè)計(jì)中,常將一些常用的功能模塊編寫成函數(shù),放在 函數(shù)庫 中供公共選用。要善于利用這些函數(shù)。 ? 下頁是一個函數(shù)調(diào)用的例子: include main( ) { int a, b, sum。 scanf( “%d%d”,amp。a,amp。b)。 sum = a+b。 printf(“Sum=%d\n”,sum)。 } t main main main scanf printf 標(biāo)準(zhǔn)輸入 /輸出庫函數(shù) 結(jié)束 開始 標(biāo)準(zhǔn)(庫)函數(shù) ?標(biāo)準(zhǔn) I/O庫函數(shù) include ( scanf,printf, getchar, putchar… ) ?標(biāo)準(zhǔn)數(shù)學(xué)函數(shù) include (sin, cos, sqrt… ) ?… 已知多邊形各邊長度,計(jì)算多邊形面積 e b c d a f g S1 S2 S3 【 分析 】 :計(jì)算多邊形的面積可分解為計(jì)算若干個三角形的面積,如圖所示。 對于三角形,若已知三條邊,可用 如下公式來計(jì)算面積: )zyx(21c)zc)(yc)(xc(cA r e a ??????? ,其中 include include void main() { float a,b,c,d,e,f,g。 float l1,s1,l2,s2,l3,s3。 scanf(%f,%f,%f,%f,%f,%f,%f,amp。a,amp。b,amp。c,amp。d,amp。e,amp。f,amp。g)。 l1=(a+b+c)/2。 s1=(float)sqrt(l1*(l1a)*(l1b)*(l1c))。 l2=(c+d+e)/2。 s2=(float)sqrt(l2*(l2c)*(l2d)*(l2e))。 l3=(e+f+g)/2。 s3=(float)sqrt(l3*(l3e)*(l3f)*(l3g))。 printf(area=%f\n,s1+s2+s3)。 } 對于這樣的有規(guī)律的重復(fù)計(jì)算,可以用更好的方法: 函數(shù) 來解決 定義求三角形面積函數(shù) area( ) double a,double b,double c double { } ? 函數(shù)名 ?需要傳遞給函數(shù)的數(shù)據(jù)(參數(shù)):數(shù)據(jù)類型、數(shù)據(jù)名稱 ? 函數(shù)計(jì)算結(jié)果(返回)類型 double ?函數(shù)是如何對數(shù)據(jù)進(jìn)行計(jì)算 (函數(shù)體) double a, double b, double c area 計(jì)算 語句 )(21,))()(( cbascsbsassS ??????? 其中area函數(shù)定義 float area(float l1,float ,l2,float l3) { float s,temparea。 s=(l1+l2+l3)/2。 temparea=sqrt(s*(sa)*(sb)*(sc))。 return temparea。 } 函數(shù)定義 函數(shù)體 函數(shù)返回 (return)語句 ,返回計(jì)算結(jié)果 [例 ] main() { printf(“* * * * * * * * * * * \n”)。 printf(“ I am happy!\n)。 printf(“* * * * * * * * * * * \n”)。 printf(“ I am happy!\n)。 printf(“* * * * * * * * * * * \n”)。 } [例 ]main() { printstar( )。 /*調(diào)用 printstar函數(shù) */ print_message( )。 /*調(diào)用 print_message函數(shù) */ printstar( )。 /*調(diào)用 printstar函數(shù) */ print_message( )。 /*調(diào)用 print_message函數(shù) */ printstar( )。 /*調(diào)用 printstar函數(shù) */ } printstar( ) /*printstar函數(shù) */ {printf(“* * * * * * * * * * * \n”)。} print_message( ) /*print_message函數(shù) */ {printf(“ I am happy!\n)。} 程序中 printstar和 print_message都是 用戶定義 的函數(shù)名。 一個源程序文件由一個或多個函數(shù)組成 main() printstar() print_message( ) C程序從 main函數(shù)開始 ,調(diào)用其他函數(shù)后流程 回到 main函數(shù) ,在n函數(shù)中結(jié)束整個函數(shù)的運(yùn)行。main函數(shù)由系統(tǒng)定義 說明: 1。一個源程序文件由一個或多個函數(shù)組成。 2。一個 C程序由一個或多個源程序文件組成。對較大的程序,一般不希望全放在一個文件中,而將函數(shù)和其它內(nèi)容分別放到 若干個源文件 中,由若干個源文件組成一個 C程序。一個源文件可以為多個 C程序公用。 3。 C程序的執(zhí)行從 main函數(shù)開始 ,調(diào)用其他函數(shù)后流程 回到 main函數(shù) ,在 main函數(shù)中結(jié)束整個函數(shù)的運(yùn)行。 main函數(shù)由系統(tǒng)定義 。 4。所有函數(shù)都是平行的,在定義函數(shù)時是互相獨(dú)立的,一個函數(shù)并不從屬于另一函數(shù), 函數(shù)不能嵌套定義,但可以互相調(diào)用(不能調(diào)用 main函數(shù) )。 返回 C程序的模塊結(jié)構(gòu) main a b c d e f g h h i e g C語言程序的模塊結(jié)構(gòu) ?C程序由 多個函數(shù) 組成 ?有且僅有一個 主函數(shù) ?其他函數(shù)間 可互相調(diào)用 ?同一個函數(shù) 可以 被一個或多個函數(shù)調(diào)用一次或多次 ? 函數(shù)的語法形式: 類型標(biāo)識符 函數(shù)名(形式參數(shù)表) 形式參數(shù)說明 { 說明部分 語句 } 若無參數(shù),寫 void,可省 是被初始化的內(nèi)部變量 ,除 main外的合法標(biāo)示符 函數(shù)返回值的類型缺省類型為整型 二、函數(shù)定義 main ( ) /*求兩數(shù)之和 */ { int a, b, sum。 /*定義變量 */ a = 7。 b= 456。 sum = a + b。 printf(“sum is %d\n” , sum)。 } int max(x,y) int x,y。 {int z。 if (xy) z=x。 else z=y。 return(z)。 } int max(x,y) int x,y。 {int z。 if (xy) z=x。 else z=y。 return(z)。 } 函數(shù)名 形式參數(shù)表 類型標(biāo)識符 形式參數(shù)說明 類型符 函數(shù)名 ([形式參數(shù)說明 ]) 類型符 形參名 1,類型符 形參名 2, … ,類型符 形參名 n 課堂練習(xí):根據(jù)上面邊的程序給出函數(shù)定義的首部 l1=(a+b+c)/2。 s1=(float)sqrt(l1*(l1a)*(l1b)*(l1c))。 l2=(c+d+e)/2。 s2=(float)sqrt(l2*(l2c)*(l2d)*(l2e))。 l3=(e+f+g)/2。 s3=(float)sqrt(l3*(l3e)*(l3f)*(l3g))。 返回值的類型 函數(shù)名 函數(shù)形式參數(shù) float area 三條邊長 float area(float l1,float ,l2,float l3 ) 函數(shù)的定義 — 返回值 ? 語句格式 return 表達(dá)式; return語句使用說明: ?一個函數(shù)中有多個 return時如何執(zhí)行? ?若 不需要帶回函數(shù)值 ,將函數(shù)定義為 void型 ,否則需要有返回語句。 ?若無 return語句,遇 }時,自動返回調(diào)用函數(shù) ?reutrn語句中表達(dá)式類型 與 函數(shù)返回值類型 不一致時,如何處理? 轉(zhuǎn)換為函數(shù)類型 ; int max(int x, int y) { if (xy) return(x)。 else return(y)。 } printstar() { printf(**********)。 } main() { int a。 a=printstar()。 printf(%d,a)。 } 例 函數(shù)帶回不確定值 輸出: 10 void printstar() { printf(**********)。 } main() { int a。 a=printstar()。 printf(%d,a)。 } 編譯錯誤! 例 函數(shù)返回值類型轉(zhuǎn)換 void main() { int max(float,float) float a,b。 int c。 scanf(%f,%f,amp。a,amp。b)。 c=max(a,b)。 printf(Max is %d\n,c)。 } int max(float x, float y) { float z。 z=xy?x:y。 return(z)。 } 函數(shù)定義的形式 無參函數(shù)的定義形式: 類型標(biāo)識符 函數(shù)名( void ) {聲明部分 語句 } 用“類型標(biāo)識符”指定函數(shù)帶回來的值的類型。無參函數(shù)一般不需要帶回函數(shù)值,因此可以不寫類型標(biāo)識符。 有參函數(shù)定義的一般形式: 類型標(biāo)識符 函數(shù)名(形式參數(shù)表列及說明) {聲明部分 語句 } 或 類型標(biāo)識符 函數(shù)名(形式參數(shù)表列) 形式參數(shù)說明 {聲明部分 語句 } 例如: int max(int x,int y) int x,int y /*形式參數(shù)表列及說明 */ {int z。 /*函數(shù)體中的說明部分 */ z=xy?x:y。 return(z)。 /*將 z的值作為函數(shù)返回值 */
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1