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

正文內容

[工學]c語言第四版課件 第7章 函數(shù)-文庫吧

2025-09-19 23:36 本頁面


【正文】 過程中發(fā)生的實參與形參間的數(shù)據(jù)傳遞,常稱為“虛實結合”。 例 調用函數(shù)時的數(shù)據(jù)傳遞。 P176 include void main() { int max(int x, int y)。 /* 對 max1函數(shù)的聲明 */ int a, b, c; scanf("% d,% d",& a,& b); c= max( a, b); printf(“ max is% d", c); } int max( int x, int y) /* 定義有參函數(shù) max1 */ { int z; z= x> y? x∶y; return(z); } 運行結果: 7, 8 max is 8 關于形參與實參的說明 P177 (1)形參存儲單元的分配與釋放。 在定義函數(shù)中指定的形參,在未出現(xiàn)函數(shù)調用時,它們并不占內存中的存儲單元。 只有在發(fā)生函數(shù)調用時, 函數(shù) max 中的形參才被分配內存單元。 在調用結束后,形參所占的內存單元也被釋放。 (2) 形參只可以是變量。 實參可以是常量、變量或表達式 . 例如: max( 3, a+ b); 但要求它們有確定的值。 在調用時將實參的值賦給形參。 (如果形參是數(shù)組名,則傳遞的是數(shù)組首地址而不是數(shù)組的值。請參閱 節(jié))。 (3) 在被定義的函數(shù)中,必須指定形參的類型。 再強調: *形參只可以是變量。 實參可以是常量、變量或表達式 . (4) 實參與形參的類型應相同或兼容。 如果實參為整型而形參 x為實型,或者相反,則按第 2章介紹的不同類型數(shù)值的賦值規(guī)則進行轉換。 例如 : 實參值 a為 ,而形參 x為整型,則將實數(shù) 轉換成整數(shù) 3,然后送到形參 x。 字符型與整型可以互相通用。 圖 (5) *C 語言規(guī)定,實參變量對形參變量的數(shù)據(jù)傳遞都是“值傳遞”。 即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參的。 在內存中,實參單元與形參單元是不同的單元。如圖 。 函數(shù)調用過程 P177 ? ( 1) 形參存儲單元的分配。 在定義函數(shù)中指定的形參,在未出現(xiàn)函數(shù)調用時,它們并不占內存中的存儲單元。 只有在發(fā)生函數(shù)調用時, 函數(shù) max中的形參才被分配內存單元。 續(xù) ? ( 2) 將實參對應的值傳遞給形參。 ? ( 3) 形參獲得該值后,該值在函數(shù)調用期間有效,可以參加該函數(shù)的運算。 ? ( 4) 在函數(shù)調用最后, 通過 return(表達式 ) 語句將函數(shù)值帶回到主調函數(shù)。 ? ( 5) 在調用結束后,形參所占的內存單元全部被釋放。 說明 ? 在調用函數(shù)時,給形參分配存儲單元,并將實參對應的值傳遞給形參,調用結束后,形參單元被釋放,實參單元仍保留并維持原值。 ? 因此,在執(zhí)行一個被調用函數(shù)時,形參的值如果發(fā)生改變,并不會改變主調函數(shù)的實參的值。 ? 例如,若在執(zhí)行函數(shù)過程中 x和 y的值變?yōu)?10和 15,而 a和 b仍為 2和 3,見圖 。 圖 程序運行結果 include void main( ) { void fun(int a, int b)。 int a=5, b=7。 fun(a, b)。 printf(“\n%d %d\n”, a,b )。 } void fun(int a, int b) { a+=100。 b+=200。 printf(“\n%d %d\n”, a,b )。 } 函數(shù)的返回值 P178 通常,希望通過函數(shù)調用使主調函數(shù)能得到一個確定的值,這就是函數(shù)的返回值。 (1) 函數(shù)的返回值是通過函數(shù)中的 return語句獲得的。 return語句的一般形式: return (表達式 ) 。 return語句的功能: return語句將被調用函數(shù)中的一個確定值(即表達式)帶回主調函數(shù)中去。 ? 如果需要從被調用函數(shù)帶回一個函數(shù)值(供主調函數(shù)使用),被調用函數(shù)中必須包含 return語句。 ? 如果不需要從被調用函數(shù)帶回函數(shù)值可以不要 return語句。 (2) 函數(shù)值的類型。 既然函數(shù)有返回值,這個值當然應屬于某一個確定的類型,應當在定義函數(shù)時指定函數(shù)值的類型。 例如: int max(float x, float y) /* 函數(shù)值為整型 */ char letter(char c1, char c2) /* 函數(shù)值為字符型 */ double min(int x, int y) /* 函數(shù)值為雙精度型 */ *建議在定義函數(shù)時一律要指定類型。 (3) *在定義函數(shù)時對函數(shù)值說明的類型一般應該和 return語句中的表達式類型一致。 如果函數(shù)值的類型和 return語句中表達式的值不一致,則以函數(shù)類型為準。 對數(shù)值型數(shù)據(jù),可以自動進行類型轉換。 轉換的原則:即函數(shù)類型決定返回值的類型。 例 P178 include int main() { int max1( float x, float y) 。 float a, b; int c; scanf("% f,% f,",& a,& b); c= max1( a, b); printf(“ max is % d\ n", c); } int max1( float x, float y) { float z; /* z為實型變量 */ z= x> y? x∶y; return(z); } 說明: *函數(shù) max定義為整型,而 return語句中的 z 為實型,二者不一致。 如果運行時從鍵盤上輸入 , 此時, z 返回 *按上述規(guī)定,先將 z 轉換為整型 2, 然后 max( x, y) 帶回一個整型值 2, 返回主調函數(shù) main。 如果將 main函數(shù)中的 c 定義為實型,用 % f格式符輸出,也是輸出 2. 000000。 *建議初學者不要采用這種方法,而應做到使函數(shù)類型與 return 返回值的類型一致。 (4) 對于不帶回值的函數(shù),應當用 “void”定義函數(shù)為無類型。 此時函數(shù)體中不得出 return語句。 *為使程序減少出錯,保證正確調用,凡不要求帶回函數(shù)值的函數(shù),一般應定義為 void類型。 對被調用函數(shù)的聲明 和函數(shù)原型 P179 在一個函數(shù)中調用另一函數(shù)(即被調用函數(shù))需要具備哪些條件呢? (1)首先被調用的函數(shù)必須是已經存在的函數(shù)(是庫函數(shù)或用戶自己定義的函數(shù))。 但僅有這一條件還不夠。 (2)如果使用庫函數(shù),一般還應該在本文件開頭用 # include命令將調用有關庫函數(shù)時所需用到的信息“包含”到本文件中來。 (3) 如果使用用戶自己定義的函數(shù),而且該函數(shù)與調用它的函數(shù)(即主調函數(shù))在同一個文件中,一般還應該在主調函數(shù)中對被調用的函數(shù)作聲明,即向編譯系統(tǒng)聲明將要調用此函數(shù),并將有關信息通知編譯系統(tǒng)。 “聲明” 一詞的原文是 declaration,過去在許多書中譯為“說明”, 作者認為稱為“聲明”更確切,表意更清楚。 函數(shù)的 “聲明” ? 而“聲明” 則是 把函數(shù)的名字、函數(shù)類型以及形參的類型、個數(shù)和順序通知編譯系統(tǒng),以便在調用該函數(shù)時系統(tǒng)按此進行對照檢查。 ? 因此可以簡單地照寫已定義的函數(shù)的首部,再加一個分號,就成為了對函數(shù)的“聲明”。 例 輸入兩個實數(shù), 用一個函數(shù)求出它們的和。 P180 include void main(
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1