自考C程序設(shè)計試題答案_第1頁
自考C程序設(shè)計試題答案_第2頁
自考C程序設(shè)計試題答案_第3頁
自考C程序設(shè)計試題答案_第4頁
自考C程序設(shè)計試題答案_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

全國2011年1月高等教育自學(xué)考試C++程序設(shè)計試題課程代碼:04737一、單項選擇題(本大題共20小題,每題1分,共20分)在每題列出的四個備選項中只有一個是切合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多項選擇或未選均無分。1.在哪一種派生方式中,派生類能夠接見基類中的protected成員(B)A.public和privateB.public和protectedC.protected和privateD.僅protected2.對C++語言和C語言的兼容性,描繪正確的選項是(A)A.C++兼容CB.C++部分兼容CC.C++不兼容CD.C兼容C++3.在C++中使用流進(jìn)行輸入輸出,此頂用于屏幕輸出的對象是(C)A.cerrB.cinC.coutD.cfile對使用重點字new所開拓的動向儲存空間,開釋時一定使用(C)如沒有使用private重點字定義類的數(shù)據(jù)成員,則默以為(A)A.privateB.publicC.protectedD.friend6.使用值傳達(dá)方式將實參傳給形參,以下說法正確的選項是(A)A.形參是實參的備份B.實參是形參的備份C.形參和實參是同一對象D.形參和實參無聯(lián)系7.在函數(shù)調(diào)用時,如某一默認(rèn)參數(shù)要指明一個特定值,則有(A)A.其以前全部參數(shù)都一定賦值B.其以后全部參數(shù)都一定賦值C.其前、后全部參數(shù)都一定賦值D.其前、后全部參數(shù)都不用賦值8.設(shè)存在函數(shù)intmax(int,int)返回兩參數(shù)中較大值,若求22,59,70三者中最大值,以下表達(dá)式不正確的選項是(C)A.intm=max(22,max(59,70));B.intm=max(max(22,59),70);C.intm=max(22,59,70);D.intm=max(59,max(22,70));以下哪個種類函數(shù)不合適申明為內(nèi)聯(lián)函數(shù)(A)A.函數(shù)體語句許多B.函數(shù)體語句較少C.函數(shù)履行時間較短D.函數(shù)履行時間過長10.intFunc(int,int);不行與以下哪個函數(shù)構(gòu)成重載(B)═════════════════════════════════════════════════════════════════════A.intFunc(int,int,int);B.doubleFunc(int,int);C.doubleFunc(double,double);D.doubleFunc(int,double);對類中申明的變量,以下描繪中正確的選項是(C)A.屬于全局變量只屬于該類屬于該類,某些狀況下也可被該類不一樣實例所共享任何狀況下都可被該類全部實例共享類的私有成員可在哪處接見(D)A.經(jīng)過子類的對象接見B.本類及子類的成員函數(shù)中C.經(jīng)過該類對象接見D.本類的成員函數(shù)中13.假如沒有為一個類定義任何結(jié)構(gòu)函數(shù)的狀況下,以下描繪正確的選項是(A)編譯器老是自動創(chuàng)立一個不帶參數(shù)的結(jié)構(gòu)函數(shù)這個類沒有結(jié)構(gòu)函數(shù)這個類不需要結(jié)構(gòu)函數(shù)該類不可以經(jīng)過編譯一個類可包括析構(gòu)函數(shù)的個數(shù)是(B)A.0個B.1個C.起碼一個D.0個或多個15.this指針存在的目的是(B)保證基類公有成員在子類中能夠被接見保證每個對象擁有自己的數(shù)據(jù)成員,但共享辦理這些數(shù)據(jù)成員的代碼保證基類保護(hù)成員在子類中能夠被接見保證基類私有成員在子類中能夠被接見以下對于類的權(quán)限的描繪錯誤的選項是(A)A.類自己的成員函數(shù)只好接見自己的私有成員類的對象只好接見該類的公有成員一般函數(shù)不可以直接接見類的公有成員,一定經(jīng)過對象接見一個類能夠?qū)⒘硪粋€類的對象作為成員在編譯指令中,宏定義使用哪個指令(B)A.#includeB.#defineC.#ifD.#else設(shè)類A將其余類對象作為成員,則成立A類對象時,以下描繪正確的選項是(B)A.A類結(jié)構(gòu)函數(shù)先履行B.成員結(jié)構(gòu)函數(shù)先履行C.二者并行履行D.不可以確立═════════════════════════════════════════════════════════════════════以下描繪錯誤的選項是(A)在創(chuàng)立對象前,靜態(tài)成員不存在靜態(tài)成員是類的成員靜態(tài)成員不可以是虛函數(shù)靜態(tài)成員函數(shù)不可以直接接見非靜態(tài)成員對于友元描繪正確的選項是(B)A.友元是本類的成員函數(shù)B.友元不是本類的成員函數(shù)C.友元不是函數(shù)D.友元不可以接見本類私有成員二、填空題(本大題共20小題,每題1分,共20分)請在每題的空格中填上正確答案。錯填、不填均無分。21.設(shè)要把一個文件輸出流對象myFile與文件“f:\myText.txt”相關(guān)聯(lián),所用的C++語句是:_myFile.Open(“f:\myText.txt”);________。22.C++中ostream類的直接基類是___IOS______。運算符[]只好用____成員_____運算符來重載,不可以用友元運算符來重載。定義虛函數(shù)所用的重點字是__virtual_______。25.vector類頂用于返回向量中第1個對象的方法是__front( )_______。26.在C++中,利用向量類模板定義一個擁有20個char的向量E,其元素均被置為字符‘t’,實現(xiàn)此操作的語句是___vector<char>E(20,’t’)______。類的繼承是指子類繼承基類的___數(shù)據(jù)成員______和成員函數(shù)。28.不一樣對象能夠調(diào)用同樣名稱的函數(shù),但可致使完整不一樣的行為的現(xiàn)象稱為___多態(tài)性(或類的多態(tài)性)______。29.___#include______指令指示編譯器將一個源文件嵌入到帶該指令的源文件之中。設(shè)類A有成員函數(shù)voidFun(void);要定義一個指向類成員函數(shù)的指針變量pafn來指向Fun,該指針變量的申明語句是____void(A::*pafn)(void);_____。31.設(shè)在程序中使用以下語句申請了一個對象數(shù)組:Point*ptr=newPoint[2];則在需要開釋ptr指向的動向數(shù)組對象時,所使用的語句是__delete[]ptr_______。在保護(hù)派生中,基類權(quán)限為Private的成員在派生類中____不行接見_____。類A有以下成員函數(shù)intA::fun(doublex){return(int)x/2;}intA::fun(intx){returnX*2;}設(shè)a為類A的對象,在主函數(shù)中有ints=a.fun(6.0)+a.fun(2),則履行該語句后,s值為___7______。34.對象傳遞的信息一般由3部分構(gòu)成:接收對象名、調(diào)用操作名和____必需的參數(shù)_____。═════════════════════════════════════════════════════════════════════35.將指向?qū)ο蟮闹羔樧鳛楹瘮?shù)參數(shù),形參是對象指針,實參是對象的___地點值______。36.在使用string類的find成員函數(shù)來檢索主串中能否含有指定的子串時,若在主串中不含指定的子串,find函數(shù)的返回值是___-1______。37.在C++中,申明布爾種類變量所用的重點字是__bool_______。履行以下代碼inta=29,b=100;cout<<setw(3)<<a<<b<<endl;程序的輸出結(jié)果是:____29100_____。履行以下代碼cout<<"Hex:"<<hex<<255;程序的輸出結(jié)果為___Hex:ff______。40.C++語言中能夠?qū)崿F(xiàn)輸出一個換行符并刷新流功能的控制符是___endl______。三、改錯題(本大題共5小題,每題2分,共10分)下邊的類定義中有一處錯誤,請用下橫線標(biāo)犯錯誤所內(nèi)行并指出錯誤原由。41.#include<iostream.h>main( ){intx=5,y=6;constint*p=&x;*p=y;//*p=y;指針p所指向的為一常量,不可以進(jìn)行左值操作cout<<*p<<endl;}42.#include<iostream.h>classf{private:intx,y;public:fl( ){x=0;y=0;}print( ){cout<<x<<〃<<y<<endl;}}main( ){fa;a.fl(1,1);//f1( )調(diào)用時實參加形參數(shù)目不一致a.print( );}═════════════════════════════════════════════════════════════════════43.#include<iostream.h>classf{private:intx=0,y=0;//數(shù)據(jù)成員申明時不一樣意直接賦值public:voidfl(inta,intb){x=a;y=b;}voidget( ){cout<<x<<','<<y<<endl;}};main( ){fa;a.fl(1,3);a.get( );}44.#include<iostream.h>classpoint{private:floatx;public:voidf(floata){x=a;}voidf( ){x=0;}friendfloatmax(point&a,point&b);};floatmax(point&a,point&b){return(a.x>b.x)?a.x:b.x;}main( ){pointa,b;a.f(2.2);b.f(3.3);cout<<a.max(a,b);//max( )不是類的成員函數(shù),不可以用a.max( )方式調(diào)用}45.#include<iostream.h>template<classT>classf{private:Tx,y;public:voidfl(Ta,Tb){x=a;y=b;}Tmax( ){return(x>y)?x:y;}};main( ){fa;═════════════════════════════════════════════════════════════════════a.fl(1.5,3.8);cout<<a.x<<a.y<<a.max( )<<endl;//x,y是私有種類,不可以在主函數(shù)中直接使用}四、達(dá)成程序題(本大題共5小題,每題4分,共20分)達(dá)成下邊類中的成員函數(shù)的定義。classpoint{private:intm,n;public:point(int,int);point(point&);};point::point(inta,intb){m=a:_____n____=b;}point::point(___point&t______){m=t.m;n=t.n;}47.下邊是一個輸入半徑,輸出其面積和周長的C++程序,在下劃線處填上正確的語句。#include<iostream>usingnamespacestd;___constdouble______pi=3.14159;voidmain( ){doubler;cout<<"r=";____cin>>r_____;doublel=2.0*pi*r;doubles=pi*r*r;═════════════════════════════════════════════════════════════════════cout<<"\nThelongis:"<<l<<endl;cout<<"Theareais:"<<s<<endl;}在下劃線處填上缺乏的部分。#include<iostream>#include<fstream>usingnamespacestd;classcomplex{public:intreal;intimag;complex(intr=0,inti=O){real=r;imag=i;}};complexoperator+(_complex&a________,complex&b){intr=a.real+b.real;inti=a.imag+b.imag;return___complex(r,i)______;}voidmain( ){complexx(1,2),y(3,4),z;z=x+y;cout<<z.real<<"+"<<z.imag<<"i"<<endl;}═════════════════════════════════════════════════════════════════════49.程序的輸出結(jié)果以下:1,950,30請依據(jù)輸出數(shù)據(jù)在下邊程序中的下劃線處填寫正確的語句。源程序以下:#include<iostream>usingnamespacestd;classbase{private:intm;public:base( ){};base(inta):m(a){}intget( ){returnm;}voidset(inta){m=a;}};voidmain( ){base*ptr=newbase[2];ptr->set(30);ptr=__ptr+1_______;ptr->set(50);basea[2]={1,9};cout<<a[0].get( )<<","<<a[1].get( )<<endl;cout<<ptr->get( )<<",";ptr=ptr-1;cout<<__ptr->get( )_______<<endl;delete[]ptr;}50.在下邊橫線處填上求兩個浮點數(shù)之差的cha函數(shù)的原型申明、調(diào)用方法。#include<iostream>usingnamespacestd;voidmain( )═════════════════════════════════════════════════════════════════════{floata,b;___floatcha(float,float)______//函數(shù)cha的原型申明a=12.5;b=6.5;floatc=____cha(a,b)______________;//調(diào)用函數(shù)chacout<<c<<endl;}floatcha(floatx,floaty){floatw;w=x-y;returnw;}五、程序剖析題(本大題共4小題,每題5分,共20分)給出下邊程序的輸出結(jié)果。#include<iostream.h>template<classT>classSample{Tn;public:Sample(Ti){n=i;}intoperator==(Sample&);};template<classT>intSample<T>::operator==(Sample&s){if(n==s.n)return1;elsereturn0;}voidmain( )═════════════════════════════════════════════════════════════════════{Sample<int>sl(2),s2(3);cout<<"sl與s2的數(shù)據(jù)成員"<<(sl==s2?"相等":"不相等")<<endl;Sample<double>s3(2.5),s4(2.5);cout<<"s3與s4的數(shù)據(jù)成員"<<(s3==s4?"相等":"不相等")<<endl;}S1與s2的數(shù)據(jù)成員不相等S3與s4的數(shù)據(jù)成員相等給出下邊程序的輸出結(jié)果。#include<iostream>usingnamespacestd;template<classT>Tmax(Tml,Tm2){return(ml>m2)?ml:m2;}voidmain( ){cout<<max(1,7)<<"\t"<<max(2.0,5.0)<<endl;cout<<max(‘y',‘b')<<"\t"<<max("A","a")<<endl;}75Ya53.給出下邊程序的輸出結(jié)果#include<iostream>usingnamespacestd;classA{public:intx;A( ){}A(inta){x=a;}intget(inta){returnx+a;}};voidmain( ){Aa(8);int(A::*p)(int);p=A::get;═════════════════════════════════════════════════════════════════════cout<<(a.*p)(5)<<endl;A*pi=&a;cout<<(pi->*p)(7)<<endl;}1315給出下邊程序的輸出結(jié)果。include<iostream>#include<string>usingnamespacestd;classBook{char*title;char*author;intnumsold;public:Book( ){}Book(constchar*strl,constchar*str2,constintnum){intlen=strlen(strl);title=newchar[1en+1];strcpy(title,strl);len=strlen(str2);author=newchar[1en+1];strcpy(author,str2);numsold=num;}voidsethook(constchar*strl,constchar*str2,constintnum){intlen=strlen(strl);title=newchar[1en+1];strcpy(title,strl);len=strlen(str2);author=newchar[1en+1];strcpy(author,str2);numsold=num;}Book( ){deletetitle;═════════════════════════════════════════════════════════════════════deleteauthor;}voidprint(ostream&output){output<<"書名:"<<title<<endl;output<<"作者:"<<author<<endl;output<<"月銷售量:"<<numsold<<endl;}};voidmain( ){Bookobjl("數(shù)據(jù)結(jié)構(gòu)","嚴(yán)蔚敏",200),obj2;objl.print(cout);obj2.setbook("C++語言程序設(shè)計","李春葆",210);obj2.print(cout);}書名:數(shù)據(jù)結(jié)構(gòu)作者:嚴(yán)蔚敏月銷量:200書名:C++語言程序設(shè)計作者:李春葆月銷量:210六、程序設(shè)計題(本大題共l小題,共10分)在三角形類TRI實現(xiàn)兩個函數(shù),功能是輸入三個極點坐標(biāo)判斷能否構(gòu)成三角形#include<iostream.h>#include<math.h>classpoint{private:floatx,y;public:point(floata,floatb){x=a;y=b;}point( ){x=O;y=O;}voidset(floata,floatb){x=a;y=b;}floatgetx( ){returnx

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論