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

正文內(nèi)容

c語(yǔ)言函數(shù)ppt課件(已修改)

2025-01-18 13:57 本頁(yè)面
 

【正文】 教學(xué)內(nèi)容 函數(shù)基礎(chǔ) 教學(xué)目標(biāo) 應(yīng)知 函數(shù)的定義與調(diào)用 應(yīng)會(huì) 進(jìn)行有參、無(wú)參函數(shù)的定義并進(jìn)行調(diào)用 進(jìn)行有返回值、無(wú)返回值函數(shù)的定義與調(diào)用 難點(diǎn) 函數(shù)的定義和調(diào)用方法 英文詞匯 中文名 call 調(diào)用 return value 返回值 function 函數(shù) declare 聲明 parameter 參數(shù) static 靜態(tài)的 extern 外部的 global 全局的 local 局部的 例 1: 在屏幕上打印五行” *”號(hào),每行分別是 5個(gè), 30個(gè),40個(gè), 28個(gè), 50個(gè)。 i=1 to 5 printf(“*”) i=1 to 30 printf(“*”) i=1 to 40 printf(“*”) i=1 to 28 printf(“*”) i=1 to 50 printf(“*”) include void main() { int i。 for(i=1。i=5。i++) printf(*)。 printf(\n)。 for(i=1。i=30。i++) printf(*)。 printf(\n)。 for(i=1。i=40。i++) printf(*)。 printf(\n)。 for(i=1。i=28。i++) printf(*)。 printf(\n)。 for(i=1。i=50。i++) printf(*)。 printf(\n)。 } ? 函數(shù) ——完成某一特定特定功能的模塊,是程序設(shè)計(jì)的基本單位。 ? “一個(gè)程序應(yīng)該是輕靈自由的,它的 子過(guò)程 就象串在一根線上的珍珠?!? Geoffrey James的 《 編程之道 》 ? 一個(gè) C程序可以由一個(gè) 主函數(shù) 和 若干個(gè)函數(shù) 構(gòu)成。由主函數(shù)調(diào)用其他函數(shù)。其他函數(shù)也可以互相調(diào)用。同一個(gè)函數(shù)可以被一個(gè)或多個(gè)函數(shù)調(diào)用任意多次。 , g h main a b c d i e e f h g ? 一個(gè)源程序文件由一個(gè)或多個(gè)函數(shù)組成。一個(gè)源程序文件是一個(gè)編譯單位,即以 源程序?yàn)閱挝贿M(jìn)行編譯 ,而不是以函數(shù)為單位進(jìn)行編譯 ? C程序的執(zhí)行 從 main開(kāi)始 ,調(diào)用其他函數(shù)后流程返回到 main函數(shù),在 main函數(shù)中結(jié)束 整個(gè)程序的運(yùn)行 ? 所有的函數(shù)都是平行的,即在 定義函數(shù)時(shí)是互相獨(dú)立的。 從用戶(hù)使用的角度看,函數(shù)有兩種: ? 標(biāo)準(zhǔn)函數(shù)(庫(kù)函數(shù)) :這是由系統(tǒng)提供的,用戶(hù)不必自己定義這些函數(shù),可以直接使用它們 ? 用戶(hù)自己定義的函數(shù): 用以解決用戶(hù)的專(zhuān)門(mén)需要。 從函數(shù)的形式看,函數(shù)有兩種: ? 無(wú)參函數(shù) :在調(diào)用無(wú)參函數(shù)時(shí),主調(diào)函數(shù)并不將數(shù)據(jù)傳送給被調(diào)用函數(shù),一般用來(lái)執(zhí)行指定的一組操作。 ? 有參函數(shù): 在調(diào)用函數(shù)時(shí),在主調(diào)函數(shù)和被調(diào)函數(shù)之間有數(shù)據(jù)傳遞。 根據(jù)的運(yùn)算結(jié)果:函數(shù)可以分為兩種: ? 有返回值函數(shù) :此類(lèi)函數(shù)調(diào)用執(zhí)行完后將向調(diào)用者返回一直執(zhí)行結(jié)果,稱(chēng)為函數(shù)返回值。由用戶(hù)定義的這種要返回函數(shù)值的函數(shù),必須在函數(shù)定義和函數(shù)說(shuō)明中明確返回值的類(lèi)型。 ? 無(wú)返回值函數(shù): 此類(lèi)函數(shù)用于完成某項(xiàng)特定的處理任務(wù),執(zhí)行完成后不向調(diào)用者返回函數(shù)值。由于函數(shù)無(wú)須返回值,用戶(hù)在定義此類(lèi)函數(shù)時(shí)可指定它的返回值為“空類(lèi)型”或者 void。 對(duì)于用戶(hù)自定函數(shù),必須滿足函數(shù)三要素: ? 函數(shù)聲明 ? 函數(shù)定義 ? 函數(shù)調(diào)用 函數(shù)類(lèi)型 函數(shù)名 () { 聲明部分 語(yǔ)句 } 函數(shù)首部 函數(shù)體 函數(shù)體是用一對(duì)花括號(hào)括起來(lái)的語(yǔ)句系列,它描述了函數(shù)實(shí)現(xiàn)某一功能的執(zhí)行過(guò)程。如果函數(shù)類(lèi)型不為 void,則函數(shù)最后要執(zhí)行返回。( return)詳見(jiàn)課本 p95 include void main() { void printstar()。 //對(duì) printstar函數(shù)進(jìn)行聲明 void print_message()。 //對(duì) print_messge函數(shù)進(jìn)行聲明 printstar()。 //調(diào)用 printstar函數(shù) print_message()。 //調(diào)用 print_messge函數(shù) printstar()。 //調(diào)用 printstar函數(shù) } void printstar() //定義 printstar函數(shù) { printf(*******************************\n)。} void print_message() //定義 print_message函數(shù) { printf( 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 10計(jì) 72班 \n)。 } 設(shè)計(jì)函數(shù)的三位置: 函數(shù)聲明 、 函數(shù)定義 、 函數(shù)調(diào)用 函數(shù)類(lèi)型 函數(shù)名 (形式參數(shù)表列 ) { 聲明部分 語(yǔ)句部分 } 形參列表 形式: 類(lèi)型名 形參 1,類(lèi)型名 形參 2, … int max(int x,int y) { int z。 z=xy?x:y。 return z。 } 函數(shù)首部 函數(shù)體 字符串函數(shù) strcat(),strcpy().strcmp(), strlen() 注意: ( 1)需要加頭文件 ( 2)這幾個(gè)字符串函數(shù)的參數(shù)是字符數(shù)組名 ( 3) strlen()與 sizeof()的區(qū)別 ( 4)‘ \0?的意義及用法 ( 5)不使用字符串函數(shù)實(shí)現(xiàn)相應(yīng)的功能 函數(shù)的意義、函數(shù)三要素 函數(shù)的分類(lèi)(從三個(gè)不同的方面) ——有參函數(shù)與無(wú)參函數(shù),有返回值的函數(shù)與無(wú)返回值的函數(shù) 例 1: 在屏幕上打印五行” *”號(hào),每行分別是 5個(gè),30個(gè), 40個(gè), 28個(gè), 50個(gè)。 i=1 to n printf(“*”) print(5)。 print(30)。 print(40)。 print(28)。 print(50)。 include void main() { void print(int n)。 print(5)。 print(30)。 print(40)。 print(28)。 print(50)。 } void print(int n) { int i。 for(i=1。i=n。i++) printf(*)。 printf(\n)。 } 函數(shù)定義 函數(shù)聲明 函數(shù)調(diào)用 函數(shù)類(lèi)型 函數(shù)名 () {} ? 調(diào)用空函數(shù)時(shí),什么工作也不做,沒(méi)有實(shí)際作用 ? 在主函數(shù)中寫(xiě)上空函數(shù),表明這里要調(diào)用一個(gè)函數(shù),而現(xiàn)在這個(gè)函數(shù)沒(méi)有起作用,等以后擴(kuò)充函數(shù)功能時(shí)補(bǔ)充上。 ? 程序的結(jié)構(gòu)清楚,可讀性號(hào),以后擴(kuò)充新功能,對(duì)程序結(jié)構(gòu)影響不大 void dummy() {} void dummy() { 。 } 函數(shù)聲明 函數(shù)定義 函數(shù)調(diào)用 ? “聲明 ” (declaration)——作用是把 函數(shù)名 、函數(shù)參數(shù)的個(gè)數(shù) 和 參數(shù)的類(lèi)型 等信息通知編譯系統(tǒng),以便在遇到函數(shù)調(diào)用時(shí),編譯系統(tǒng)能夠正確識(shí)別并檢查調(diào)用是否合法。 void print(int n)。 ? 在函數(shù)聲明中也可以不寫(xiě)形參名,而只寫(xiě)形參的類(lèi)型。 ? 編譯系統(tǒng)只檢查參數(shù)個(gè)數(shù)和參數(shù)類(lèi)型,而不檢查參數(shù)名。 ? 函數(shù)聲明 ——函數(shù)原型 (function prototype) 函數(shù)聲明 函數(shù)定義 函數(shù)調(diào)用 ? “定義 ” (defination)——是指對(duì)函數(shù)功能的確立,包括指定 函數(shù)名 、 函數(shù)值類(lèi)型 、 形參名稱(chēng) 及其 類(lèi)型 、 函數(shù)體 等。 ? 它是一個(gè)完整的、獨(dú)立的函數(shù)單位。 void print(int n) { int i。 for(i=1。i=n。i++) printf(*)。 printf(\n)。 } 形參名不能省略 ? 函數(shù)定義與函數(shù)聲明的區(qū)別 ? 如果被調(diào)用函數(shù)的定義出現(xiàn)在主調(diào)函數(shù)之前,可以不必加以聲明。 ? 如果已在文件的開(kāi)頭(在所有文件之前),已對(duì)本文件所調(diào)用的函數(shù)進(jìn)行了聲明,則在各函數(shù)不必對(duì)其所調(diào)用的函數(shù)再作聲明 函數(shù)聲明 函數(shù)定義 函數(shù)調(diào)用 ? “調(diào)用 ” (Call)——是指在主調(diào)函數(shù)中調(diào)用被調(diào)函數(shù)的過(guò)程 ? 函數(shù)名 (實(shí)參列表 )。 ? 如果被調(diào)用的是無(wú)參函數(shù),則“實(shí)參表列”可以沒(méi)有,但是括號(hào)不能省略。 ? 如果實(shí)參表列包含多個(gè)實(shí)參,則各參數(shù)之間用逗號(hào)隔開(kāi) ? 實(shí)參與形參的個(gè)數(shù)應(yīng)相等,類(lèi)型應(yīng)匹配, ? 實(shí)參與形參按照順對(duì)應(yīng),一一傳遞數(shù)據(jù) ? 首先被調(diào)用的函數(shù)必須是已經(jīng)存在的函數(shù)(是庫(kù)函數(shù)或用戶(hù)自己定義的函數(shù)) ? 如果使用庫(kù)函數(shù),還應(yīng)該在本文件開(kāi)頭用” include”命令將調(diào)用有關(guān)庫(kù)函數(shù)時(shí)所需用到的信息“包含”到本文件中來(lái)。 ? 如果使用用戶(hù)自己定義的函數(shù),而該函數(shù)的位置在調(diào)用它的函數(shù)的后面,應(yīng)該在主調(diào)函數(shù)中對(duì)被調(diào)函數(shù)作聲明。 函數(shù)的參數(shù)分為 形參 和 實(shí)參 兩種 ? 形參 (形式參數(shù) ):在 函數(shù)定義時(shí) 函數(shù)名后面括弧中的若干變量 ? 實(shí)參 (實(shí)在參數(shù) ):在 調(diào)用函數(shù)時(shí) ,函數(shù)名后面括弧中的若干變量或表達(dá)式。 形參與實(shí)參的功能是完成數(shù)據(jù)的傳遞 例 2 調(diào)用函數(shù)時(shí)的數(shù)據(jù)傳遞 include void main() { int max(int a,int b)。 int x,y,z。 printf(input two numbers:\n)。 scanf(%d%d,amp。x,amp。y)。 z=max(x,y)。 printf(maxmum=%d\n,z)。 } int max(int a,int b) { return(ab?a:b)。 } 函數(shù)聲明 函數(shù)調(diào)用 函數(shù)定義 z=max(x,y)。 (main函數(shù) ) int max(int a,int b)(max函數(shù) ) { return(ab?a:b)。 } 例 3 查找 3個(gè)數(shù)里面的最大值 include void main() { int max(int a,int b)。 int a,b,c,z。 printf(input three numbers:\n)。 scanf(%d%d%d,amp。a,amp。b,amp。c)。 z=max(a,b)。 z=max(z,c)。 printf(maxmum=%d\n,z)。 } int max(int a,int b) { return(ab?a:b)。 } 一個(gè)函數(shù)可以多次調(diào)用 改寫(xiě)函數(shù),一次性的輸出三個(gè)數(shù)中的最大值 ? 實(shí)參可以是常量、變量或者表達(dá)式。但是要求它們有 確定的值 。在調(diào)用的時(shí)候?qū)?shí)參的值賦給形參。 ? 在函數(shù)聲明和函數(shù)定義時(shí), 必須指定形參的類(lèi)型 ? 實(shí)參與形參的 個(gè)數(shù)應(yīng)相等,類(lèi)型應(yīng)匹配 。 ? 實(shí)參與形參按順序?qū)?yīng),一一傳遞數(shù)據(jù)。 函數(shù)的值: 指函數(shù)被調(diào)用之后,執(zhí)行函數(shù)體中的程序段所取得的并返回給主調(diào)函數(shù)的值。 例如, 調(diào)用 max(x,y)得到 x與 y中較大數(shù) 說(shuō)明: ( 1)函數(shù)的值只能通過(guò) return語(yǔ)句返回主調(diào)函數(shù)。 return語(yǔ)句的一般形式為: return 表達(dá)式; 或者為: return (表達(dá)式 ); 注意:每次調(diào)用只能有一個(gè) return 語(yǔ)句被執(zhí)行,因此只返回一個(gè)函數(shù)值。 int max(int a,int b) { if(ab) return a。 else return b。 } ( 2) 在 定義 函數(shù)時(shí)指定函數(shù)值的類(lèi)型。 函數(shù)的值: 指函數(shù)被調(diào)用之后,執(zhí)行函數(shù)體中的程序段所取得的并返回給主調(diào)函數(shù)的值。 例如,調(diào)用 sin(x)便得到 x的正弦值 調(diào)用 max(x,y)得到 x與 y中較大數(shù) 如: int max(int x,int y) char letter(char c1,char c2) ( 3)函數(shù)值的類(lèi)型和函數(shù)定義中函數(shù)的類(lèi)型應(yīng)保持一致。 如果兩者不一致,則以 函數(shù)類(lèi)型 為準(zhǔn),自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換。 函數(shù)的值: 指函數(shù)被調(diào)用之后,執(zhí)行函數(shù)體中的程序段所取得的并返回給主調(diào)函數(shù)的值。 例如,調(diào)用 sin(x)便得到 x的正弦值 調(diào)用 max(x,y)得到 x與 y中較大數(shù) float max(int x,int y) { int z。 z=xy?x:y。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1