




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一部分第一部分 C+C+結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)本章內(nèi)容本章內(nèi)容 函數(shù)概述函數(shù)概述 函數(shù)的定義和調(diào)用函數(shù)的定義和調(diào)用 函數(shù)原型函數(shù)原型 參數(shù)的傳遞機(jī)制參數(shù)的傳遞機(jī)制 函數(shù)與指針函數(shù)與指針 嵌套調(diào)用和遞歸調(diào)用嵌套調(diào)用和遞歸調(diào)用 函數(shù)參數(shù)的缺省函數(shù)參數(shù)的缺省 函數(shù)重載函數(shù)重載 函數(shù)模板函數(shù)模板 內(nèi)聯(lián)函數(shù)內(nèi)聯(lián)函數(shù) 系統(tǒng)函數(shù)系統(tǒng)函數(shù) 作用域、生存期與可見(jiàn)性作用域、生存期與可見(jiàn)性 編譯預(yù)處理編譯預(yù)處理 帶參數(shù)的帶參數(shù)的main( ) main( ) 2 2例:求3 31694#include #includevoid main( )double sum; sum=sqrt(4)+sqrt (9)+
2、sqrt (16);coutsum=sumendl;求求 4!+9!+16!l 遇到的問(wèn)題:遇到的問(wèn)題:沒(méi)有求階乘的庫(kù)函數(shù)!沒(méi)有求階乘的庫(kù)函數(shù)!l 自己動(dòng)手做函數(shù)自己動(dòng)手做函數(shù) 函數(shù)應(yīng)該有名字函數(shù)應(yīng)該有名字 函數(shù)有入口(函數(shù)的參數(shù))函數(shù)有入口(函數(shù)的參數(shù)) 函數(shù)有出口(函數(shù)的返回值)函數(shù)有出口(函數(shù)的返回值)4 4sqrt4293164xyxyFact (n )return f;5 5函數(shù)名函數(shù)名函數(shù)的參數(shù)(入口)函數(shù)的參數(shù)(入口) 可以有多個(gè)參數(shù)可以有多個(gè)參數(shù)函數(shù)的返回值(出口)函數(shù)的返回值(出口) 只能有一個(gè)返回值只能有一個(gè)返回值double Fact (int n )double f;r
3、eturn f;怎樣實(shí)現(xiàn)函數(shù)的功能?怎樣實(shí)現(xiàn)函數(shù)的功能?double Fact ( int n )double f=1.0for(int i=1; i=n; i+) f*=i;return f;函數(shù)的返函數(shù)的返回類(lèi)型回類(lèi)型#include double Fact( int n )double f=1.0for(int i=1; i=n; i+) f*=i;return f;void main( )double sum; sum=Fact(4)+Fact(9)+Fact(16);cout“4!+9!+16!=sumendl;不使用函數(shù)會(huì)怎樣?6 6#include void main( )int
4、 i1, i2, i3;double s, s1, s2, s3; s1=1.0;for(i1=1;i1=4;i1+)s1*=i1;s2=1.0;for(i2=1;i2=9;i2+)s2*=i2;s3=1.0;for(i3=1;i3=16;i2+)s3*=i3;s=s1+s2+s3;#include void main( )int i;double s, s1, s2, s3; s1=1.0;for(i=1;i=4;i+)s1*=i;s2=1.0;for(i=1;i=9;i+)s2*=i;s3=1.0;for(i=1;i=16;i+)s3*=i;s=s1+s2+s3;#include void
5、 main( )int i;double s, s1; s=0;s1=1.0;for(i=1;i=4;i+)s1*=i;s+=s1;s1=1.0;for(i=1;i=9;i+) s1*=i;s+=s1;s1=1.0;for(i=1;i=16;i+) s1*=i;s+=s1;#include void main( )int i, j;int a3=4,9,16;double sum=0, temp; for(i=0; i3; i+)temp=1.0for(j=1; j=ai; j+) temp*=j;sum+=temp;cout“4!+9!+16!=sumendl;#include double
6、 Fact( int n )double f=1.0for(int i=1; i=n; i+) f*=i;return f;void main( )double sum; sum=Fact(4)+Fact(9)+Fact(16);cout“4!+9!+16!=sumendl;討論:使用函數(shù)的好處討論:使用函數(shù)的好處 減少重復(fù)的代碼;減少重復(fù)的代碼; 使用函數(shù)使用函數(shù)“分擔(dān)分擔(dān)”程序的部分功能;程序的部分功能; 使思路更加清晰:使思路更加清晰:程序所有功能可以分解為若干程序所有功能可以分解為若干個(gè)不同的函數(shù)完成。個(gè)不同的函數(shù)完成。main()是一個(gè)是一個(gè)“節(jié)目主持節(jié)目主持人人”,作為程序的主干;
7、,作為程序的主干; 可以把編程工作分配給一個(gè)可以把編程工作分配給一個(gè)team,每人負(fù)責(zé)編,每人負(fù)責(zé)編寫(xiě)若干個(gè)函數(shù),有一個(gè)統(tǒng)一的寫(xiě)若干個(gè)函數(shù),有一個(gè)統(tǒng)一的接口;接口; 修改主函數(shù)或某個(gè)函數(shù),不影響其它;修改主函數(shù)或某個(gè)函數(shù),不影響其它; 可重復(fù)使用!可重復(fù)使用!7 7#include double Factorial(int n)double temp=1.0;if(n=0) return 1.0;for(int i=1;i=n;i+)temp*=i;return temp;void main( )double s;s=Factorial(6)+Factorial (17)+Factorial
8、(20);cout6!+17!+20!=sendl; 函數(shù)的定義函數(shù)的定義函數(shù)的調(diào)用函數(shù)的調(diào)用函數(shù)的首部函數(shù)返回值的類(lèi)型函數(shù)名形參的類(lèi)型和名稱函數(shù)體內(nèi)部變量說(shuō)明部分可執(zhí)行語(yǔ)句部分兩種形式兩種形式作為表達(dá)式一部分作為表達(dá)式一部分語(yǔ)句調(diào)用語(yǔ)句調(diào)用實(shí)參實(shí)參函數(shù)原型函數(shù)原型與變量一樣,函數(shù)也需要先聲明后使用。如果函數(shù)的調(diào)用在定義之前,則需要有函數(shù)原型。形式上,函數(shù)原型與函數(shù)定義的頭部相同。8 8#include double Factorial(int x);/函數(shù)原型函數(shù)原型void main( )double s;s=Factorial (6)+Factorial (17)+Factorial (
9、20);cout6!+17!+20!=sendl; double Factorial(int n)double temp=1.0;if(n=0) return 1.0;for(int i=1; i=n; i+) temp*=i;return temp;C+語(yǔ)言源程序的特點(diǎn)語(yǔ)言源程序的特點(diǎn)l 源程序構(gòu)成:源程序構(gòu)成:一個(gè)一個(gè)C+源程序由一個(gè)主函數(shù)和若源程序由一個(gè)主函數(shù)和若干個(gè)相關(guān)的子函數(shù)組成。干個(gè)相關(guān)的子函數(shù)組成。l 主主函數(shù):函數(shù):總是以總是以main ( )作為開(kāi)頭,是源程序執(zhí)作為開(kāi)頭,是源程序執(zhí)行的起點(diǎn),其結(jié)尾是源程序運(yùn)行的終點(diǎn)。它是行的起點(diǎn),其結(jié)尾是源程序運(yùn)行的終點(diǎn)。它是唯唯一能夠獨(dú)立運(yùn)
10、行一能夠獨(dú)立運(yùn)行的函數(shù),可以位于源程序的前面、的函數(shù),可以位于源程序的前面、中間或者后面。中間或者后面。l 子函數(shù)子函數(shù):是功能獨(dú)立和簡(jiǎn)單的程序。它的運(yùn)行需是功能獨(dú)立和簡(jiǎn)單的程序。它的運(yùn)行需要函數(shù)間的調(diào)用指令。要函數(shù)間的調(diào)用指令。l 函數(shù)種類(lèi):函數(shù)種類(lèi):包括用戶自編寫(xiě)函數(shù)、系統(tǒng)函數(shù)(包括用戶自編寫(xiě)函數(shù)、系統(tǒng)函數(shù)( 由由C+系統(tǒng)提供)。系統(tǒng)提供)。4.1 函數(shù)概述函數(shù)概述9 94. 2 函數(shù)的定義和調(diào)用函數(shù)的定義和調(diào)用1. 函數(shù)的定義函數(shù)的定義類(lèi)型名類(lèi)型名 函數(shù)名函數(shù)名(形式參數(shù)表)(形式參數(shù)表)語(yǔ)句序列語(yǔ)句序列 定義函數(shù)內(nèi)容:函數(shù)名稱、函數(shù)返值類(lèi)型、函數(shù)定義函數(shù)內(nèi)容:函數(shù)名稱、函數(shù)返值類(lèi)型、函
11、數(shù)參數(shù)個(gè)數(shù)和類(lèi)型、以及編寫(xiě)實(shí)現(xiàn)的函數(shù)的功能的語(yǔ)句參數(shù)個(gè)數(shù)和類(lèi)型、以及編寫(xiě)實(shí)現(xiàn)的函數(shù)的功能的語(yǔ)句函數(shù)定義的一般形式為:函數(shù)定義的一般形式為:1010函數(shù)定義各部分的含義函數(shù)定義各部分的含義 函數(shù)名:函數(shù)名:函數(shù)命名與變量名命名方法相同。作為一函數(shù)命名與變量名命名方法相同。作為一種種標(biāo)識(shí)符標(biāo)識(shí)符,函數(shù)名命名最好反映該函數(shù)的功能,做,函數(shù)名命名最好反映該函數(shù)的功能,做到到“見(jiàn)名知意見(jiàn)名知意”。如用。如用factorial好于好于F。 形式參數(shù)表:形式參數(shù)表:用圓括號(hào)括起來(lái);參數(shù)間用逗號(hào)隔開(kāi);用圓括號(hào)括起來(lái);參數(shù)間用逗號(hào)隔開(kāi);必須指明類(lèi)型。若無(wú)參數(shù),圓括號(hào)內(nèi)什么也不寫(xiě)或必須指明類(lèi)型。若無(wú)參數(shù),圓括號(hào)內(nèi)
12、什么也不寫(xiě)或?qū)憣?xiě)void,但圓括號(hào)本身不能省略。,但圓括號(hào)本身不能省略。 類(lèi)型名:類(lèi)型名:實(shí)際是實(shí)際是返回值返回值的數(shù)據(jù)類(lèi)型??梢允腔緮?shù)的數(shù)據(jù)類(lèi)型??梢允腔緮?shù)據(jù)類(lèi)型、構(gòu)造數(shù)據(jù)類(lèi)型、據(jù)類(lèi)型、構(gòu)造數(shù)據(jù)類(lèi)型、指針或引用指針或引用。 return語(yǔ)語(yǔ)句實(shí)現(xiàn)函數(shù)的返值功能。句實(shí)現(xiàn)函數(shù)的返值功能。如果一個(gè)函數(shù)沒(méi)有返回值,如果一個(gè)函數(shù)沒(méi)有返回值,返回值類(lèi)型標(biāo)記為返回值類(lèi)型標(biāo)記為void。如果定義時(shí)沒(méi)指定類(lèi)型,如果定義時(shí)沒(méi)指定類(lèi)型,則默認(rèn)的類(lèi)型是則默認(rèn)的類(lèi)型是int型(注意不是型(注意不是void型)。型)。1111 花括號(hào):花括號(hào):花括號(hào)內(nèi)是各種語(yǔ)句組成的函數(shù)體,花括號(hào)內(nèi)是各種語(yǔ)句組成的函數(shù)體,函數(shù)是程
13、序運(yùn)行的基本單位。函數(shù)的定義不可以嵌函數(shù)是程序運(yùn)行的基本單位。函數(shù)的定義不可以嵌套,套,即函數(shù)體內(nèi)不允許定義另一個(gè)函數(shù)。即函數(shù)體內(nèi)不允許定義另一個(gè)函數(shù)。 return語(yǔ)句:語(yǔ)句:return 表達(dá)式;表達(dá)式;可以沒(méi)有表達(dá)式,可以沒(méi)有表達(dá)式,只一個(gè)只一個(gè)return(此時(shí)可以省略);如果沒(méi)有(此時(shí)可以省略);如果沒(méi)有return語(yǔ)句,函數(shù)執(zhí)行至語(yǔ)句,函數(shù)執(zhí)行至“”返回。函數(shù)內(nèi)可以多個(gè)返回。函數(shù)內(nèi)可以多個(gè)return語(yǔ)句,注意函數(shù)的返回值只能有一個(gè)。語(yǔ)句,注意函數(shù)的返回值只能有一個(gè)。/P79,例,例4.2:沒(méi)有形參和返回值的函數(shù):沒(méi)有形參和返回值的函數(shù)注意 函數(shù)返回值是void,只能用語(yǔ)句方式調(diào)用
14、。 函數(shù)返回值是int(缺省)或其它,如果沒(méi)有return語(yǔ)句,則可能返回一個(gè)任意的數(shù)。 當(dāng)函數(shù)有返回值,如果不關(guān)心返回值是多少,也可以用語(yǔ)句方式調(diào)用。 當(dāng)函數(shù)作為表達(dá)式時(shí),表達(dá)式的值就是函數(shù)的返回值1212void alphabet() cout“abcdefgn”; main() alphabet();void alphabet() cout“abcdefgn”;return;/可以沒(méi)有可以沒(méi)有return語(yǔ)句語(yǔ)句main() int x;x=alphabet();coutxendl; /不能以表達(dá)式方式調(diào)用不能以表達(dá)式方式調(diào)用alphabet() /int alphabet() cout
15、“abcdefgn”;return 1;main() int x;x=alphabet();coutxendl; /輸出輸出1alphabet()cout“abcdefgn”;main() int x;x=alphabet();coutxendl; /x的值其實(shí)沒(méi)有意義的值其實(shí)沒(méi)有意義alphabet()cout“abcdefgn”;main() int dummy;dummy=alphabet();alphabet();/兩種調(diào)用方法都可以兩種調(diào)用方法都可以1313/P79,例,例4.1:定義求:定義求xn的函數(shù)的函數(shù)#includelong power(int x, int n) long
16、 p=1;/注意類(lèi)型的一致注意類(lèi)型的一致for(int i=1; i=n; i+) p=p*x;return p;main() long x;double y;x=power(3,4);/類(lèi)型一致類(lèi)型一致y=power(3, 2.5); /沒(méi)有得到?jīng)]有得到3的的2.5次方次方coutx=x,y=yendl;1414/求求xy,(x、y可以輸入)可以輸入)#includepower(int x, int n)int p=1;for(int i=1; ixy;z=power(x, y);/類(lèi)型一致類(lèi)型一致cout“z=zendl;/求求xy (x、y可以輸入)可以輸入)#includepower(
17、int x, int n)int p=1;for(int i=1; ixy;cout“z= power(x, y) endl;/不成功的例子不成功的例子#includepower(int x, int n) int p=1; cinxn;for(int i=1; i=n; i+) p=p*x;cout“p=”pendl;main()int x, y, z;x=3; y=4;z= power(x, y);cout“z=zendl;/成功但不好的例子成功但不好的例子#includepower() /不能寫(xiě)成:不能寫(xiě)成:power(int x, int n) int x, n;int p=1; ci
18、nxn;for(int i=1; i=n; i+) p=p*x;cout“z=”pendl;main()power();/函數(shù)的形參與函數(shù)內(nèi)部的局部變量有什么不同?函數(shù)的形參與函數(shù)內(nèi)部的局部變量有什么不同?/P80,例,例4.3:有多個(gè):有多個(gè)return語(yǔ)句函數(shù)語(yǔ)句函數(shù)#includemax(int a1, int a2)/函數(shù)類(lèi)型函數(shù)類(lèi)型int可以省略可以省略 /返回返回a1、a2中大的數(shù)中大的數(shù)if(a1a2)return a1;elsereturn a2;void main()coutmax(3, 4)endl;coutmax(9, 8)endl; /返回語(yǔ)句可以有多個(gè),但返回值只能有
19、一個(gè)!返回語(yǔ)句可以有多個(gè),但返回值只能有一個(gè)!15152. 函數(shù)的調(diào)用函數(shù)的調(diào)用是指在一個(gè)函數(shù)執(zhí)行中間,轉(zhuǎn)去執(zhí)行其他函數(shù)的過(guò)程。子函數(shù)一經(jīng)定義,就可以被main()主函數(shù)、其他函數(shù)、甚至該子函數(shù)自身多次調(diào)用。函數(shù)調(diào)用形式為:函數(shù)調(diào)用形式為: 函數(shù)名函數(shù)名(實(shí)參表)(實(shí)參表);注意實(shí)參與形參在注意實(shí)參與形參在數(shù)量數(shù)量、類(lèi)型類(lèi)型、位置位置上的一致性上的一致性long F(int x, double y, bool z)/定義定義main()long u;u=F(3, 2.5, true);/調(diào)用調(diào)用1616#include double F(int x, double y, bool z)cout
20、x=xendl;couty=yendl;coutz=zendl;return 1.5;void main()long u=F(3.5, 2, 6);coutu=uendl;1717函數(shù)調(diào)用的嵌套函數(shù)調(diào)用的嵌套 函數(shù)可以反復(fù)調(diào)用。 函數(shù)的定義不可以嵌套,但是函數(shù)的調(diào)用可以嵌套。void main() int x, i;coutx;for(i=1; i=10; i+)coutpower(x,i)endl;long m=power(power(x, 2), 3);coutmendl; /如果如果x=2, 則則m=6418184. 3 函數(shù)原型函數(shù)原型l函數(shù)原形的一般形式:函數(shù)原形的一般形式:類(lèi)型名類(lèi)
21、型名 函數(shù)名函數(shù)名(形參表);(形參表);l用途:事先聲明某函數(shù)的存在。即當(dāng)調(diào)用用途:事先聲明某函數(shù)的存在。即當(dāng)調(diào)用函數(shù)語(yǔ)句出現(xiàn)在被調(diào)用函數(shù)定義之前的時(shí)函數(shù)語(yǔ)句出現(xiàn)在被調(diào)用函數(shù)定義之前的時(shí)候,必須事先對(duì)該被調(diào)用函數(shù)進(jìn)行原型說(shuō)候,必須事先對(duì)該被調(diào)用函數(shù)進(jìn)行原型說(shuō)明。明。 調(diào)用在前,定義在后,需要聲明。調(diào)用在前,定義在后,需要聲明。 定義在前,調(diào)用在后,可以沒(méi)有聲明,首部兼定義在前,調(diào)用在后,可以沒(méi)有聲明,首部兼做聲明的作用。做聲明的作用。l 函數(shù)原型即函數(shù)定義的第一行的內(nèi)容,后函數(shù)原型即函數(shù)定義的第一行的內(nèi)容,后面加上面加上“;”(分號(hào)分號(hào))。 1919舉例,P80,例4.4:求35#inclu
22、de int power(int x, int n)int i, p=1; for(i=1; i=n; i+) p=p*x; return p;void main()int x, s; coutx;s=power(x, 3)+power(x, 5);couts=sendl;#include int power(int x, int n);/函數(shù)原形函數(shù)原形 void main()int x, s; coutx;s=power(x, 3)+power(x, 5);couts=sendl;int power(int x, int n)int i, p=1; for(i=1; i=n; i+) p=
23、p*x; return p;#include int power(int a, int b);void main()int x, s; coutx;s=power(x, 3)+power(x, 5);couts=sendl;int power(int x, int n)int i, p=1; for(i=1; i=n; i+) p=p*x; return p;#include int power(int, int);void main()int x, s; coutx;s=power(x, 3)+power(x, 5);couts=sendl;int power(int x, int n)in
24、t i, p=1; for(i=1; i=n; i+) p=p*x; return p;#include int power(int, int);int power(int x, int n)int i, p=1; for(i=1; i=n; i+) p=p*x; return p;void main()int x, s; coutx;s=power(x, 3)+power(x, 5);couts=sendl;2020 函數(shù)原型舉例,P82,例4.6#include f1(); /原型,標(biāo)準(zhǔn)寫(xiě)法:原型,標(biāo)準(zhǔn)寫(xiě)法:int f1(void);void main() coutthis is main
25、()n; /f1(); 與下邊的調(diào)用有什么區(qū)別?與下邊的調(diào)用有什么區(qū)別? coutf1()endl; int f1(void) /int和和void都可以省略都可以省略 f1() coutthis is f1()n; return 1; int f2(void) coutthis is f2()n; return 2;int f3(void) coutthis is f3()n; coutf2()endl; return 3;#include /原型原型int f1(), f2(), f3();void main() coutthis is main()n; coutf1()endl; int
26、 f1(void) coutthis is f1()n; coutf3()endl; return 1; 輸出:輸出:this is main()this is f1()this is f3()this is f2()23121214. 4 參數(shù)傳遞機(jī)制參數(shù)傳遞機(jī)制l 用實(shí)參去替換形參的過(guò)程稱作參數(shù)傳遞。用實(shí)參去替換形參的過(guò)程稱作參數(shù)傳遞。l 當(dāng)一個(gè)函數(shù)被調(diào)用時(shí),系統(tǒng)會(huì)給該函數(shù)的形參分配當(dāng)一個(gè)函數(shù)被調(diào)用時(shí),系統(tǒng)會(huì)給該函數(shù)的形參分配存儲(chǔ)空間,同時(shí)要求提供與形參的類(lèi)型、個(gè)數(shù)存儲(chǔ)空間,同時(shí)要求提供與形參的類(lèi)型、個(gè)數(shù)一致一致的實(shí)參。的實(shí)參。 #include int MyAdd(int x, int
27、y) return 2*x+3*y;void main() coutMyAdd(3, 4)endl;#include int MyAdd(int x, int y) return 2*x+3*y;void main() int x=3, y=4;coutMyAdd(x, y)endl;#include int MyAdd(int x, int y) return 2*x+3*y;void main() int x=3, y=4;coutMyAdd(y, x)endl;2222l 數(shù)值傳遞機(jī)制(傳值方式)數(shù)值傳遞機(jī)制(傳值方式) 將各個(gè)實(shí)參的值將各個(gè)實(shí)參的值 按位置先后順序按位置先后順序 拷貝(
28、傳遞)拷貝(傳遞)給與之對(duì)應(yīng)的各個(gè)形參。傳遞后的形參與對(duì)應(yīng)的給與之對(duì)應(yīng)的各個(gè)形參。傳遞后的形參與對(duì)應(yīng)的實(shí)參雖然數(shù)值相同,但卻是不同的變量。實(shí)參雖然數(shù)值相同,但卻是不同的變量。 P83,例,例4.7 將兩個(gè)變量的內(nèi)容交換將兩個(gè)變量的內(nèi)容交換#include void swap(int x, int y)int temp; temp=x; x=y; y=temp;void main() int a(15), b(18);swap (a, b); cout“調(diào)用調(diào)用swap的輸出的輸出: a=”a“,b=bendl; 調(diào)用swap的輸出: a=15,b18#include void swap(int
29、 x, int y); /函數(shù)原型函數(shù)原型void main() int a(15), b(18); cout“調(diào)用調(diào)用swap前的輸出前的輸出: a=”a“,b=bendl; swap (a, b);cout“調(diào)用調(diào)用swap的輸出的輸出: a=”a“,b=bendl; void swap(int x, int y) int temp; cout“交換前的輸出交換前的輸出: x=”x“,y=yendl; temp=x; x=y; y=temp; cout“swap函數(shù)輸出函數(shù)輸出: x=”x“,y=yendl; 調(diào)用調(diào)用swap前的輸出前的輸出: a=15,b=18交換前的輸出:交換前的輸出
30、:x=15,y=18swap函數(shù)的輸出:函數(shù)的輸出:x=18,y=15調(diào)用調(diào)用swap的輸出的輸出: a=15,b=182323l 傳地址調(diào)用機(jī)制傳地址調(diào)用機(jī)制 形參是一個(gè)形參是一個(gè)指針,指針,實(shí)參傳遞的是地址。實(shí)參傳遞的是地址。 /P84例例4.8#include void swap(int *x, int *y); /函數(shù)原型函數(shù)原型void main() int a(15), b(18); cout“調(diào)用調(diào)用swap前的輸出前的輸出: a=”a“,b=bendl; swap (&a, &b); cout“調(diào)用調(diào)用swap的輸出的輸出: a=”a“,b=bendl; voi
31、d swap(int *x, int *y) int temp; cout“交換前的輸出交換前的輸出: *x=”*x“,*y=*yendl; temp=*x; *x=*y; *y=temp; cout“swap函數(shù)輸出函數(shù)輸出: *x=”*x“,*y=*yendl; 調(diào)用調(diào)用swap前的輸出前的輸出: a=15,b=18交換前的輸出:交換前的輸出:*x=15,*y=18swap函數(shù)的輸出:函數(shù)的輸出:*x=18,*y=15調(diào)用調(diào)用swap的輸出的輸出: a=18,b=152424傳地址方式的一個(gè)典型應(yīng)用傳地址方式的一個(gè)典型應(yīng)用 使用傳地址的方式可以使函數(shù)得到使用傳地址的方式可以使函數(shù)得到不止不
32、止一一個(gè)個(gè)返回值。返回值。 例:求解方程例:求解方程ax2+bx+c=0#include #includefun (double, double, double, double *, double *);main()double a, b, c, x1, x2;cinabc;if(fun(a, b, c, &x1, &x2)cout“x1=“x1“, x2=“x2endl;elsecout“無(wú)實(shí)數(shù)根n”;fun (double a, double b, double c, double *x1, double *x2)double t;t=b*b-4*a*c;if(t0)ret
33、urn 0;else t=sqrt(t);*x1=(-b+t)/(2*a); *x2=(-b+t)/(2*a);return 1; 2525l 函數(shù)的引用調(diào)用函數(shù)的引用調(diào)用 引用是給已知變量起個(gè)別名。引用是給已知變量起個(gè)別名。 引用作形參時(shí),可以被認(rèn)為是實(shí)參的一個(gè)引用作形參時(shí),可以被認(rèn)為是實(shí)參的一個(gè)別名,別名,傳遞后形參和實(shí)參實(shí)際是同一個(gè)量傳遞后形參和實(shí)參實(shí)際是同一個(gè)量。對(duì)形參的任何操作都直接作用于實(shí)參。形對(duì)形參的任何操作都直接作用于實(shí)參。形參變化,對(duì)應(yīng)實(shí)參值也發(fā)生了變化。參變化,對(duì)應(yīng)實(shí)參值也發(fā)生了變化。 引用調(diào)用與傳地址調(diào)用的效果是一樣的,引用調(diào)用與傳地址調(diào)用的效果是一樣的,但它比傳地址調(diào)用
34、更方便、直觀。但它比傳地址調(diào)用更方便、直觀。/P85例例4.9#include void swap(int &x, int &y); /函數(shù)原型函數(shù)原型void main() int a=15,b=18; cout主函數(shù)第主函數(shù)第1次輸出次輸出:“; couta=a“, b=bendl; swap(a, b); cout主函數(shù)第主函數(shù)第2次輸出次輸出: ;couta=a“, b=bendl;void swap(int &x, int &y) int temp; temp=x; x=y; y=temp;2626#include void F1(int &x
35、, int &y) x*=x;y*=2;void main() int x=3, y=4;F1(x, y);cout“x=”x“, y=”yendl;x=9,y=8#include void F1(int &y, int &x) x*=x;y*=2;void main() int x=3, y=4;F1(x, y);cout“x=”x“, y=”yendl;x=6,y=162727參數(shù)傳遞方式小結(jié)參數(shù)傳遞方式小結(jié)l 值的傳遞(值的傳遞(passing by value)數(shù)值傳遞機(jī)制:數(shù)值傳遞機(jī)制:形參是變量,實(shí)參也是變量或形參是變量,實(shí)參也是變量或常數(shù)(或表達(dá)式),調(diào)用
36、中行參發(fā)生改變,不常數(shù)(或表達(dá)式),調(diào)用中行參發(fā)生改變,不影響實(shí)參原來(lái)的值。影響實(shí)參原來(lái)的值。地址傳遞機(jī)制:地址傳遞機(jī)制:形參是指針,實(shí)參是地址。形形參是指針,實(shí)參是地址。形參改變,實(shí)參相應(yīng)改變。參改變,實(shí)參相應(yīng)改變。l 引用傳遞(引用傳遞(passing by reference)形參是引用(別名),實(shí)參是變量。實(shí)參和形形參是引用(別名),實(shí)參是變量。實(shí)參和形參實(shí)際是同一變量。形參改變,實(shí)參改變。參實(shí)際是同一變量。形參改變,實(shí)參改變。引用與引用與傳地址傳地址更加接近。更加接近。更加方便、直觀和安全更加方便、直觀和安全2828l 函數(shù)的參數(shù)是數(shù)組函數(shù)的參數(shù)是數(shù)組 形參是一個(gè)指向數(shù)組的指針,實(shí)參
37、是形參是一個(gè)指向數(shù)組的指針,實(shí)參是數(shù)組的首地址。數(shù)組的首地址。l 函數(shù)的返回值是數(shù)組函數(shù)的返回值是數(shù)組 一般返回一個(gè)指針即可一般返回一個(gè)指針即可數(shù)組與函數(shù)的關(guān)系數(shù)組與函數(shù)的關(guān)系2929數(shù)組作為函數(shù)的參數(shù)數(shù)組作為函數(shù)的參數(shù)當(dāng)數(shù)組整體作為函數(shù)的參數(shù)時(shí),當(dāng)數(shù)組整體作為函數(shù)的參數(shù)時(shí),采用傳地址采用傳地址的方法,避免了成批數(shù)據(jù)在形參和實(shí)參之間的方法,避免了成批數(shù)據(jù)在形參和實(shí)參之間進(jìn)行復(fù)制。進(jìn)行復(fù)制。地址可以用數(shù)組名,也可以用指向數(shù)組的指地址可以用數(shù)組名,也可以用指向數(shù)組的指針。針。例子:例子:P86,例,例4.10,數(shù)組排序,數(shù)組排序#include void sort (int *a); /函數(shù)原型函
38、數(shù)原型void main()int s10=2,3,5,1,7,9,0,4,8,6;sort(s);/實(shí)參是數(shù)組名,即數(shù)組地址實(shí)參是數(shù)組名,即數(shù)組地址for(int i=0; i10; i+) coutsi ;coutendl; void sort(int *a) /形參是指針形參是指針int temp;for(int i=0; i9; i+)for(int j=i+1; jaj)/*(a+i) temp=ai; ai=aj; aj=temp; #include void sort (int a10); /函數(shù)原型函數(shù)原型void main()int s10=2,3,5,1,7,9,0,4,8
39、,6;sort(s); /實(shí)參是地址實(shí)參是地址for(int i=0; i10; i+) coutsi ;coutendl; void sort(int a10)/形參形參形式上形式上是一個(gè)數(shù)組是一個(gè)數(shù)組int temp;for(int i=0; i9; i+)for(int j=i+1; jaj) temp=ai; ai=aj; aj=temp; #include void sort (int a);void main()int s10=2,3,5,1,7,9,0,4,8,6;sort(s); /實(shí)參是數(shù)組實(shí)參是數(shù)組for(int i=0; i10; i+) coutsi ;coutendl
40、;void sort(int a)/ 形參是數(shù)組形式形參是數(shù)組形式int temp;for(int i=0; i9; i+)for(int j=i+1; jaj) temp=ai; ai=aj; aj=temp; #include void sort (int a50);void main()int s10=2,3,5,1,7,9,0,4,8,6;sort(s); /實(shí)參是數(shù)組實(shí)參是數(shù)組for(int i=0; i10; i+) coutsi ;coutendl;void sort(int a100)/ 形參是數(shù)組形式形參是數(shù)組形式int temp;for(int i=0; i9; i+)fo
41、r(int j=i+1; jaj) temp=ai; ai=aj; aj=temp; #include void sort (int *a);void main()int s10=2,3,5,1,7,9,0,4,8,6;int *p=s;sort(p); /實(shí)參是指針?biāo)4娴牡刂穼?shí)參是指針?biāo)4娴牡刂穎or(int i=0; i10; i+) coutsi ;coutendl; void sort(int *a) /形參是指針形參是指針int temp;for(int i=0; i9; i+)for(int j=i+1; jaj) temp=ai; ai=aj; aj=temp; #inclu
42、de void sort (int *a); /原型和定義原型和定義看起來(lái)看起來(lái)不一樣不一樣void main()int s10=2,3,5,1,7,9,0,4,8,6;int *p=s;sort(p); /實(shí)參是指針?biāo)4娴牡刂穼?shí)參是指針?biāo)4娴牡刂穎or(int i=0; i10; i+) coutsi ;coutendl; void sort(int a) /形參是數(shù)組形式形參是數(shù)組形式int temp;for(int i=0; i9; i+)for(int j=i+1; jaj) temp=ai; ai=aj; aj=temp; 3030/ P87例例4.11#include void
43、 fun (int *p); /函數(shù)原型函數(shù)原型void main( )int a =2,4,6,8,10 ; fun(a); /調(diào)調(diào)fun()函數(shù)函數(shù) for(int i=0; i5; i+) coutai ; cout=p; q-, p+ ) t=*q; *q=*p; *p=t; 3131二維數(shù)組作參數(shù)二維數(shù)組作參數(shù)l二維數(shù)組作函數(shù)參數(shù)時(shí),二維數(shù)組作函數(shù)參數(shù)時(shí),形參形參可以使用二維可以使用二維數(shù)組指針的各種等價(jià)形式:數(shù)組指針的各種等價(jià)形式: 二維數(shù)組:二維數(shù)組:x行數(shù)行數(shù)列數(shù)列數(shù) 省略行數(shù)的二維數(shù)組省略行數(shù)的二維數(shù)組x 列數(shù)列數(shù) 指針指針*pf 行指針行指針 (*px) 指針數(shù)組指針數(shù)組*
44、py 指針的指針指針的指針*pl二維數(shù)組作參數(shù)時(shí),采用的是傳地址方式。二維數(shù)組作參數(shù)時(shí),采用的是傳地址方式。3232P87,例,例4.12:求二維數(shù)組中每行元:求二維數(shù)組中每行元素的最大值及最大值所在列的位置。素的最大值及最大值所在列的位置。#include const int N= 5;void fmax(int (*p)N); /函數(shù)原型,函數(shù)原型,行指針作形參行指針作形參void main( ) int aNN=0, 0,-5,3,6,12, 1,-1,9,7,0, 0,1,3,-5,8, 0,1,-1,-2,0; fmax(a); /調(diào)調(diào)fmax( )函數(shù),函數(shù),數(shù)組名作實(shí)參數(shù)組名作實(shí)
45、參void fmax (int (*p)N) int i, j, r=0, c=0, hmax;for(i=0; iN; i+)hmax=*(*(p+i)+0); /pi0 for (j=0; jhmax)/pij hmax=*(*(p+i)+j); r=i; c=j; coutr c ;coutmax=hmaxendl; #include const int N= 5;void fmax(int *pN); /指針數(shù)組作形參指針數(shù)組作形參void main( ) int aNN=0, 0,-5,3,6,12, 1,-1,9,7,0, 0,1,3,-5,8, 0,1,-1,-2,0;int *
46、p= a0, a1, a2, a3, aN-1; fmax(p); /調(diào)調(diào)fmax( )函數(shù),函數(shù),指針數(shù)組名作實(shí)參指針數(shù)組名作實(shí)參void fmax (int *pN) int i, j, r=0, c=0, hmax;for(i=0; iN; i+)hmax=pi0; for (j=0; jhmax) hmax=pij; r=i; c=j; coutr c ;coutmax=hmaxendl; #include const int N= 5;void fmax(int *p); /指針的指針作形參指針的指針作形參void main( ) int aNN=0, 0,-5,3,6,12, 1,
47、-1,9,7,0, 0,1,3,-5,8, 0,1,-1,-2,0;int *q= a0, a1, a2, a3, aN-1; fmax(q); /調(diào)調(diào)fmax( )函數(shù),函數(shù),指針數(shù)組名作實(shí)參指針數(shù)組名作實(shí)參void fmax (int *p) int i, j, r=0, c=0, hmax;for(i=0; iN; i+)hmax=pi0; for (j=0; jhmax) hmax=pij; r=i; c=j; coutr c ;coutmax=hmaxendl; #include const int N= 5;void fmax(int pNN); /數(shù)組作形參,也可以沒(méi)有行數(shù)數(shù)組作
48、形參,也可以沒(méi)有行數(shù)void main( ) int aNN=0, 0,-5,3,6,12, 1,-1,9,7,0, 0,1,3,-5,8, 0,1,-1,-2,0; fmax(a); /調(diào)調(diào)fmax( )函數(shù),函數(shù),數(shù)組名作實(shí)參數(shù)組名作實(shí)參void fmax (int pNN) int i, j, r=0, c=0, hmax;for(i=0; iN; i+)hmax=pi0; for (j=0; jhmax)/pij hmax=pij; r=i; c=j; coutr c ;coutmax=hmaxendl; #include const int N= 5;void fmax(int *p
49、); /普通指針作形參普通指針作形參void main()int aNN=0, 0,-5,3,6,12, 1,-1,9,7,0, 0,1,3,-5,8, 0,1,-1,-2,0; fmax(a0); /初始地址作實(shí)參初始地址作實(shí)參/可不可以寫(xiě)成可不可以寫(xiě)成a00?寫(xiě)成?寫(xiě)成a呢?呢?void fmax(int *p) int i, j, r=0, c=0, hmax; for(i=0; iN; i+) hmax=*(p+0); for(j=0; jhmax) hmax=*(p+j); r=i; c=j; coutr c max=hmaxendl; p+=N; /修改指針,指向下一行修改指針,指
50、向下一行 33334. 6 函數(shù)與指針函數(shù)與指針 4. 6. 1 函數(shù)返回指針或返回引用函數(shù)返回指針或返回引用 1.指針型函數(shù)指針型函數(shù) 函數(shù)的返回值是一個(gè)指針(地址),則稱該函數(shù)為函數(shù)的返回值是一個(gè)指針(地址),則稱該函數(shù)為指針函數(shù)。指針函數(shù)主要用在當(dāng)函數(shù)結(jié)束時(shí),需要指針函數(shù)。指針函數(shù)主要用在當(dāng)函數(shù)結(jié)束時(shí),需要大量的數(shù)據(jù)從被調(diào)用函數(shù)返回調(diào)用函數(shù)的情況。大量的數(shù)據(jù)從被調(diào)用函數(shù)返回調(diào)用函數(shù)的情況。指針函數(shù)的定義形式:指針函數(shù)的定義形式:類(lèi)型類(lèi)型 *函數(shù)名函數(shù)名(參數(shù)參數(shù)) 3434#include const int N= 5;void fmax(int pN);void main()int a
51、NN=0,0,-5,3,6,12,1,-1,9,7,0, 0,1,3,-5,8,0,1,-1,-2,0;fmax(a);void fmax(int pN)int i, j, hmax;for(i=0; iN; i+)hmax=pi0;for(j=0; jhmax)hmax=pij;coutmax=hmaxendl;#include const int N= 5;int * fmax(int pN);/返回一個(gè)指針?lè)祷匾粋€(gè)指針void main()int aNN=0,0,-5,3,6,12,1,-1,9,7,0, 0,1,3,-5,8,0,1,-1,-2,0;int *b;b=fmax(a);f
52、or(int i=0;iN;i+)coutbiendl;int * fmax(int pN)int i, j;static int hmaxN;for(i=0; iN; i+)hmaxi=pi0;for(j=0; jhmaxi)hmaxi=pij; return hmax;3535返回指針的函數(shù)使用時(shí)要注意:返回指針的函數(shù)使用時(shí)要注意: 不能把局部作用域內(nèi)數(shù)據(jù)的地址作為不能把局部作用域內(nèi)數(shù)據(jù)的地址作為返回值,因?yàn)楹瘮?shù)返回后,函數(shù)的局部變返回值,因?yàn)楹瘮?shù)返回后,函數(shù)的局部變量占有的空間被釋放,量占有的空間被釋放,引用已消失空間的引用已消失空間的地址是危險(xiǎn)的地址是危險(xiǎn)的。因此在因此在fmax( )
53、函數(shù)中將函數(shù)中將字符型指針數(shù)組字符型指針數(shù)組hmax聲明為聲明為static(靜靜態(tài)態(tài)),),這樣在函數(shù)返回后靜態(tài)變量不會(huì)消這樣在函數(shù)返回后靜態(tài)變量不會(huì)消失,對(duì)地址的引用是安全的。失,對(duì)地址的引用是安全的。36362. 返回引用返回引用 函數(shù)也可以函數(shù)也可以返回引用返回引用,系統(tǒng)在處理返回引用與,系統(tǒng)在處理返回引用與返回值時(shí)是有區(qū)別的:函數(shù)返回值時(shí),系統(tǒng)生成一返回值時(shí)是有區(qū)別的:函數(shù)返回值時(shí),系統(tǒng)生成一個(gè)返回值的副本(或稱臨時(shí)變量),由這個(gè)臨時(shí)變個(gè)返回值的副本(或稱臨時(shí)變量),由這個(gè)臨時(shí)變量給到調(diào)用函數(shù)的接受變量。而返回引用時(shí),不生量給到調(diào)用函數(shù)的接受變量。而返回引用時(shí),不生成副本,直接將引用
54、的值給到調(diào)用函數(shù)。成副本,直接將引用的值給到調(diào)用函數(shù)。 由于引用只是另一個(gè)量的別名,因此由于引用只是另一個(gè)量的別名,因此返回引用返回引用絕不能返回不在作用域范圍內(nèi)的變量(或?qū)ο螅┑慕^不能返回不在作用域范圍內(nèi)的變量(或?qū)ο螅┑囊靡?。因?yàn)橐粋€(gè)變量(或?qū)ο螅┮坏┩顺銎渌诘囊驗(yàn)橐粋€(gè)變量(或?qū)ο螅┮坏┩顺銎渌诘淖饔糜?,?duì)它的任何引用也就毫無(wú)意義。作用域,對(duì)它的任何引用也就毫無(wú)意義。 3737P97,例,例4.16:函數(shù)返回引用函數(shù)返回引用/P92例例4.16#include int &f1(int &a1); /函數(shù)函數(shù)f1( )返回引用返回引用int f2(int a2);vo
55、id main() int x=2; int b1=f1(x); int b2=f2(x); coutb1=b1 b2=b2endl; coutx=xendl;int &f1(int &a1)/a1和和x是一個(gè)變量是一個(gè)變量 a1+=a1; return a1; /返回值給了返回值給了a1,也就是,也就是xint f2(int a2)/將將x當(dāng)時(shí)的值(當(dāng)時(shí)的值(4)復(fù)制給)復(fù)制給a2 a2+=a2; return a2; /b1得到的是得到的是a2的值的值8。int &f1(int &a1)int aa;aa=a1*2;return aa; /錯(cuò)誤錯(cuò)誤改為改為f
56、1(x);int b1=x;結(jié)果相同結(jié)果相同38384. 6. 2 函數(shù)指針函數(shù)指針l 函數(shù)也占據(jù)內(nèi)存空間,即函數(shù)也占據(jù)內(nèi)存空間,即函數(shù)函數(shù)也有地址也有地址。因此。因此可以聲明一個(gè)可以聲明一個(gè)指向函數(shù)的指針指向函數(shù)的指針,可以通過(guò)這個(gè),可以通過(guò)這個(gè)指針調(diào)用函數(shù)。這個(gè)指針就成為函數(shù)指針。指針調(diào)用函數(shù)。這個(gè)指針就成為函數(shù)指針。聲明函數(shù)指針的一般形式:聲明函數(shù)指針的一般形式:類(lèi)型類(lèi)型 (* *指針)(參數(shù)表)指針)(參數(shù)表)注意:類(lèi)型是被指函數(shù)的返回值的類(lèi)型。注意:類(lèi)型是被指函數(shù)的返回值的類(lèi)型。對(duì)比:對(duì)比: int *f1(int a, int b )/函數(shù)函數(shù) int (*f2)(int a, i
57、nt b);/指針指針3939#includedouble f1(double x, double y)return x+y;void main()double z;double (*p)(double a, double b);p=f1;z=(*p)(3.14, 1.23);/z=f1(3.14, 1.23);coutz=zendl;#includedouble f1(double x, double y)return x+y;void main()double z;double (*p)(double, double)=f1;z=(*p)(3.14, 1.23);coutz=zendl;4
58、040l 主要用途:如果函數(shù)的參數(shù)是函數(shù)。主要用途:如果函數(shù)的參數(shù)是函數(shù)。實(shí)參是具體用到的函數(shù)名,而形參只實(shí)參是具體用到的函數(shù)名,而形參只能是一個(gè)指向函數(shù)的指針。能是一個(gè)指向函數(shù)的指針。/使用一個(gè)指向函數(shù)的指針使用一個(gè)指向函數(shù)的指針#include #includedouble fun(double (*f1)(double),double (*f2)(double), double x)return (*f1)(x)/(*f2)(x);void main()coutfun(sin,cos,3.14/6)endl;coutfun(cos,sin,3.14/6)endl;414110151)co
59、s5sin3()(2g1(x)nnnnxnxxgxl P93P93例例4.174.17:編寫(xiě)能完成各種有限:編寫(xiě)能完成各種有限級(jí)數(shù)的求和函數(shù),調(diào)用它,分別級(jí)數(shù)的求和函數(shù),調(diào)用它,分別求:求: 4242/求和求和double sig(double x) double s=0.0; for(int n=1; n=5; n+) s+=x; return s;/被加的不是被加的不是x,而是,而是g1(x)=xndouble sig(double x) double s=0.0; for(int n=1; n=5; n+) s+=g1(x, n); return s;/g1(n)的功能是可以求出的功能是
60、可以求出x的的n次方次方double g1(double x, int n)double s1=1; for(int i=1; i=n; i+) s1*=x; return (s1);/被加的可能是被加的可能是g1(x, n),也可能是,也可能是g2(x, n)/g2(x, n)=3*sin(n*x)+5*cos(n*x)double sig(double x) double s=0.0; for(int n=1; n=5; n+) s+=g1(x, n); return s;double g1(double x, int n)double s1=1; for(int i=1; i=n; i+) s1*=x; return (s1);double g2(double x, int n)double s2;s2=3*sin
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年云計(jì)算服務(wù)模式創(chuàng)新與市場(chǎng)競(jìng)爭(zhēng)格局預(yù)測(cè)研究報(bào)告
- 2025年元宇宙社交平臺(tái)虛擬現(xiàn)實(shí)社交場(chǎng)景構(gòu)建與用戶體驗(yàn)研究
- 2025屆云南省云南大附中(一二一校區(qū))八年級(jí)英語(yǔ)第二學(xué)期期中質(zhì)量檢測(cè)試題含答案
- 四川省錦江區(qū)七中學(xué)育才2025年英語(yǔ)八下期中復(fù)習(xí)檢測(cè)試題含答案
- 2025年醫(yī)院信息化建設(shè)醫(yī)療質(zhì)量管理評(píng)估報(bào)告
- 2025年醫(yī)藥企業(yè)研發(fā)外包(CRO)與臨床試驗(yàn)數(shù)據(jù)安全與隱私保護(hù)法規(guī)解讀報(bào)告
- 2025年醫(yī)藥流通行業(yè)供應(yīng)鏈與成本控制策略創(chuàng)新研究報(bào)告
- 2025年醫(yī)藥流通行業(yè)供應(yīng)鏈優(yōu)化與成本控制管理創(chuàng)新報(bào)告
- 2025年數(shù)字貨幣行業(yè)監(jiān)管政策對(duì)加密貨幣市場(chǎng)的影響報(bào)告001
- 保潔安全培訓(xùn)試題及答案
- SL345-2007水利水電工程注水試驗(yàn)規(guī)程
- qc技術(shù)主管述職報(bào)告
- 護(hù)患溝通及糾紛防范
- 人工動(dòng)靜脈瘺狹窄查房
- PTBD管路維護(hù)技術(shù)
- 220kV變電運(yùn)行中的故障排除方法
- 高壓滅菌器應(yīng)急預(yù)案
- 環(huán)衛(wèi)車(chē)輛交通安全知識(shí)講座
- 學(xué)生頂崗實(shí)習(xí)成績(jī)考核表
- NB-T 47013.15-2021 承壓設(shè)備無(wú)損檢測(cè) 第15部分:相控陣超聲檢測(cè)
- 保安報(bào)名表和資格審查表
評(píng)論
0/150
提交評(píng)論