![C語言程序設計 課件 第七章 函數(shù)_第1頁](http://file4.renrendoc.com/view12/M07/1A/1A/wKhkGWYzXOeAQXhaAAD_pBXQCLs874.jpg)
![C語言程序設計 課件 第七章 函數(shù)_第2頁](http://file4.renrendoc.com/view12/M07/1A/1A/wKhkGWYzXOeAQXhaAAD_pBXQCLs8742.jpg)
![C語言程序設計 課件 第七章 函數(shù)_第3頁](http://file4.renrendoc.com/view12/M07/1A/1A/wKhkGWYzXOeAQXhaAAD_pBXQCLs8743.jpg)
![C語言程序設計 課件 第七章 函數(shù)_第4頁](http://file4.renrendoc.com/view12/M07/1A/1A/wKhkGWYzXOeAQXhaAAD_pBXQCLs8744.jpg)
![C語言程序設計 課件 第七章 函數(shù)_第5頁](http://file4.renrendoc.com/view12/M07/1A/1A/wKhkGWYzXOeAQXhaAAD_pBXQCLs8745.jpg)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
應用型系列教材C語言程序設計第七章函數(shù)函數(shù)概述01在C語言中可以從不同的角度對函數(shù)分類。從函數(shù)定義的角度來看,可以分為庫函數(shù)和用戶自定義函數(shù)兩種。C語言的函數(shù)兼有其他語言中的函數(shù)和過程兩種功能。從主調函數(shù)和被調函數(shù)之間數(shù)據(jù)傳送的角度來看,又可以分為無參函數(shù)和有參函數(shù)兩種。函數(shù)概述01在C語言中可以從不同的角度對函數(shù)分類。從函數(shù)的作用范圍來看,又可以分為外部函數(shù)和內(nèi)部函數(shù)兩種。C語言提供了極為豐富的庫函數(shù),這些庫函數(shù)又可以從功能角度進行分類。函數(shù)概述01函數(shù)的定義0201無參函數(shù)的定義
無參函數(shù)的定義無參函數(shù)定義的語法格式如下:類型標識符
函數(shù)名()//函數(shù)首部{聲明部分
//函數(shù)體
語句部分}02有參函數(shù)的定義
有參函數(shù)的定義有參函數(shù)定義的語法格式如下:類型標識符
函數(shù)名(形式參數(shù)表列)//函數(shù)首部{聲明部分
//函數(shù)體
語句部分}函數(shù)的參數(shù)和函數(shù)的值03函數(shù)的形參和實參具有以下4個特點:形參變量只有在函數(shù)調用時才會分配內(nèi)存單元,在函數(shù)調用結束時,即刻釋放所分配的內(nèi)存單元。實參可以是常量、變量、表達式、函數(shù)調用等,無論實參是何種類型的量,在進行函數(shù)調用時,它們都必須具有確定的值,以便把這些值傳送給形參。形參和實參01函數(shù)的形參和實參具有以下4個特點:實參和形參在數(shù)量上、類型上、順序上要嚴格一致,否則會發(fā)生類型不匹配的錯誤。函數(shù)調用中發(fā)生的數(shù)據(jù)傳送是單向的。即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。形參和實參01函數(shù)的值只能通過return語返回主調函數(shù)。函數(shù)返回值的類型和函數(shù)定義中函數(shù)的類型應該保持一致。如果兩者不一致,則以函數(shù)類型為準,自動進行類型轉換。在函數(shù)定義時如果省略函數(shù)類型,則函數(shù)返回值為整型。為了使程序具有良好的可讀性并減少出錯,即使函數(shù)類型為整型,也不要使用系統(tǒng)的缺省處理。函數(shù)的返回值02函數(shù)的返回值如果被調用函數(shù)中沒有cturn語,并不帶回一個確定的、用戶所希望得到的函數(shù)值,但實際上,函數(shù)并不是不帶回值,而只是不帶回有用的值,帶回的是一個不確定的值。不返回函數(shù)值的函數(shù),可以明確定義為“空類型”,類型說明符為“void”。02函數(shù)的調用0401函數(shù)調用的語法格式
函數(shù)調用的語法格式函數(shù)名([實參表列])02函數(shù)調用的方式
函數(shù)調用的方式函數(shù)語句函數(shù)表達式函數(shù)實參03函數(shù)的聲明
函數(shù)的聲明要完成函數(shù)調用,被調用函數(shù)必須滿足以下條件。必須是已存在的函數(shù),也就是函數(shù)已有完整的定義。在函數(shù)調用之前必須有相應的函數(shù)聲明。如果是系統(tǒng)定義的庫函數(shù),則需要將包含函數(shù)原型聲明的頭文件包含進來。函數(shù)的嵌套調用05函數(shù)的嵌套調用函數(shù)的嵌套調用01函數(shù)的遞歸調用06函數(shù)的遞歸調用是指一個函數(shù)在它的函數(shù)體內(nèi),直接或間接地調用它自身。C語言允許函數(shù)的遞歸調用。在遞歸調用中,調用函數(shù)又是被調用函數(shù),執(zhí)行遞歸函數(shù)將反復調用其自身。每調用一次就進入新的一層。函數(shù)的遞歸調用01數(shù)組作為函數(shù)的參數(shù)07數(shù)組元素與普通變量并無區(qū)別。因此它作為函數(shù)實參使用與普通變量使用是完全相同的,在發(fā)生函數(shù)調用時,把作為實參的數(shù)組元素的值傳送給形參,可以實現(xiàn)單向的值傳送。數(shù)組元素作為函數(shù)實參01使用數(shù)組名作為函數(shù)參數(shù)與使用數(shù)組元素作為實參的不同點:當使用數(shù)組元素作為實參時是按普通變量對待的。當普通變量或數(shù)組元素作為函數(shù)參數(shù)時,形參變量和實參變量是由編譯系統(tǒng)分配的兩個不同的內(nèi)存單元。數(shù)組名作為函數(shù)的參數(shù)02局部變量和全局變量0801局部變量
局部變量在一個函數(shù)的內(nèi)部定義的變量就是局部變量(又稱為內(nèi)部變量),它只在本函數(shù)范圍內(nèi)有效。也就是說,只能在本函數(shù)內(nèi)使用,在本函數(shù)的外面是不能使用的,因此稱它為局部變量。02全局變量
全局變量一個源程序文件可以有若干個函數(shù),在函數(shù)內(nèi)定義的變量是局部變量,而在一個源程序文件中所有函數(shù)之外定義的變量稱為外部變量,外部變量是全局變量(也稱為全程變量)。變量的存儲類型0901靜態(tài)存儲方式與動態(tài)存儲方式
用戶存儲空間程序區(qū)靜態(tài)存儲區(qū)動態(tài)存儲區(qū)01靜態(tài)存儲方式與動態(tài)存儲方式
動態(tài)存儲區(qū)存放:函數(shù)形式參數(shù)自動變量(未添加static聲明的局部變量)函數(shù)調用時的現(xiàn)場保護和返回地址02auto變量
auto變量在函數(shù)中定義的內(nèi)部變量,如果不專門聲明為static存儲類別,則其存儲類別默認都是自動變量(auto),數(shù)據(jù)存儲在動態(tài)存儲區(qū)中。03使用static聲明局部變量有時希望函數(shù)中局部變量的值在函數(shù)調用結束后不消失而保留原值,即不釋放占用的存儲空間,這樣在下一次該函數(shù)又被調用時,就是上一次函數(shù)調用結束時的值,在這種情況下就應該將該變量使用關鍵字static聲明為靜態(tài)局部變量。04register變量在一般情況下,變量(包括靜態(tài)存儲方式和動態(tài)存儲方式)的值是存放在內(nèi)存中的。為了提高效率,C語言允許將局部變量的值存放在CPU的寄存器中,這種變量被稱為“寄存器變量”,使用關鍵字register進行聲明。05使用extern聲明外部變量外部變量(全局變量)是在函數(shù)的外部定義的,它的作用域從變量定義處開始,到本程序文件的末尾。程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024幼師頂崗實習報告總結(11篇)
- 2025年度基礎設施建設項目借款延期合同
- 2025年度建筑施工造價與國際工程承包標準對接合同
- 2025年度借貸居間服務合同法律適用與爭議解決途徑
- 2025年度建筑工程合同價格爭議解決機制與策略
- 2025年度企業(yè)內(nèi)部控制與合規(guī)一體化合同
- 2025年度建筑工程泥工勞務施工氣候合同
- 2025年度房地產(chǎn)估價委托合同范本解讀
- 2025年度新型綠色建筑項目招投標與合同管理全程指導合同
- 2025年度建筑工程現(xiàn)場材料租賃合同樣本
- 信永中和筆試題庫及答案
- 甲流乙流培訓課件
- 兒科學川崎病說課
- 2025《省建設工程檔案移交合同書(責任書)》
- 2025年云南農(nóng)墾集團總部春季社會招聘(9人)管理單位筆試遴選500模擬題附帶答案詳解
- 《石油鉆井基本知識》課件
- 2024新滬教版英語(五四學制)七年級上單詞默寫單
- 電力兩票培訓
- TCCEAS001-2022建設項目工程總承包計價規(guī)范
- 2024.8.1十七個崗位安全操作規(guī)程手冊(值得借鑒)
- 中學生手機使用管理協(xié)議書
評論
0/150
提交評論