C語(yǔ)言項(xiàng)目化教程五_第1頁(yè)
C語(yǔ)言項(xiàng)目化教程五_第2頁(yè)
C語(yǔ)言項(xiàng)目化教程五_第3頁(yè)
C語(yǔ)言項(xiàng)目化教程五_第4頁(yè)
C語(yǔ)言項(xiàng)目化教程五_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

變量的作用域與生存期

張競(jìng)丹深圳信息職業(yè)技術(shù)學(xué)院12變量的存儲(chǔ)方式和生存期目錄變量的作用域目錄121變量的作用域變量的存儲(chǔ)方式和生存期變量的作用域變量的作用域變量的作用域即為變量的作用范圍(有效范圍),有的變量可以在本文件或其它文件中進(jìn)行引用,有的則只能在局部范圍內(nèi)引用。因此,根據(jù)變量的作用域范圍可分為局部變量和全局變量。變量的作用域局部變量局部變量也稱為內(nèi)部變量,是在一個(gè)模塊內(nèi)部定義的變量,此模塊通常以一對(duì)大括號(hào)括起來(lái),例如一個(gè)函數(shù)內(nèi)、一個(gè)復(fù)合語(yǔ)句內(nèi)。局部變量只能在所定義的模塊范圍內(nèi)才能使用,這也是函數(shù)模塊化思想的優(yōu)點(diǎn)。注意:主函數(shù)中定義的變量只能在主函數(shù)中有效,主函數(shù)不能使用其它函數(shù)中定義的變量。不同函數(shù)中可以使用相同名字的變量,它們代表不同的對(duì)象,內(nèi)存單元不同、互不干擾。形式化參數(shù)屬于被調(diào)用函數(shù)的局部變量。在復(fù)合語(yǔ)句中定義的變量屬于局部變量,只在本復(fù)合語(yǔ)句中有效。變量的作用域全局變量全局變量也稱外部變量,是在所有函數(shù)之外定義的變量,可被本文件中其它函數(shù)所共用,有效范圍為從定義變量的位置開(kāi)始到本文件結(jié)束。注意:C程序中設(shè)計(jì)人員習(xí)慣將全局變量名的第一個(gè)字母大寫(xiě)。建議盡量避免使用全局變量。全局變量在程序的全部執(zhí)行過(guò)程中始終占用存儲(chǔ)單元。函數(shù)在執(zhí)行時(shí)要依賴于其所在的外部變量,使函數(shù)的通用性降低使用全局變量過(guò)多,會(huì)降低程序的清晰性,往往難以清楚地判斷出每個(gè)瞬時(shí)各個(gè)外部變量的值,程序容易出錯(cuò)。外部變量與局部變量同名,則在局部變量的作用范圍內(nèi),外部變量被“屏蔽”,不起作用目錄122變量的存儲(chǔ)方式和生存期變量的存儲(chǔ)方式和生存期變量的作用域變量的存儲(chǔ)方式和生存期(1)變量的存儲(chǔ)方式變量是對(duì)程序中數(shù)據(jù)的存儲(chǔ)空間的抽象。變量的存儲(chǔ)方式,規(guī)定了變量占用內(nèi)存空間的方式,分為靜態(tài)存儲(chǔ)和動(dòng)態(tài)存儲(chǔ)。靜態(tài)存儲(chǔ)類型的變量:在程序運(yùn)行中被系統(tǒng)分配固定的內(nèi)存單元,并一直保持不變,直至整個(gè)程序結(jié)束,內(nèi)存空間才被釋放,例如全局變量。動(dòng)態(tài)存儲(chǔ)類型的變量:在程序運(yùn)行期間根據(jù)需要進(jìn)行動(dòng)態(tài)分配內(nèi)存單元,使用完畢立即釋放,例如函數(shù)的形參。變量的存儲(chǔ)方式和生存期在C語(yǔ)言中,對(duì)變量的存儲(chǔ)類型說(shuō)明有四種:

自動(dòng)變量——auto函數(shù)中的形參和在函數(shù)中定義的變量都是自動(dòng)變量。自動(dòng)型變量不可以定義在函數(shù)外部,只能定義在函數(shù)內(nèi)部。在函數(shù)內(nèi)部定義的變量默認(rèn)是auto類型,通??梢允÷躁P(guān)鍵字auto。靜態(tài)變量——static函數(shù)中靜態(tài)變量的值在函數(shù)調(diào)用結(jié)束后不會(huì)消失而保留原值。靜態(tài)變量可分為靜態(tài)局部變量和靜態(tài)全局變量?jī)煞N。變量的存儲(chǔ)方式和生存期在C語(yǔ)言中,對(duì)變量的存儲(chǔ)類型說(shuō)明有四種:

寄存器變量——registerC語(yǔ)言允許將局部變量的值放在CPU中的寄存器中,需要用時(shí)直接從寄存器取出參加運(yùn)算,不必再到內(nèi)存中去存取。外部變量——externextern聲明外部變量可以擴(kuò)展外部變量的作用域。extern全局變量可以在另外一個(gè)文件中調(diào)用,static不可以。變量的存儲(chǔ)方式和生存期(2)變量的生存期變量的生存期是指變量占有內(nèi)存單元的時(shí)間。靜態(tài)變量在程序執(zhí)行期間將一直占用內(nèi)存單元,自動(dòng)變量在作用域結(jié)束后將內(nèi)存釋放。謝謝您的聆聽(tīng)!Thankyou!數(shù)組作為函數(shù)參數(shù)

張競(jìng)丹深圳信息職業(yè)技術(shù)學(xué)院12數(shù)組名作函數(shù)實(shí)參目錄數(shù)組元素作函數(shù)實(shí)參目錄121數(shù)組元素作函數(shù)實(shí)參數(shù)組名作函數(shù)實(shí)參數(shù)組元素作函數(shù)實(shí)參數(shù)組元素作函數(shù)實(shí)參由于實(shí)參可以是表達(dá)式形式,數(shù)組元素可以是表達(dá)式的組成部分,因此數(shù)組元素可以作為函數(shù)的實(shí)參,與變量作實(shí)參一樣是單向傳遞,即“值傳遞”的方式。例5-7

統(tǒng)計(jì)10個(gè)學(xué)生的語(yǔ)文成績(jī),輸出及格學(xué)生的成績(jī)。編程分析:(1)數(shù)據(jù)結(jié)構(gòu)類型題目要求形式語(yǔ)言(C)的表達(dá)輸入數(shù)據(jù)10個(gè)學(xué)生的語(yǔ)文成績(jī)實(shí)型數(shù)組:floatscore[10];數(shù)組元素作函數(shù)實(shí)參例5-7

統(tǒng)計(jì)10個(gè)學(xué)生的語(yǔ)文成績(jī),輸出及格學(xué)生的成績(jī)。編程分析:(2)算法算法流程形式語(yǔ)言的表達(dá)在主函數(shù)中從鍵盤讀入10個(gè)學(xué)生的語(yǔ)文成績(jī)存放在實(shí)型數(shù)組score中循環(huán)以函數(shù)scanf讀入數(shù)據(jù),依次存放在數(shù)組score中編寫(xiě)函數(shù)判斷學(xué)生的成績(jī)是否及格voidscoref(floats){

若s>=60

輸出s}將輸入成績(jī)中及格成績(jī)輸出循環(huán)調(diào)用函數(shù)scoref數(shù)組元素作函數(shù)實(shí)參例5-7

統(tǒng)計(jì)10個(gè)學(xué)生的語(yǔ)文成績(jī),輸出及格學(xué)生的成績(jī)。注意:在主函數(shù)中以數(shù)組元素score[i]作為實(shí)參調(diào)用scoref函數(shù)。當(dāng)i=0時(shí),將score[0]的數(shù)值傳遞給形參s,這是單向傳遞數(shù)值的方式.33score[0]s目錄122數(shù)組名作函數(shù)實(shí)參數(shù)組名作函數(shù)實(shí)參數(shù)組元素作函數(shù)實(shí)參數(shù)組名作函數(shù)實(shí)參如希望在函數(shù)中處理整個(gè)數(shù)組元素,可以用數(shù)組名作函數(shù)實(shí)參,其用法與變量相同;但是,此時(shí)傳遞的是數(shù)組的首地址,這是一個(gè)雙向“傳地址”的方式。例5-8有10個(gè)學(xué)生成績(jī),用一個(gè)函數(shù)求全體學(xué)生的平均成績(jī)編程分析:(1)數(shù)據(jù)結(jié)構(gòu)類型題目要求形式語(yǔ)言(C)的表達(dá)輸入數(shù)據(jù)10個(gè)學(xué)生的成績(jī)實(shí)型數(shù)組:floatscore[10];數(shù)組名作函數(shù)實(shí)參例5-8有10個(gè)學(xué)生成績(jī),用一個(gè)函數(shù)求全體學(xué)生的平均成績(jī)編程分析:(2)算法算法流程形式語(yǔ)言的表達(dá)在主函數(shù)中從鍵盤讀入10個(gè)學(xué)生的語(yǔ)文成績(jī)存放在實(shí)型數(shù)組score中循環(huán)以函數(shù)scanf讀入數(shù)據(jù),依次存放在數(shù)組score中編寫(xiě)函數(shù)計(jì)算10個(gè)學(xué)生的平均成績(jī)floatmeanf(floats[]){floatsum=0;sum←循環(huán)計(jì)算累加和returnsum/10;}輸出平均分調(diào)用函數(shù)meanf,輸出其結(jié)果數(shù)組名作函數(shù)實(shí)參例5-8有10個(gè)學(xué)生成績(jī),用一個(gè)函數(shù)求全體學(xué)生的平均成績(jī)說(shuō)明:數(shù)組名即是數(shù)組的首地址,主函數(shù)以數(shù)組名score為實(shí)參調(diào)用meanf函數(shù),就是將數(shù)組的首地址傳遞給形參s,那么s所指向的即為數(shù)組score的首地址,這是雙向“傳地址”的方式。此時(shí)在函數(shù)中可以通過(guò)修改形參而改變數(shù)組元素的值,例如s[4]即為score[4]。score[4]sscores[4]謝謝您的聆聽(tīng)!Thankyou!函數(shù)的嵌套調(diào)用和遞歸調(diào)用

張競(jìng)丹深圳信息職業(yè)技術(shù)學(xué)院12函數(shù)的遞歸調(diào)用目錄函數(shù)的嵌套調(diào)用目錄121函數(shù)的嵌套調(diào)用函數(shù)的遞歸調(diào)用函數(shù)的嵌套調(diào)用函數(shù)的嵌套調(diào)用C語(yǔ)句不能嵌套定義函數(shù),但可以嵌套調(diào)用函數(shù),即在調(diào)用一個(gè)函數(shù)的過(guò)程中,又調(diào)用另一個(gè)函數(shù)。例5-4求

(n的值由用戶從鍵盤中輸入)編程分析:(1)數(shù)據(jù)結(jié)構(gòu)類型題目要求形式語(yǔ)言(C)的表達(dá)輸入數(shù)據(jù)n1個(gè)整型(int)變量:n函數(shù)的嵌套調(diào)用例5-4求

(n的值由用戶從鍵盤中輸入)編程分析:(2)算法算法流程形式語(yǔ)言的表達(dá)編寫(xiě)函數(shù)sqr_fun計(jì)算n的平方intsqr_fun(intn)編寫(xiě)函數(shù)add_fun(intn)計(jì)算n個(gè)數(shù)的平方和,其中調(diào)用函數(shù)sqr_fun計(jì)算n的平方intadd_fun(intn)編寫(xiě)主函數(shù)main,從鍵盤讀入整型變量n;然后調(diào)用add_fun函數(shù),計(jì)算n個(gè)數(shù)的平方和。以scanf讀入nadd_fun(n)以printf函數(shù)輸出add_fun(n)的返回值目錄122函數(shù)的遞歸調(diào)用函數(shù)的遞歸調(diào)用函數(shù)的嵌套調(diào)用函數(shù)的遞歸調(diào)用

C語(yǔ)言程序中,如果調(diào)用一個(gè)函數(shù)的過(guò)程中又直接或間接地調(diào)用了該函數(shù)本身,則稱之為遞歸調(diào)用。例5-5用遞歸方法求Fibonacci數(shù)列問(wèn)題已知:11235

813213455

……在屏幕上打印出數(shù)列的前20個(gè)元素。函數(shù)的遞歸調(diào)用

C語(yǔ)言程序中,如果調(diào)用一個(gè)函數(shù)的過(guò)程中又直接或間接地調(diào)用了該函數(shù)本身,則稱之為遞歸調(diào)用。例5-5用遞歸方法求Fibonacci數(shù)列問(wèn)題算法分析:

設(shè)n為正整數(shù),f(n)表示Fibonacci數(shù)列的第n個(gè)數(shù)當(dāng)n=1時(shí),f(n)=1當(dāng)n=2時(shí),f(n)=1當(dāng)n>2時(shí),f(n)=f(n-2)+f(n-1)函數(shù)的遞歸調(diào)用遞歸問(wèn)題的三個(gè)必要條件:求解問(wèn)題能夠以同一方法解決,即能夠歸納出遞歸公式,例如在例5-5中“當(dāng)n>2時(shí),f(n)=f(n-2)+f(n-1)”。遞歸中參數(shù)每次遞減,例如在例5-5中求f(20)調(diào)用f(19)、f(18)……遞歸中必須有遞歸出口,即遞歸的結(jié)束條件,例如在例5-5中f(1)=1、f(2)=1。另外,受計(jì)算機(jī)操作系統(tǒng)內(nèi)存管理限制,遞歸調(diào)用不能層次太深。函數(shù)的遞歸調(diào)用例5-6趣味程序(迷宮—迷宮地圖的生成)以深度優(yōu)先生成樹(shù)算法生成迷宮地圖,地圖中從入口到出口有且只有一條通路。編程分析:(1)以函數(shù)遞歸實(shí)現(xiàn)迷宮地圖的生成迷宮地圖的生成就是深度優(yōu)先生成樹(shù)算法的實(shí)現(xiàn),下面以函數(shù)遞歸來(lái)實(shí)現(xiàn)該算法的編寫(xiě)。首先,選擇一個(gè)頂點(diǎn)為起始頂點(diǎn)將其賦值為路,例如第一個(gè)頂點(diǎn)Map[1,1]=0。然后,找到其相鄰頂點(diǎn),任意選擇其中一個(gè)頂點(diǎn),先判斷此頂點(diǎn)是否被遍歷過(guò),如果未被遍歷過(guò),則將這兩個(gè)頂點(diǎn)以邊相連接,并從這個(gè)鄰接頂點(diǎn)開(kāi)始,遞歸調(diào)用函數(shù),繼續(xù)處理。直到所有頂點(diǎn)都被處理完畢。函數(shù)的遞歸調(diào)用例5-6趣味程序(迷宮—迷宮地圖的生成)以深度優(yōu)先生成樹(shù)算法生成迷宮地圖,地圖中從入口到出口有且只有一條通路。編程分析:(1)以函數(shù)遞歸實(shí)現(xiàn)迷宮地圖的生成最后,將邊框頂點(diǎn)賦值為墻,出入口只需選擇邊框中任意下標(biāo)為奇數(shù)行位置的數(shù)組元素即可,例如選Map[1,0]點(diǎn)為入口,Map[Height,width+1]點(diǎn)為出口。(2)在第四章例4-4的基礎(chǔ)上,將迷宮數(shù)據(jù)類型的初始化、迷宮的后處理、迷宮的繪制以函數(shù)來(lái)實(shí)現(xiàn),編寫(xiě)相應(yīng)的函數(shù)initalizemap、finishmap和drawmap。函數(shù)的遞歸調(diào)用例5-6趣味程序(迷宮—迷宮地圖的生成)以深度優(yōu)先生成樹(shù)算法生成迷宮地圖,地圖中從入口到出口有且只有一條通路。執(zhí)行結(jié)果:函數(shù)的遞歸調(diào)用例5-6趣味程序(迷宮—迷宮地圖的生成)以深度優(yōu)先生成樹(shù)算法生成迷宮地圖,地圖中從入口到出口有且只有一條通路。結(jié)果分析:程序編寫(xiě)完畢,編譯、鏈接、執(zhí)行后,發(fā)現(xiàn)設(shè)計(jì)的迷宮地圖過(guò)于簡(jiǎn)單,如圖5-8。主要原因在于生成迷宮時(shí),初始節(jié)點(diǎn)固定選擇Map[1,1],對(duì)鄰接節(jié)點(diǎn)的選擇也是按照固定方向選擇。算法改進(jìn):迷宮地圖的隨機(jī)生成:為使得生成的迷宮地圖復(fù)雜化,設(shè)計(jì)隨機(jī)選取初始節(jié)點(diǎn)以及隨機(jī)選取鄰接節(jié)點(diǎn),生成的隨機(jī)迷宮地圖如圖5-9。函數(shù)的遞歸調(diào)用例5-6趣味程序(迷宮—迷宮地圖的生成)以深度優(yōu)先生成樹(shù)算法生成迷宮地圖,地圖中從入口到出口有且只有一條通路。背景知識(shí):rand函數(shù)語(yǔ)法:rand(void)功能:用于產(chǎn)生一個(gè)偽隨機(jī)unsignedint整數(shù)。srand(seed)用于給rand()函數(shù)設(shè)定種子。srand和rand應(yīng)該組合使用。一般來(lái)說(shuō),srand是對(duì)rand進(jìn)行設(shè)置。注意:此函數(shù)定義在stdlib.h中函數(shù)的遞歸調(diào)用例5-6趣味程序(迷宮—迷宮地圖的生成)以深度優(yōu)先生成樹(shù)算法生成迷宮地圖,地圖中從入口到出口有且只有一條通路。背景知識(shí):srand函數(shù)語(yǔ)法:voidsrand(unsignedintseed);功能:srand函數(shù)是隨機(jī)數(shù)發(fā)生器的初始化函數(shù)注意:此函數(shù)定義在stdlib.h中函數(shù)的遞歸調(diào)用例5-6趣味程序(迷宮—迷宮地圖的生成)以深度優(yōu)先生成樹(shù)算法生成迷宮地圖,地圖中從入口到出口有且只有一條通路。背景知識(shí):time函數(shù)語(yǔ)法:time_ttime(time_t*t);功能:返回某一特定時(shí)間的小數(shù)值。函數(shù)TIME返回的小數(shù)值為0(零)到0.99999999之間的數(shù)值,代表從0:00:00(12:00:00AM)到23:59:59(11:59:59P.M.)之間的時(shí)間.返回值:成功則返回秒數(shù),失敗則返回((time_t)-1)值,錯(cuò)誤原因存于errno中。注意:此函數(shù)定義在time.h中函數(shù)的遞歸調(diào)用例5-6趣味程序(迷宮—迷宮地圖的生成)以深度優(yōu)先生成樹(shù)算法生成迷宮地圖,地圖中從入口到出口有且只有一條通路。執(zhí)行結(jié)果:謝謝您的聆聽(tīng)!Thankyou!函數(shù)的定義與調(diào)用

張競(jìng)丹深圳信息職業(yè)技術(shù)學(xué)院課前準(zhǔn)備引言例5-1輸入a、b、c三個(gè)實(shí)數(shù),輸出最小值。編程分析:(1)數(shù)據(jù)結(jié)構(gòu)類型題目要求形式語(yǔ)言(C)的表達(dá)輸入數(shù)據(jù)三個(gè)實(shí)型變量a、b、cfloata,b,c;輸出數(shù)據(jù)三個(gè)實(shí)型變量的最小值floatmin;課前準(zhǔn)備引言例5-1輸入a、b、c三個(gè)實(shí)數(shù),輸出最小值。編程分析:(2)算法

算法流程形式語(yǔ)言的表達(dá)比較a和b的大小,將最小值賦值給實(shí)型變量min若a>bmin←b否則min←a比較min與c的大小,將最小值賦值給實(shí)型變量min若min>cmin←c輸出最小值以printf函數(shù)輸出min課前準(zhǔn)備引言例5-1輸入a、b、c三個(gè)實(shí)數(shù),輸出最小值。

#include<stdio.h>

voidmain()

{ floata,b,c,min; scanf("%f%f%f",&a,&b,&c); if(a<b)min=a; else

min=b; if(c<min)

min=c; printf("min=%f\n",min);

}課前準(zhǔn)備引言例5-1輸入a、b、c三個(gè)實(shí)數(shù),輸出最小值。

#include<stdio.h>floatmin(floatx,floaty){floatz;if(x<y)z=x;

elsez=y;

returnz;}voidmain(){ floata,b,c,fmin; scanf("%f%f%f",&a,&b,&c); fmin=min(a,b);

fmin=min(fmin,c); printf("min=%f\n",fmin);}23函數(shù)的概念函數(shù)的調(diào)用目錄1函數(shù)的定義目錄23函數(shù)的概念1函數(shù)的概念函數(shù)的調(diào)用1函數(shù)的定義函數(shù)的概念函數(shù)是C語(yǔ)言源程序的基本模塊,通過(guò)對(duì)函數(shù)模塊的調(diào)用實(shí)現(xiàn)特定的功能,函數(shù)的名字一般反映其代表的功能。用戶可把自己的算法編成一個(gè)相對(duì)獨(dú)立的函數(shù)模塊,然后以調(diào)用的方法來(lái)使用函數(shù)。

一個(gè)C語(yǔ)言的源程序可以由一個(gè)主函數(shù)和若干個(gè)其它函數(shù)構(gòu)成,程序的執(zhí)行從主函數(shù)(main)開(kāi)始,主函數(shù)可以調(diào)用其它函數(shù),調(diào)用后返回主函數(shù),在主函數(shù)中結(jié)束整個(gè)程序的運(yùn)行。主函數(shù)調(diào)用其它函數(shù),其它函數(shù)也可以互相調(diào)用,同一個(gè)函數(shù)可以被一個(gè)或多個(gè)函數(shù)調(diào)用任意多次,但是任何其它函數(shù)都不可以調(diào)用主函數(shù)。函數(shù)的概念函數(shù)分類從用戶使用的角度:庫(kù)函數(shù):編譯系統(tǒng)提供的,用戶可以直接使用例如:scanf,printf,powf,sqrt等用戶自定義函數(shù)例如:floatmin(floatx,floaty)從函數(shù)的形式看:無(wú)參數(shù)函數(shù)例如:voidmain()有參數(shù)函數(shù)例如:floatmin(floatx,floaty)目錄23函數(shù)的概念2函數(shù)的定義函數(shù)的調(diào)用1函數(shù)的定義課前準(zhǔn)備函數(shù)的定義一般形式:類型名

函數(shù)名(){

函數(shù)體}例如:voidprint_star(){printf("******\n");}無(wú)參函數(shù)的定義課前準(zhǔn)備函數(shù)的定義一般形式:類型名

函數(shù)名(形式參數(shù)表列){

函數(shù)體}例如:floataddf(floatc1,floatc2){c1=c1+c2;printf("=%.2f\n",c1);returnc1;}有參函數(shù)的定義課前準(zhǔn)備函數(shù)的定義關(guān)于函數(shù)定義的說(shuō)明:函數(shù)名的命名遵循標(biāo)識(shí)符命名規(guī)則,不能與同一作用域中其它標(biāo)識(shí)符重名。無(wú)參函數(shù)雖然沒(méi)有形式參數(shù),但是函數(shù)名后的一對(duì)括號(hào)不能省略。有參函數(shù)在定義函數(shù)時(shí),形參只是一個(gè)形式上的參數(shù),沒(méi)有具體的值,也不分配內(nèi)存。只有當(dāng)其它函數(shù)調(diào)用該函數(shù)時(shí),才會(huì)為形參分配內(nèi)存并賦予具體的值。每個(gè)形參的類型必須單獨(dú)定義,即使形參的類型相同,也不能合在一起定義,并且中間用逗號(hào)隔開(kāi)。類型名是指函數(shù)值的數(shù)據(jù)類型。如果調(diào)用函數(shù)后需要得到函數(shù)返回值,則在函數(shù)體中用return語(yǔ)句將函數(shù)值返回,并且在函數(shù)首部的最前面給出該函數(shù)值的類型;如果不需要得到函數(shù)值,那么在函數(shù)體中不需要出現(xiàn)return語(yǔ)句,在函數(shù)首部的最前面將函數(shù)值的類型定義為空類型void。目錄23函數(shù)的概念3函數(shù)的調(diào)用函數(shù)的調(diào)用1函數(shù)的定義課前準(zhǔn)備函數(shù)的調(diào)用一般形式:函數(shù)名();例如:print_star();有參函數(shù)的調(diào)用一般形式:函數(shù)名(實(shí)參表列);例如:

count1=addf(count1,count2);無(wú)參函數(shù)的調(diào)用課前準(zhǔn)備函數(shù)的調(diào)用關(guān)于形參與實(shí)參的說(shuō)明:在被定義的函數(shù)中必須指定形參的類型。形參在函數(shù)定義時(shí)并不占內(nèi)存中的存儲(chǔ)單元,只有在函數(shù)調(diào)用時(shí)形參才被分配內(nèi)存單元;調(diào)用結(jié)束后形參所占的內(nèi)存單元會(huì)被釋放。實(shí)參可以是常量、變量或表達(dá)式實(shí)參與形參的類型應(yīng)相同或兼容。C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是單向的,只能將實(shí)參的數(shù)值傳遞給形參,形參的改變是不會(huì)影響實(shí)參的數(shù)值;在內(nèi)存中,實(shí)參單元與形參單元是不同的。課前準(zhǔn)備函數(shù)的調(diào)用對(duì)被調(diào)用函數(shù)的聲明和

溫馨提示

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

評(píng)論

0/150

提交評(píng)論