C語言實例教程(第3版)課件 單元八 函數_第1頁
C語言實例教程(第3版)課件 單元八 函數_第2頁
C語言實例教程(第3版)課件 單元八 函數_第3頁
C語言實例教程(第3版)課件 單元八 函數_第4頁
C語言實例教程(第3版)課件 單元八 函數_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C程序設計單元八函數函數定義函數的概念函數的分類0102CONTENT03自定義函數01函數的概念

函數(function)是一個具有特定的功能的、相對獨立的模塊,能夠被多次使用。

函數設計的要素函數的聲明(Declaration)函數的定義(Definition)函數的調用(Call)02函數的分類標準庫函數:所有符合標準的頭文件(headfile)的集合,以及常用的函數庫實現程序,例如輸入輸出函數和字符串函數。用戶自定義函數:用戶根據問題求解需要,自己設計的函數。函數名頭文件printf()scanf()putchar()getchar()stdio.habs()sqrt()pow()math.hgets()puts()string.h….…..03自定義函數–函數聲明

函數聲明也叫函數原型

C中所有標識符遵循先定義后使用的原則

函數聲明的目的是向系統提供函數名、參數(數量和類型)、返回類型等相關信息

若有多個函數聲明,應放在一起03自定義函數–函數聲明

函數聲明的形式:函數類型函數名(類型名形式參數1,類型名形式參數2,…);函數類型函數名(形參類型1,形參類型2,……);03自定義函數–函數定義函數定義定義函數具體如何實現相關功能函數定義必須與函數聲明一致(函數名、參數、返回值)函數定義中返回值必須與返回類型一致函數定義中的參數稱為形式參數,簡稱形參自定義函數若定義在調用者之前,可省略函數聲明(不建議)03自定義函數–函數調用兩個角色:調用者與被調用者

例:張三叫李四幫他取快遞,張三即為調用者,李四即為被調用者函數調用即由調用者使用被調用函數函數調用時傳遞的參數稱為實際參數,簡稱實參函數調用時,實參必須與形參一致(類型、數量)03自定義函數–函數調用實參的作用是為形參傳值

若實參為普通類型數據,則稱為值傳遞,傳遞的是值的拷貝

若實參為指針類型數據,則稱為地址傳遞,傳遞的是地址,非拷貝謝謝THANKYOU主講人:張俊暉C程序設計精品在線開放課程單元八函數函數調用函數調用案例遞歸函數0102CONTENT03變量的作用域01函數調用案例問題描述:求兩個數之間的最大值。函數聲明:Tips:在函數聲明處注釋函數功能、參數、返回值01函數調用案例函數定義:Tips1:定義處的返回類型與聲明處保持一致Tips2:返回值的數據類型與返回類型一致01函數調用案例函數調用:Tips1:調用處實參與定義處形參一致Tips2:調用處接受結果變量的數據類型與返回值類型一致Tips3:建議實參與形參名稱相同,方便數據關聯02遞歸函數遞歸:函數自己調用自己的過程叫做遞歸遞歸函數:一個函數既是調用者角色,又是被調用者角色,這種函數即為遞歸函數。02遞歸函數解題思想:1.找規律—找出遞歸調用過程中的數據規律2.找出口—找出遞歸調用在哪里結束,即特殊值3.寫函數—根據出口與規律寫函數02遞歸函數案例:求N!

1.找規律:N!=N*(N-1)!2.找出口:將以上規律一直往下延續,在哪里會推導結束?1!=1

3.根據規律與出口寫出函數02遞歸函數案例:求N!Tips1:先寫遞歸出口Tips2:若遞歸層數過多,額外空間開銷會很大,不建議使用遞歸03變量的作用域

作用域是程序的一個區域,一般來說有三個地方可以定義變量在函數或一個代碼塊內部聲明的變量,稱為局部變量。在函數參數的定義中聲明的變量,稱為形式參數。在所有函數外部聲明的變量,稱為全局變量。03變量的作用域生命周期局部變量與形式參數只能被函數內部或者代碼塊內部的語句使用。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論