第8次課函數(shù)的定義、聲明和調(diào)用_第1頁(yè)
第8次課函數(shù)的定義、聲明和調(diào)用_第2頁(yè)
第8次課函數(shù)的定義、聲明和調(diào)用_第3頁(yè)
第8次課函數(shù)的定義、聲明和調(diào)用_第4頁(yè)
第8次課函數(shù)的定義、聲明和調(diào)用_第5頁(yè)
已閱讀5頁(yè),還剩24頁(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)介

1、第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)又開(kāi)始學(xué)習(xí)又開(kāi)始學(xué)習(xí)新的一章了新的一章了第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)教學(xué)主題教學(xué)主題函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用教學(xué)目標(biāo)教學(xué)目標(biāo) 通過(guò)本次課的學(xué)習(xí),使學(xué)生掌握函數(shù)的定義、通過(guò)本次課的學(xué)習(xí),使學(xué)生掌握函數(shù)的定義、聲明及調(diào)用方法,函數(shù)之間參數(shù)傳遞的方法。聲明及調(diào)用方法,函數(shù)之間參數(shù)傳遞的方法。教學(xué)重點(diǎn)教學(xué)重點(diǎn) 1函數(shù)的定義、聲明及調(diào)用函數(shù)的定義、聲明及調(diào)用 2函數(shù)的形參、實(shí)參、參數(shù)的傳遞函數(shù)的形參、實(shí)參、參數(shù)的傳遞 3函數(shù)的返回值函數(shù)的返回

2、值教學(xué)難點(diǎn)教學(xué)難點(diǎn) 1函數(shù)的定義、聲明及調(diào)用三者的區(qū)別函數(shù)的定義、聲明及調(diào)用三者的區(qū)別 2函數(shù)參數(shù)的傳遞方法函數(shù)參數(shù)的傳遞方法教案教案第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)主要內(nèi)容主要內(nèi)容 函數(shù)的全面認(rèn)識(shí)函數(shù)的全面認(rèn)識(shí) 函數(shù)的定義函數(shù)的定義 函數(shù)的調(diào)用函數(shù)的調(diào)用 函數(shù)的聲明函數(shù)的聲明 函數(shù)的形參和實(shí)參函數(shù)的形參和實(shí)參 函數(shù)的返回值函數(shù)的返回值第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)本章任務(wù)本章任務(wù) 編寫(xiě)(簡(jiǎn)易)成績(jī)管理系統(tǒng)的主菜單框架,有編寫(xiě)(簡(jiǎn)易)成績(jī)管理系統(tǒng)的主菜單框架,有輸入成績(jī)、計(jì)算總成績(jī)、計(jì)

3、算平均成績(jī)、輸出成績(jī)輸入成績(jī)、計(jì)算總成績(jī)、計(jì)算平均成績(jī)、輸出成績(jī)等菜單項(xiàng)。等菜單項(xiàng)。第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)函數(shù)的全面認(rèn)識(shí)函數(shù)的全面認(rèn)識(shí) 什么是函數(shù)?什么是函數(shù)? 函數(shù)是一個(gè)完成特定功能的程序段。函數(shù)是一個(gè)完成特定功能的程序段。 用戶可以把程序編寫(xiě)成一個(gè)個(gè)相對(duì)獨(dú)立的函用戶可以把程序編寫(xiě)成一個(gè)個(gè)相對(duì)獨(dú)立的函數(shù)模塊,然后用調(diào)用的方法來(lái)實(shí)現(xiàn)所要求的功能。數(shù)模塊,然后用調(diào)用的方法來(lái)實(shí)現(xiàn)所要求的功能。 采用函數(shù)結(jié)構(gòu)的好處?采用函數(shù)結(jié)構(gòu)的好處? 使程序?qū)哟谓Y(jié)構(gòu)清晰。使程序?qū)哟谓Y(jié)構(gòu)清晰。 便于程序的編寫(xiě)、閱讀和調(diào)試。便于程序的編寫(xiě)、閱讀和調(diào)試。第

4、第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)函數(shù)的全面認(rèn)識(shí)函數(shù)的全面認(rèn)識(shí) 一個(gè)一個(gè)C C程序程序由由一個(gè)主函數(shù)一個(gè)主函數(shù)和和若干個(gè)其它函數(shù)若干個(gè)其它函數(shù)構(gòu)成。構(gòu)成。 所有函數(shù)都是平行的,即在定義時(shí)相互獨(dú)立的,所有函數(shù)都是平行的,即在定義時(shí)相互獨(dú)立的,函數(shù)不能嵌套定義函數(shù)不能嵌套定義。 由由主函數(shù)調(diào)用其它函數(shù)主函數(shù)調(diào)用其它函數(shù),其它函數(shù)其它函數(shù)之間可以之間可以相相互調(diào)用互調(diào)用。同一個(gè)函數(shù)同一個(gè)函數(shù)可以被一個(gè)或多個(gè)函數(shù)可以被一個(gè)或多個(gè)函數(shù)調(diào)用任調(diào)用任意多次意多次。 C C程序程序總是總是從從mainmain函數(shù)開(kāi)始執(zhí)行函數(shù)開(kāi)始執(zhí)行,mainmain函數(shù)執(zhí)行函

5、數(shù)執(zhí)行完,整個(gè)完,整個(gè)C C程序也就結(jié)束。程序也就結(jié)束。第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)函數(shù)的全面認(rèn)識(shí)函數(shù)的全面認(rèn)識(shí) 在在C語(yǔ)言中,函數(shù)有兩種:語(yǔ)言中,函數(shù)有兩種:標(biāo)準(zhǔn)庫(kù)函數(shù)、用戶自標(biāo)準(zhǔn)庫(kù)函數(shù)、用戶自定義函數(shù)定義函數(shù)。 C語(yǔ)言中的語(yǔ)言中的標(biāo)準(zhǔn)庫(kù)函數(shù)是系統(tǒng)提供的標(biāo)準(zhǔn)庫(kù)函數(shù)是系統(tǒng)提供的,主要提供,主要提供一些一些基本的功能基本的功能。比如前面提到的輸入輸出函數(shù)、。比如前面提到的輸入輸出函數(shù)、數(shù)學(xué)函數(shù)等。數(shù)學(xué)函數(shù)等。 在在使用使用這些這些庫(kù)函數(shù)庫(kù)函數(shù)的時(shí)候,必須的時(shí)候,必須包含包含該函數(shù)聲明該函數(shù)聲明所在的所在的頭文件頭文件。例如,使用例如,使用

6、scanf和和printf時(shí),要在程序開(kāi)始處加下時(shí),要在程序開(kāi)始處加下面一行。面一行。 #include “stdio.h”第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)函數(shù)的定義函數(shù)的定義 定義的位置定義的位置在語(yǔ)言中,所有的在語(yǔ)言中,所有的函數(shù)定義函數(shù)定義(包括主函數(shù)(包括主函數(shù)main在在內(nèi))內(nèi))都是平行的都是平行的。也就是說(shuō),在一個(gè)函數(shù)的函數(shù)體內(nèi),。也就是說(shuō),在一個(gè)函數(shù)的函數(shù)體內(nèi),不能再定義另一個(gè)函數(shù),不能再定義另一個(gè)函數(shù), 即即函數(shù)不能嵌套定義函數(shù)不能嵌套定義。第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)

7、構(gòu)函數(shù)的定義函數(shù)的定義 函數(shù)定義的一般形式:函數(shù)定義的一般形式:有兩種。有兩種。格式格式2:類型標(biāo)識(shí)符類型標(biāo)識(shí)符 函數(shù)名(函數(shù)名(類型類型 形參形參1,類型,類型 形參形參n) 函數(shù)體函數(shù)體格式格式1:類型標(biāo)識(shí)符類型標(biāo)識(shí)符 函數(shù)名(函數(shù)名(形參表形參表)形參類型說(shuō)明形參類型說(shuō)明; 函數(shù)體函數(shù)體說(shuō)明說(shuō)明函數(shù)的返回值類型函數(shù)的返回值類型,可以是任何一種有效類型,可以是任何一種有效類型,當(dāng)返回值是當(dāng)返回值是int或或char時(shí)可時(shí)可以省略,不需要返回值時(shí)以省略,不需要返回值時(shí)寫(xiě)成寫(xiě)成void。必須是一個(gè)合必須是一個(gè)合法的標(biāo)識(shí)符。法的標(biāo)識(shí)符。TCTC中兩種格式都可以用,中兩種格式都可以用,VCVC環(huán)境

8、中用格式環(huán)境中用格式2 2。第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)函數(shù)定義舉例函數(shù)定義舉例 【問(wèn)題【問(wèn)題1 1】編寫(xiě)函數(shù)編寫(xiě)函數(shù)max(),求整型求整型a、b的較大數(shù),并的較大數(shù),并作為函數(shù)值返回。作為函數(shù)值返回。 用格式用格式1編碼如下:編碼如下:int max( a, b )int a, b; int c; c = a=b?a:b; return c;函數(shù)頭部函數(shù)頭部函數(shù)名為函數(shù)名為maxmax函數(shù)返回值類型為函數(shù)返回值類型為intint有有a a、b b兩個(gè)形參,類型為整型兩個(gè)形參,類型為整型函數(shù)體函數(shù)體將變量將變量c c的值作為函數(shù)值返回

9、,的值作為函數(shù)值返回,其類型為其類型為intint,和上面一致。,和上面一致。第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)函數(shù)定義舉例函數(shù)定義舉例 【問(wèn)題【問(wèn)題1 1】編寫(xiě)函數(shù)編寫(xiě)函數(shù)max(),求整型求整型a、b的較大數(shù),并的較大數(shù),并作為函數(shù)值返回。作為函數(shù)值返回。 用格式用格式2編碼如下:編碼如下:int max( int a, int b ) int c; c = a=b?a:b; return c;提倡大家用格式提倡大家用格式2 2第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)函數(shù)的調(diào)用函數(shù)的調(diào)用 在完

10、成函數(shù)的定義以后,就可以調(diào)用函數(shù)了。在完成函數(shù)的定義以后,就可以調(diào)用函數(shù)了。 函數(shù)調(diào)用的一般形式函數(shù)調(diào)用的一般形式 函數(shù)名(實(shí)參表列)函數(shù)名(實(shí)參表列)如果調(diào)用的是無(wú)參函數(shù),如果調(diào)用的是無(wú)參函數(shù),則則“實(shí)參表列實(shí)參表列”可以沒(méi)有,可以沒(méi)有,但括弧不能省略。但括弧不能省略。第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)函數(shù)的調(diào)用函數(shù)的調(diào)用 函數(shù)調(diào)用的方式主要有三種情況:函數(shù)調(diào)用的方式主要有三種情況: 函數(shù)語(yǔ)句:函數(shù)語(yǔ)句:適合于無(wú)返回值的函數(shù),或者不需要使適合于無(wú)返回值的函數(shù),或者不需要使用返回值的函數(shù)。用返回值的函數(shù)。 例如:例如: printf( “he

11、llo!” ); 函數(shù)表達(dá)式:函數(shù)表達(dá)式:出現(xiàn)在一個(gè)表達(dá)式中,此時(shí)使用函數(shù)出現(xiàn)在一個(gè)表達(dá)式中,此時(shí)使用函數(shù)的返回值,并將此返回值作為運(yùn)算對(duì)象參與表達(dá)式的的返回值,并將此返回值作為運(yùn)算對(duì)象參與表達(dá)式的運(yùn)算。運(yùn)算。 例如:例如: c=3*max(a,b); 函數(shù)參數(shù):函數(shù)參數(shù):將函數(shù)調(diào)用作為一個(gè)函數(shù)的實(shí)參。將函數(shù)調(diào)用作為一個(gè)函數(shù)的實(shí)參。 例如:例如: d=max( c, max(a,b) );第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)函數(shù)調(diào)用舉例函數(shù)調(diào)用舉例 【問(wèn)題【問(wèn)題2 2】利用前面的】利用前面的max函數(shù),編寫(xiě)函數(shù),編寫(xiě)main函數(shù),函數(shù),實(shí)現(xiàn)求三

12、個(gè)整數(shù)的最大數(shù)。實(shí)現(xiàn)求三個(gè)整數(shù)的最大數(shù)。 源程序源程序void main() int a,b,c,d; scanf(%d,%d,%d,&a,&b,&c); d=max(c,max(a,b); printf(MAX=%d,d); 思考思考 有幾處函數(shù)調(diào)用?有幾處函數(shù)調(diào)用? 分別是哪種調(diào)用方式?分別是哪種調(diào)用方式?運(yùn)行程序運(yùn)行程序(7_2)看源程序看源程序(7_2)第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)函數(shù)調(diào)用舉例函數(shù)調(diào)用舉例 【問(wèn)題【問(wèn)題3 3】編寫(xiě)程序,實(shí)現(xiàn)求三個(gè)實(shí)數(shù)的最大數(shù)。編寫(xiě)程序,實(shí)現(xiàn)求三個(gè)實(shí)數(shù)的最大數(shù)。運(yùn)行程序運(yùn)行

13、程序(7_3)看源程序看源程序(7_3) 思考思考將兩個(gè)函數(shù)的位置前后交換一下,結(jié)果如何?將兩個(gè)函數(shù)的位置前后交換一下,結(jié)果如何?調(diào)用集成開(kāi)發(fā)環(huán)境演示!調(diào)用集成開(kāi)發(fā)環(huán)境演示!第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)函數(shù)的聲明函數(shù)的聲明 被調(diào)函數(shù)應(yīng)具備的條件:被調(diào)函數(shù)應(yīng)具備的條件: 必須已存在(定義);必須已存在(定義); 如是庫(kù)函數(shù),應(yīng)該在本文件的開(kāi)頭用如是庫(kù)函數(shù),應(yīng)該在本文件的開(kāi)頭用#include#include命命令將有關(guān)的頭文件包含到本文件中。令將有關(guān)的頭文件包含到本文件中。 如是用戶自定義函數(shù),并且定義在后調(diào)用在前,如是用戶自定義函數(shù),并

14、且定義在后調(diào)用在前,則必須在調(diào)用之前對(duì)被調(diào)函數(shù)作聲明。則必須在調(diào)用之前對(duì)被調(diào)函數(shù)作聲明。 第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)函數(shù)的聲明函數(shù)的聲明 函數(shù)聲明的一般格式:函數(shù)聲明的一般格式: 類型標(biāo)識(shí)符類型標(biāo)識(shí)符 函數(shù)名函數(shù)名( (類型類型 形參,形參,類型,類型 形參形參) ); ; 例如:例如: double max(doubledouble max(double a, double b ) a, double b ); 注意注意 函數(shù)聲明(函數(shù)聲明(函數(shù)首部加一個(gè)分號(hào)函數(shù)首部加一個(gè)分號(hào))和函數(shù)定義)和函數(shù)定義(對(duì)函數(shù)功能的確立對(duì)函數(shù)功能的確

15、立)的不同。)的不同。 在函數(shù)聲明中可以不寫(xiě)形參名,而在函數(shù)聲明中可以不寫(xiě)形參名,而只寫(xiě)形參的類只寫(xiě)形參的類型型。 例如:例如: double max(doubledouble max(double, double ), double );不可少第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)再看問(wèn)題再看問(wèn)題3 【問(wèn)題【問(wèn)題3 3】編寫(xiě)程序,實(shí)現(xiàn)求三個(gè)實(shí)數(shù)的最大數(shù)。編寫(xiě)程序,實(shí)現(xiàn)求三個(gè)實(shí)數(shù)的最大數(shù)。運(yùn)行程序運(yùn)行程序(7_3_1)看源程序看源程序(7_3_1) 思考思考將兩個(gè)函數(shù)的位置前后交換一下,結(jié)果如何?將兩個(gè)函數(shù)的位置前后交換一下,結(jié)果如何?解決辦法:

16、對(duì)函數(shù)進(jìn)行聲明。解決辦法:對(duì)函數(shù)進(jìn)行聲明。第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)函數(shù)定義、調(diào)用、聲明三者關(guān)系函數(shù)定義、調(diào)用、聲明三者關(guān)系 函數(shù)定義、函數(shù)調(diào)用、函數(shù)聲明三者的區(qū)別:函數(shù)定義、函數(shù)調(diào)用、函數(shù)聲明三者的區(qū)別: 函數(shù)定義函數(shù)定義是實(shí)現(xiàn)一定功能的程序段。是實(shí)現(xiàn)一定功能的程序段。 函數(shù)調(diào)用函數(shù)調(diào)用是對(duì)函數(shù)的使用。是對(duì)函數(shù)的使用。 函數(shù)聲明函數(shù)聲明是說(shuō)明語(yǔ)句,說(shuō)明函數(shù)的返回值類型、是說(shuō)明語(yǔ)句,說(shuō)明函數(shù)的返回值類型、函數(shù)參數(shù)的個(gè)數(shù)及類型。函數(shù)參數(shù)的個(gè)數(shù)及類型。第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)d

17、ouble max( double a, double b ); double max( double a, double b ); void main()void main() double a,b,c,d double a,b,c,d; ; printf printf( ( 請(qǐng)輸入請(qǐng)輸入3 3個(gè)實(shí)數(shù)(以逗號(hào)隔開(kāi)):個(gè)實(shí)數(shù)(以逗號(hào)隔開(kāi)): ); ); scanf(%lf,%lf,%lf,&a,&b,&c scanf(%lf,%lf,%lf,&a,&b,&c); ); d=max(c,max(a,b d=max(c,max(a,b); ); pr

18、intf(MAX=%lfn,d printf(MAX=%lfn,d);); double max( double a, double b ) double max( double a, double b ) double c; double c; c = a=b?a:b c = a=b?a:b; ; return c; return c; 函數(shù)定義、調(diào)用、聲明三者關(guān)系函數(shù)定義、調(diào)用、聲明三者關(guān)系函數(shù)調(diào)用函數(shù)調(diào)用函數(shù)聲明函數(shù)聲明函數(shù)定義函數(shù)定義第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)函數(shù)的形參和實(shí)參函數(shù)的形參和實(shí)參 形參形參(形式參數(shù)的簡(jiǎn)稱):(形式

19、參數(shù)的簡(jiǎn)稱):在函數(shù)的在函數(shù)的定義和聲明語(yǔ)定義和聲明語(yǔ)句句中,函數(shù)名后面括號(hào)中的參數(shù)。中,函數(shù)名后面括號(hào)中的參數(shù)。 實(shí)參實(shí)參(實(shí)際參數(shù)的簡(jiǎn)稱):(實(shí)際參數(shù)的簡(jiǎn)稱):在函數(shù)的在函數(shù)的調(diào)用語(yǔ)句調(diào)用語(yǔ)句中,中,函數(shù)名后面括號(hào)中的參數(shù)。函數(shù)名后面括號(hào)中的參數(shù)。 形參和實(shí)參是形參和實(shí)參是主調(diào)函數(shù)和被調(diào)函數(shù)進(jìn)行主調(diào)函數(shù)和被調(diào)函數(shù)進(jìn)行信息通信的信息通信的接口接口。傳遞給傳遞給實(shí)參實(shí)參 形參形參第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)參數(shù)傳遞規(guī)則參數(shù)傳遞規(guī)則 在實(shí)參向形參傳送參數(shù)的過(guò)程中,在實(shí)參向形參傳送參數(shù)的過(guò)程中,遵循如下的規(guī)則遵循如下的規(guī)則: 數(shù)目一致、類型

20、兼容數(shù)目一致、類型兼容。 實(shí)參可以是常量、變量或表達(dá)式實(shí)參可以是常量、變量或表達(dá)式,但它們應(yīng)有,但它們應(yīng)有確定的值確定的值;形參只能是變量形參只能是變量,而且,而且形參形參隨著函數(shù)被調(diào)用而占有內(nèi)存單元,隨著函數(shù)被調(diào)用而占有內(nèi)存單元,函數(shù)調(diào)用結(jié)束時(shí),其所占內(nèi)存單元也釋放。函數(shù)調(diào)用結(jié)束時(shí),其所占內(nèi)存單元也釋放。 如同時(shí)有多個(gè)實(shí)參,如同時(shí)有多個(gè)實(shí)參,實(shí)參的求值順序?qū)崊⒌那笾淀樞蛴械南到y(tǒng)是自左而有的系統(tǒng)是自左而右,有的系統(tǒng)是自右而左。右,有的系統(tǒng)是自右而左。Turbo c Turbo c 和和 MS c MS c 是是自右而左自右而左順順序求值。序求值。 單向值傳遞單向值傳遞,即:只由實(shí)參傳給形參,而

21、不能由形參傳,即:只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參(換言之,回來(lái)給實(shí)參(換言之,形參的值的變化不會(huì)影響實(shí)參形參的值的變化不會(huì)影響實(shí)參)。)。運(yùn)行程序運(yùn)行程序(7_3_2)看源程序看源程序(7_3_2)第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)參數(shù)傳遞舉例參數(shù)傳遞舉例 【問(wèn)題【問(wèn)題4 4】輸入兩個(gè)數(shù),并求和。要求用函數(shù)實(shí)現(xiàn)求輸入兩個(gè)數(shù),并求和。要求用函數(shù)實(shí)現(xiàn)求和。和。運(yùn)行程序運(yùn)行程序(7_4)看源程序看源程序(7_4) 思考思考 上述程序能實(shí)現(xiàn)求和嗎?為什么?上述程序能實(shí)現(xiàn)求和嗎?為什么?由于參數(shù)采用由于參數(shù)采用“單向值傳遞單向值傳遞”,所以

22、變量所以變量c c不能得到正確的結(jié)果。不能得到正確的結(jié)果。第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)函數(shù)的返回值函數(shù)的返回值 通常,通常,函數(shù)運(yùn)算結(jié)果由函數(shù)返回值返回的函數(shù)運(yùn)算結(jié)果由函數(shù)返回值返回的。 函數(shù)的返回值函數(shù)的返回值是通過(guò)函數(shù)中的是通過(guò)函數(shù)中的returnreturn語(yǔ)句語(yǔ)句獲得。獲得。 函數(shù)返回值的類型函數(shù)返回值的類型應(yīng)當(dāng)在應(yīng)當(dāng)在定義函數(shù)時(shí)指定定義函數(shù)時(shí)指定。 函數(shù)返回值的類型和函數(shù)返回值的類型和returnreturn語(yǔ)句中表達(dá)式的類型語(yǔ)句中表達(dá)式的類型不一致不一致時(shí),則以時(shí),則以函數(shù)返回值類型函數(shù)返回值類型為準(zhǔn)。為準(zhǔn)。 如果如果不使用

23、不使用returnreturn語(yǔ)句語(yǔ)句,則帶回一個(gè),則帶回一個(gè)不確定的值。不確定的值。 為了為了明確表示明確表示“不帶回值不帶回值”,可以使用,可以使用“void”void”定義成定義成“無(wú)類型無(wú)類型”。 第第3章章第第8次課次課-函數(shù)的定義、聲明和調(diào)用函數(shù)的定義、聲明和調(diào)用C語(yǔ)言與數(shù)據(jù)結(jié)構(gòu)再看問(wèn)題再看問(wèn)題4 【問(wèn)題【問(wèn)題4 4】輸入兩個(gè)數(shù),并求和。要求用函數(shù)實(shí)現(xiàn)求和。輸入兩個(gè)數(shù),并求和。要求用函數(shù)實(shí)現(xiàn)求和。 正確的源程序正確的源程序運(yùn)行程序運(yùn)行程序(7_4_1)intint sum(int x, intsum(int x, int y) y) intint z; z; z=x+y z=x+y; ; return z;return z; void main()void main() int a,b,c int a,b,c=0;=0; scanf(%d%d,&a,&b scanf(%d%d,&a,&b);); c=sum (a,bc=sum (a,b)

溫馨提示

  • 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)論