復(fù)習(xí)1以下正確的函數(shù)原型為_第1頁
復(fù)習(xí)1以下正確的函數(shù)原型為_第2頁
復(fù)習(xí)1以下正確的函數(shù)原型為_第3頁
復(fù)習(xí)1以下正確的函數(shù)原型為_第4頁
復(fù)習(xí)1以下正確的函數(shù)原型為_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

以下正確的函數(shù)原型為(d)f1(intx;inty (b)voidf1(x,y(c)voidf1(intx,y); (d)voidf1(int,int);有函數(shù)原型voidfun2(int面選項中,不正確的調(diào)用是(c)。inta=21;fun2(a); fun2(a*3);(c)intb=100;fun2(&b (d)fun2(256有函數(shù)原型voidfun3(int*);下面選項中,正確的調(diào)用是(c)。doublex=2.17;fun3(&x); (b)inta=15;fun3(a*3.14);(c)intb=100;fun3(&b (d)fun3(256有函數(shù)原型voidfun4(int&);下面選項中,正確的調(diào)用是(c)。inta=2.17;fun4(&a); (b)inta=15;fun4(a*3.14);intb=100;fun4(b (d)fun4(256)有voidfun5(int*&);inta,*p=下面選項中,正確的調(diào)用是(b)(a)fun5(&a (b)fun5(p (c)fun5(*afun5(*p6.有intfun6(int),(*pf)(int)=下面選項中,正確的調(diào)用是(c)inta=15;intn=fun6(&a);(b)inta=15;(c)cout<<(*pf)(256);(d)cout<<*pf(256);7VCvoidc)。(a)返回值需要強類型轉(zhuǎn)換(b)函數(shù)不執(zhí)行任(c)函數(shù)本身沒有返回值 (d)函數(shù)不能修改實際函數(shù)參數(shù)的默認(rèn)值不允許為(c(a)全局常 (b)直接常 (c)局部變 (d)函數(shù)調(diào)使用重載函數(shù)編程序的目的是(a使用相同的函數(shù)名調(diào)用功能相似的函 (b)共享序代 (d)節(jié)省存貯空下列的描述中(b)是錯誤的使用全局變量可以從被調(diào)用函數(shù)中獲取多個操作局部變量可以初始化,若不初始化,則系統(tǒng)默認(rèn)它的值0當(dāng)函數(shù)調(diào)用完后,靜態(tài)局部變量的值不會全局變量若不初始化,則系統(tǒng)默認(rèn)它的值為下列選項中,(c)的具有文件作用域(a)語句標(biāo) (b)局部變 (c)全局變靜態(tài)變閱讀下列程序,寫出執(zhí)行結(jié)usingnamespacestd;intf(int);intmain(){intfor(i=0;i<3;i++)cout<<f(i)<<}intf(inta{intb=0,c=1;b++;c++;returnint(a+pow(double(b),2)+c}【解答345usingnamespacestd;voidfunc(inta,intb,intc=3,intd=4);intmain(){func(10,15,20,30func(10,11,12func(12,12}voidfunc(inta,intb,intc,intd{cout<<a<<'\t'<<b<<'\t'<<c<<'\t'<<d<<}【解答434usingnamespacestd;voidfunc(int,int,int*);intmain(){intx,y,func(5,6,&xfunc(7,x,&yfunc(x,y,&zcout<<x<<","<<y<<","<<z<<}voidfunc(inta,intb,int*c{b+=a;*c=b-a}【解答6,6,usingnamespacevoidfunc(int,int,int&);intmain(){intx=0,y=1,z=2;func(1,2,x);func(x+y,y,yfunc(z,x+y,zcout<<x<<","<<y<<","<<z<<endl}voidfunc(inta,intb,int&c{b+=a;c=b-a}【解答2,1,usingnamespacestd;voidfunc(int*,int*,int*&);intmain(){inta=10,b=20;int*p=&a,*q=&b;func(p,q,p);cout<<"*p="<<*p<<",*q="<<*q<<}voidfunc(int*t1,int*t2,int*&rt{*t1+=5;*t2+=5rt=t1*rt+=5cout<<"*t1="<<*t1<<",*t2="<<*t2<<",*rt="<<*rt<<endl;}【解答usingnamespacestd;intf2(int,int);intf1(inta,intb{intca+=a;b+=bc=f2(a+b,b+1);returnc;}intf2(inta,intb{intcc=b%2;returna+c;}int{inta=3,b=cout<<f1(a,b)<<}【解答usingnamespacestd;intage(intn){intif(n==1)f=10elsef=age(n-1)+2;returnf;}int{cout<<"age:"<<age(5)<<}【解答usingnamespacestd;intf1(inta,intb){returna+b;}intf2(inta,intb){returna-b;intf3(int(*t)(int,int),inta,intb{return(*t)(a,b);}intmain(){int(*p)(int,int);p=f1;cout<<f3(p,4,8)<<endl;p=f2;cout<<f3(p,8,4)<<}【解答4usingnamespacestd;intsub(int,int);inta=1;int{intm=1,n=2,f;f=sub(m,n);cout<<a<<'\t'<<f<<endl;f=sub(m,n);cout<<a<<'\t'<<f<<}intsub(intc,intd{staticintm=2,n=5cout<<m<<'\t'<<n<<'\t'<<endl;a=++a;c=m++;d=n++;returnc+d}【解答25273639思考函數(shù)的作用是什么?如何定義函數(shù)?什么叫函數(shù)原【解答函數(shù)的兩個重要作用(1)任務(wù)劃分,把一個復(fù)雜任務(wù)劃分為若干小任務(wù),便于分工處理和驗證程序正確性(2代碼。函數(shù)的定義形類型函數(shù)名(式參{語句序}函數(shù)原型是函數(shù)告訴編譯器函數(shù)的接口信息函數(shù)名返【解答函數(shù)的返回類型是函數(shù)返回的表達式的值得類型函數(shù)類型是指函數(shù)的接口,包括函數(shù)的參數(shù)定義和返回型若functionTypefunctionName;//functionType是已經(jīng)定義數(shù)類functionType*functionPointer=functionName;//定義函數(shù)指則可以通過函數(shù)指針調(diào)用函 其中argumentList是實際參數(shù)表。usingnamespacestd;intmain(){typedefintmyfunc(int,int);myfuncf,*fp;inta=10,b=6;cout<<"Using //函數(shù)用函cout<<"Using //函數(shù)針調(diào)用cout<<"Using*fp)(a):"<<(*fp)(a,b)<<endl;//數(shù)指針調(diào)用函return}intf(inti,int{return}什么叫形式參數(shù)?什么叫實際參數(shù)?C++的傳遞方式?請寫一個驗證程序說明?!窘獯鸩康膮?shù)稱為形式參數(shù),調(diào)用函數(shù)時使用的參數(shù)稱為實際參數(shù)。C++(值調(diào)用(地址調(diào)用調(diào)用。usingnamespacestd;voidfuncA(inti){i=i+10;voidfuncB(int{*j=*j+20;voidfuncC(int{k=k+30;int{inta=1;}程序輸 //傳值參數(shù),實際參數(shù)值不 //參數(shù)形式參數(shù)通過別名方式修改實際參數(shù)C++函數(shù)通過什么方式傳遞返回值?當(dāng)一個函數(shù)返回指針類型時對返回表達式有什么要求?若返回類型時是否可以返回一個算術(shù)表達式?為什么?【解答C++首先計算表達式的值,然后把該值賦給函數(shù)返回類型的對象,通過這個對象,把數(shù)值帶回調(diào)用點,繼續(xù)執(zhí)行后續(xù)代碼。返回的對象不能是局部變量也不能返回表達式算術(shù)表達式的值被 在空間中函數(shù)運行結(jié)束后會被銷毀返回這個變{{doubleif(x>y){u=x;v=y;量的也是無意義的3a,b和c值要求把求最大值和最小值編寫成一個函數(shù)并使用指針或作為形式參數(shù)把結(jié)果返回main函數(shù)。【解答usingnamespacestd;voidfmaxmin(double,double,double,double*int{doublea,b,c,max,min;cout<<"a,b,c=";cin>>a>>b>>c;fmaxmin(a,b,c,&max,&min);cout<<"max="<<max<<endl;cout<<"min="<<min<<endl;}voidfmaxmin(doublex,doubley,double*p1,double*p2else{u=y;v=x;};if(z>u)u=z;if(z<v)v=*p1=*p2=}使用參數(shù)usingnamespacestd;voidfmaxmin(double,double,double,double&,double&);intmain() doublea,b,c,max,min;cout<<"a,b,c=";cin>>a>>b>>c;fmaxmin(a,b,c,max,min);cout<<"max="<<max<<endl;cout<<"min="<<min<<}voidfmaxmin(doublex,doubley,doublez,double&p1,double&p2)else{u=y;v=x;};if(z>u)u=z;if(z<v)v=z;p1=u;p2=}對象與概念填類定義的關(guān)鍵字是class。類的數(shù)據(jù)成員通常指定為私有成員。類的函數(shù)成員通常指有成員,指定為有類成員可以在類對象所在域中的任何位置它們類的私有和保護只能被該類的成員函數(shù)或函數(shù)。類的限定符包括public、private和protected。類成員默認(rèn)的方式是private。限定符在類中無先后次序,各限定符允許(允許/不允許)多次出現(xiàn)。構(gòu)造函數(shù)的任立對象可以有構(gòu)造函數(shù),它們數(shù)區(qū)分。如果類說明中沒有給出構(gòu)造函數(shù),C++編譯器會提供構(gòu)造函數(shù),該函數(shù)不完成(完成/不完成)對象初始化工作。1.5析構(gòu)函數(shù)在對象釋放時被自動調(diào)用。類中沒有定義析構(gòu)函數(shù)時,編譯系統(tǒng)會提供一個默認(rèn)的析構(gòu)函數(shù)。該函數(shù)不完成 簡答為什么說類與對象的概念是客觀世界的反映簡單解釋什么是面向?qū)ο蟪绦蛟O(shè)計的封裝作為函數(shù)參數(shù)時為什么能實現(xiàn)兩個實參之間的數(shù)據(jù)交換為什么對應(yīng)實參不能為?為什么返回值為的函數(shù)可以作為左值?什么是默認(rèn)的構(gòu)造函數(shù)?默認(rèn)的構(gòu)造函數(shù)可以有多少個2.8類的成員函數(shù)在什么情況下應(yīng)該定義為私有的?這樣做的目的選擇形成一個實體,這實體也就是(B 類的實例化是指(B 下列說法中正確的是(B定類中的函數(shù)成員在類體之外定義時必須要與類在同一文件中在類體之外定義的函數(shù)成員不能操作該類的私有數(shù)據(jù)員有如下類定classsample{intn;sample(inti=0):n(i){}voidsetValue(intn0);下列關(guān)于setValue成員函數(shù)的實現(xiàn)中,正確的是(BA.sample::setValue(intn0){n=n0;}D.setValue(int在下面的類定義中,錯誤的語句是(Cclasssample{sample(int ~sample(); int sample( 類的構(gòu)造函數(shù)被自動調(diào)用執(zhí)行的情況是在創(chuàng)建該類的(C成員函數(shù) B.?dāng)?shù)據(jù)成員C.對象 D.函數(shù)在下列函數(shù)原型中,可以作為類AA構(gòu)造函數(shù)的是(DA.voidAA(int); B.intAA(); (A)不屬于成員函數(shù)的是(B靜態(tài)成員函 B.函C.構(gòu)造函 D.析構(gòu)函已知類A是類B的,類B是類C的,則(CA一定是類C的C一定是類A的類C的成員函數(shù)可以類B的對象的任何成類A的成員函數(shù)可以類B的對象的任何成有如下類定義inta;intgetRef()const{return&a;} int,return&a為地址intgetValue()const{return voidset(intn) //③常函數(shù)不能修改員friendvoidshow(AAaa)const{cout<<a;} 其中的四個函數(shù)定義中正確的是(B 有如下類定義 //①常成員必須在初始化列表中始intf(inta)const{this->a=a;} voidh(intb){Test::b=b;}; staticintg({return //④靜態(tài)函數(shù)要通過對象成intstaticintb;constintint在標(biāo)注號碼的行中,能被正確編譯的是(C 寫出程序程序執(zhí)行結(jié)果usingnamespacestd;classTest{Test(){n+=2; {n-staticintgetNum(){returnn;}staticintintmain(){Test*p=newTest;deletep;return0;}usingnamespacestd;classAA{intn;AA(intk):n(k){}intget(){returnn;}intget()const{returnintmain(AAconstAAb(6);return0;} usingnamespacestd;classMyClass{intnumber;voidset(inti);intvoidMyClass::set(inti){}voidmain(){MyClassmy1;intnumber=10;} 10usingnamespacestd;classTest{staticintval;inta;staticintfunc();voidsfunc(Test&r);intTest::func(){return}}voidmain(){Testa;}編程構(gòu)造一個日期時間類(Timedate),數(shù)據(jù)成員包括年、月、日和時分、秒,函數(shù)成員包括設(shè)置日期時間和輸出時間,其中年、月用枚舉類型,并完成測試包括用成員函數(shù)和用普通函數(shù))。#include<iostream.h>#include<conio.h>#include<iomanip.h>enumYR{Y2000,Y2001,Y2002,Y2003,Y2004,Y2005};//枚舉名必須標(biāo)識enumMT{Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec};classTimedate{YRyear;MTmonth;intdate;inthh;intmm;intss;Timedate(YRa,MTb,intc){}voidgetdate(YR&,MT&,int&);//體會用的優(yōu)點,一次可voidgettime(int&,int&,int&);voidputdate(YR,MT,int);voidputtime(int,int,int);voidlist();voidTimedate::getdate(YR&y,MT&m,int&d){}voidTimedate::gettime(int&a,int&b,int&c){}voidTimedate::putdate(YRa,MTb,intc){}voidTimedate::puttime(inta,intb,intc){}voidTimedate::list(){//成員函數(shù)cout<<"year/month/date:";caseY2000:cout<<"2000";break;caseY2001:cout<<"2001";break;caseY2002:cout<<"2002";break;caseY2003:cout<<"2003";break;caseY2004:cout<<"2004";break;case}caseJan:cout<<'/'<<"Jan";break;caseFeb:cout<<'/'<<"Feb";break;caseMar:cout<<'/'<<"Mar";break;casecaseMay:cout<<'/'<<"May";break;caseJun:cout<<'/'<<"Jun";break;caseJul:cout<<'/'<<"Jul";break;caseAug:cout<<'/'<<"Aug";break;caseSep:cout<<'/'<<"Sep";break;caseOct:cout<<'/'<<"Oct";break;caseNov:cout<<'/'<<"Nov";break;case}cout<<"hour:minite:second:";}voidshow(Timedate&td){//普通函數(shù),體會兩者的不同YRyear;MTintcout<<"year/month/date:";caseY2000:cout<<"2000";break;caseY2001:cout<<"2001";break;caseY2002:cout<<"2002";break;caseY2003:cout<<"2003";break;caseY2004:cout<<"2004";break;case}caseJan:cout<<'/'<<"Jan";break;caseFeb:cout<<'/'<<"Feb";break;caseMar:cout<<'/'<<"Mar";break;caseApr:cout<<'/'<<"Apr";break;caseMay:cout<<'/'<<"May";break;caseJun:cout<<'/'<<"Jun";break;caseJul:cout<<'/'<<"Jul";break;caseAug:cout<<'/'<<"Aug";break;caseSep:cout<<'/'<<"Sep";break;caseOct:cout<<'/'<<"Oct";break;caseNov:cout<<'/'<<"Nov";break;case}cout<<"hour:minite:second:";}intmain(intargc,char*argv[]){TimedateA(Y2004,Mar,3),B;return}定義一個日期類Date,具有年月日等數(shù)據(jù)成#include<iostream>usingnamespacestd;classDate{intyear,month,day;staticconstintboolLeapYear();boolEndofMonth();Date(int=1900,int=1,int=1);voidIncrement(int);voidDecrement(int);voidSetDate(int,int,int);voidPrint();constintDate::Date(inty,intm,intd){}voidDate::SetDate(inty,intm,intd){year=(y>=1900&&y<=9999)?y:1900;month=(m>=1&&m<=12)?m:1;if(month==2&&LeapYear())day=(d>=1&&d<=29)?d:1;day=(d>=1&&}boolreturn((year%400==0)||(year%4==0&&year%100!=0))?}boolDate::EndofMonth(){returnday==29;return}voidDate::Increment(intn){inti;if(EndofMonth()&&month==12){ }elseif(EndofMonth()){}}voidDate::Decrement(intn){inti;year--;month=12;}elseif(month==3){}day=days[--}day--}voidcout<<year<<"-"<<month<<"-"<<day}voidDate}定義一個圓類Cicle),屬性為半徑(radius),操作為,數(shù)(以半徑為參數(shù),默認(rèn)值為0,周長和面積在構(gòu)造函數(shù)中生成)和構(gòu)造函數(shù)。#include<iostream>constdoublePI=3.1415;usingnamespacestd;classCircle{doubleradius,length,area;Circle(doubler=0){}Circle(Circle&c){radius=c.radius;length=c.length;area=c.area;}voidcout<<"radius="<<radius<<endl;cout<<"length="<<length<<endl;cout<<"area="<<area<<endl;}voidsetr(doubler){}intCirclec1(10),c2(c1);return0;}設(shè)計一個學(xué)校在冊人員類( )。數(shù)據(jù)成員包括號d )、ame)、()、生日Birtday)和edess)。成員函數(shù)包括人員信息的錄入和顯示,還包括構(gòu)造函數(shù)與構(gòu)造函數(shù)。設(shè)計一個合適的初始值。#include<iostream>#include<cstring>constdoublePI=3.1415;usingnamespacestd;structdate{int charID[12];charName[10]; dateBirth;charHomeAdd[20]; }(charid[],char [],datebirth,char } & }voidsetID(charid[]){}voidsetName(charname[]){}void }voidsetBirth(datebirth){}voidsetHome(charhomeadd[]){}voidcout<<"ID="<<ID<<",Name= = }intdatebirth;birth.year=1991;birth.monthbirth.day ","","男",birth,"中吳大道1801號p1.printp2.print();return0;}設(shè)計如下類建立一個Point類,表示平面中的一個點;建立一個Line類,表示平面中的一條線端內(nèi)含兩個Point類的對象建立Triangle類,表示一個三角形,內(nèi)含三個Line類的對象構(gòu)成一個三角形。設(shè)計三個類的相應(yīng)的構(gòu)造函數(shù)、構(gòu)造函數(shù),完成初始化和對象設(shè)計Triangle類的成員函數(shù)完成三條邊是否能構(gòu)成三角形的#include<iostream>#include<cmath>constdoublePI=3.1415;usingnamespacestd;classPoint{Point(doublex=0,doubley=0){}Point(Point&p){X=p.X;Y=p.Y;}doublegetx(){returnX;}doublegety(){returnclassPointpstart,pend;doublelength;Line(Pointp1,Pointp2):pstart(p1),pend(p2){}Line(Line&l):pstart(l.pstart),pend(l.pend){}doublegetl(){returnlength;}voidsetl(){doubledeltax,deltay;deltay=pstart.gety()-}classLinelfirst,lsecond,lthird;doublearea;Trangle(Linelf,Linels,Linelt):lfirst(lf),lsecond(ls),lthird(lt){}boolcheck(){doublel1,l2,l3;returnl1<l2+l3&&l2<l1+l3&&}voidcalarea(){if(check()){doubles;doublel1,l2,l3;area=sqrt(s*(s-l1)*(s-l2)*(s-}}voi

溫馨提示

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

評論

0/150

提交評論