2012年1月全國自考C++真題試卷及其答案_第1頁
2012年1月全國自考C++真題試卷及其答案_第2頁
2012年1月全國自考C++真題試卷及其答案_第3頁
2012年1月全國自考C++真題試卷及其答案_第4頁
2012年1月全國自考C++真題試卷及其答案_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.全國 2012 年 1 月高等教育自學(xué)考試c+ 程序設(shè)計(jì)試題課程代碼: 04737一、單項(xiàng)選擇題( 本大題共20 小題,每小題1 分,共 20 分)在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯(cuò)選、多選或未選均無分。1.如聲明對象數(shù)組,則下列描述正確的是()a. 對每個(gè)元素均調(diào)用一次構(gòu)造函數(shù)b.部分元素調(diào)用構(gòu)造函數(shù),其它元素不需調(diào)用c.均不需要調(diào)用構(gòu)造函數(shù)d.只是首元素調(diào)用構(gòu)造函數(shù)2.不同對象調(diào)用同一成員函數(shù)時(shí),this 指針指向 ()a. 不同對象b.相同對象c.無對象d.不確定3.設(shè)存在函數(shù)intmax(int ,int) 返回兩參數(shù)中較大值,若求2

2、2, 59,70 三者中最大值,下列表達(dá)式正確的是()a.int m=max(22 , max(59 , 70);b.int m=max(max(22 , 59), max(59 , 70);c.int m=max(max(22 , 70), 59);d.以上皆正確4.一個(gè)類可擁有多少個(gè)構(gòu)造函數(shù))a.0 個(gè)b.1 個(gè)c.1 或多個(gè)d.以上皆對5.在編譯指令中,嵌入指令是指()a.#includeb.#definec.#ifd.#else6.設(shè)存在數(shù)組a,其長度為len,下列哪項(xiàng)操作是將a 中元素復(fù)制到數(shù)組b 中 ()a.reverse(a+a,len , b);b.sort(a, a+len,

3、 b);c.find(a , a+len, b);d.copy(a ,a+len , b);7.下列哪個(gè)要素不是面向?qū)ο蟮年P(guān)鍵要素();.a. 模塊化b.抽象性c.封裝性d.繼承性8.下列對于類的描述錯(cuò)誤的是()a. 類要先聲明后使用b.類是具有唯一標(biāo)識(shí)的實(shí)體c.兩個(gè)類可以使用同一個(gè)名稱d.組成類的不僅有數(shù)據(jù),還可以有對數(shù)據(jù)進(jìn)行操作的函數(shù)9.使用引用調(diào)用方式將實(shí)參傳給形參,下列說法正確的是(a)a. 形參是實(shí)參的備份b.實(shí)參是形參的備份c.形參和實(shí)參共享同一對象d.形參和實(shí)參無聯(lián)系10.關(guān)于對象的性質(zhì),下列描述錯(cuò)誤的是()a. 同一類對象之間可相互賦值b.不能使用對象數(shù)組c.對象可以用作函數(shù)參

4、數(shù)d.一個(gè)對象可以用作另一個(gè)類的成員11.類的私有成員可在哪里被賦值 ()a. 類體中b.該類的成員函數(shù)中c.a 和 bd.以上都不是1 2.設(shè)存在數(shù)組 a,其長度為 len,則下列哪個(gè)泛型算法用于反轉(zhuǎn)a 中各元素 ( )a.reverse(a, a+len);b.sort(a, a+len) ;c.find(a , a+len, value);d.copy(a ,a+len , b);13.用于標(biāo)識(shí)八進(jìn)制常量的前綴或后綴是()a. 無b.后綴 l 或 1c.前綴零d.前綴 ox14.派生類中繼承的基類成員初始化如何進(jìn)行( )a. 由派生類構(gòu)造函數(shù)調(diào)用基類的構(gòu)造函數(shù)進(jìn)行b.由派生類構(gòu)造函數(shù)進(jìn)行

5、c.由基類構(gòu)造函數(shù)進(jìn)行,無需派生類構(gòu)造函數(shù)調(diào)用d.以上皆不正確;.1 5.對于多重繼承,下列描述正確的是()a. 所有基類使用相同的派生方式b.每個(gè)基類可使用不同派生方式c.只能是 public 派生d.只能是 protected 派生16.下列關(guān)于類的權(quán)限描述錯(cuò)誤的是()a. 類本身的成員函數(shù)可以訪問自身的任何成員b.類的對象可以訪問該類的所有成員c.普通函數(shù)不能直接訪問類的公有成員,必須通過成員函數(shù)對其訪問d.一個(gè)類可以將另一個(gè)類的對象作為成員17.運(yùn)算符 delete 與哪個(gè)函數(shù)一起運(yùn)行()a. 構(gòu)造函數(shù)b.析構(gòu)函數(shù)c.主函數(shù)d.不與任何函數(shù)一起工作18.一個(gè)類可以獲得另一個(gè)類的特性的機(jī)

6、制稱為( )a. 抽象b.封裝c.繼承d.多態(tài)性19.使用下列哪個(gè)格式控制符可設(shè)置轉(zhuǎn)換十六進(jìn)制為十進(jìn)制()a.decb.octc.hexd.endl20.對引用調(diào)用描述正確的是()a. 分配新存儲(chǔ)空間b.修改已存儲(chǔ)空間的名稱為引用名c.引用名與已存在存儲(chǔ)空間無任何關(guān)聯(lián)d.將引用名標(biāo)識(shí)符與一塊已存在儲(chǔ)區(qū)域相關(guān)聯(lián),沒有分配新存儲(chǔ)空間二、填空題 ( 本大題共 20 小題,每小題1 分,共 20 分 )請?jiān)诿啃☆}的空格中填上正確答案,錯(cuò)填、不填均無分。21.公共派生中,基類的公有成員在派生類中是_公有成員 _ 。22.若要使用標(biāo)準(zhǔn)輸入流機(jī)制從鍵盤輸入一個(gè)整數(shù)賦給整型變量a,相應(yīng)的 c+ 語句是 _。2

7、3.uml 中對象行為之間的動(dòng)態(tài)關(guān)系是通過對象行為之間的依賴關(guān)系表現(xiàn)的,稱之為 _消息鏈接 _。24.c+ 函數(shù)中按引用調(diào)用傳遞參數(shù)時(shí)使用_對象別名 _作為參數(shù)。25.在 c+ 中除具有 _循環(huán) _語句和 switch 語句的函數(shù)外,其它函數(shù)都可以說明為內(nèi)聯(lián)函數(shù)。;.26.c+ 中規(guī)定模板以 _template_關(guān)鍵字和一個(gè)形參表示開頭。27.構(gòu)造函數(shù)不能被繼承,一個(gè)派生類只能調(diào)用它的_直接 _基類的構(gòu)造函數(shù)。28.vector 類中用于獲取存放的元素個(gè)數(shù)的方法是size();_ 。29.c+ 中 istream 類的直接基類是_ios 類 _。30.要關(guān)閉一個(gè)文件輸出流對象myfile ,所

8、用的c+ 語句是 myfile.close();_ 。31.執(zhí)行下列代碼doublepi=3.141592coutsetprecision(2)pi ;程序的輸出結(jié)果是_3.1_。32.在私有派生中,基類的權(quán)限為private 的成員,在派生類中_不可訪問 _。33.c+ 總共有 3 種文件流,分別是輸入文件流、輸出文件流和_輸入輸出文件流_。34.c+ 使用流進(jìn)行輸入輸出,其中能捕獲鍵盤輸入的對象是_ _。35.在 vector 類中刪除向量中最后一個(gè)對象的方法是_。36.函數(shù)重載可使一個(gè)函數(shù)名具有多種功能,稱這種特性為多態(tài)性 _。37.c+ 語言對c 語言做了很多改進(jìn),c+ 語言相對于c

9、語言的最根本的變化是引進(jìn)了_對象 _概念。38._ _ 指令定義一個(gè)標(biāo)識(shí)符及串,在源程序中每次遇到該標(biāo)識(shí)符時(shí),編譯器均用定義的串代替之。39.在 c+ 標(biāo)準(zhǔn)輸出方式中,要設(shè)置輸出數(shù)據(jù)字段寬度width 所使用的操控符是_。40.設(shè)有定義int x ; float y ;,則 10+x+y 值的數(shù)據(jù)類型是_。三、改錯(cuò)題 ( 本大題共5 小題,每小題2 分,共 10 分 )下面的類定義中有一處錯(cuò)誤,請用下橫線標(biāo)出錯(cuò)誤所在行并給出修改意見。41.#includemain()int x=9 , y=8, z=7;const int * p=z ;cout * pendl ;;.42.#includem

10、ain()int x=8 , y=6;const int*const p= x;p= y;cout* pendl ;43.#includemain()folat p ;p=new folat5 ;for(int i=0 ;i * (p+i); cout * (p+i)endl ; delete p;44.templatet f(t x)t y ;y=x+t ;return y ;45.#includeclass pointint x ;public :void init(int a)x=a; int getx()return x ; void setx(int a)x=a ; ;main();

11、.point a ;a.init(20 , 30);couta.getx()endl ;四、完成程序題( 本大題共5 小題,每小題4 分,共 20 分 )46.在下面程序的下劃線處填上正確的語句,使其得到下面的輸出結(jié)果。x=2 , y=3#includeclass sampleint x ,y;public :sample( )x=y=0 ;sample(int a , int b)x=a;(_)void disp( )coutx=x,y=ydisp() ;47.在下劃線處填上適當(dāng)?shù)恼Z句,使程序的輸出結(jié)果如下:;.n=30#includetemplateclass samplet n;publ

12、ic :sample( ) sample(t i)_sample&operator+(const sample&);void disp( )coutn=nendl; ;templatesample&sample : operator+(const sample s)static sampletemp ;return temp;void main( )samples1(10) , s2(20), s3;s3=s1+s2;s3.disp();48.在下劃線處填上適當(dāng)?shù)恼Z句,使程序的輸出結(jié)果如下:1 2 3 4 5 6 7 8 9 10#includeclass sampleint a1010 ;;

13、.public :int &operator()(int , int); ;int &sample:operator()(int x, int y)return axy ;void main()sample a;int i , j;_for(j=0 ; j10 ; j+)_for(i=0 ; il0 ; i+)couta(i , 1) ;coutendl ;49.在下劃線處填上適當(dāng)?shù)木渥?,完成函?shù)的定義。#includeclass sampleint x ;public :sample( ) ;_x=a ; _x=a.x+10; void disp( )coutx=xendl; ;void m

14、ain( );.sample s1(2), s2(s1);s1.disp( );s2.disp( );50.輸入一個(gè)字符串,將其逆序后輸出。#includeusing namespace std;void main()char a50 ;memset(a, 0, sizeof(a) ;int i=0 , j ;char t;cin.getline(a , 50, n;for(i=0 , j=strlen(a)-1 ;i_ ;i+ , j )t=ai ;a j=t ;coutaendl ;五、程序分析題( 本大題共4 小題,每小題5 分,共 20 分 )51.(給出下面程序的輸出結(jié)果#inclu

15、declass exampleint a ;public :example(int b)a=b+ ; void print( )a=a+1 ;couta ; ;.void print( )constcouta; ;void main( )example x(3) ;const example y(2) ;x.print( ) ;y.print( ) ;52.給出下面程序的輸出結(jié)果#includeclass sampleint x ,y;public :sample( )x=y=0 ; sample(int a , int b)x=a ; y=b; sample()if(x=y)coutx=ye

16、ndl ;elsecoutx!=yendl;void disp()coutx=x,y=yendl ; ;void main();.sample sl(2 , 3);s1.disp();53.給出下面程序的輸出結(jié)果#includeclass sampleint n ;static int sum ;public :sample(int x)n=x ; void add( )sum+=n ; void disp( )coutn=n,sum:sumendl ; ;int sample : sum=0;void main( )sample a(2), b(3), c(5);a.add( );a.dis

17、p( ) ;b.add( );b.disp( ) ;c.add( );c.disp( ) ;54.給出下面程序的輸出結(jié)果;.#includeclass aprivate :friend class b ;a(int val=0) : data(val), use(1)int use, data; ;class bpublic :a*pa ;b(int val=0) : pa(new a(val) b( )if(- pa - use=0)delete pa; b(b rhs) + + rhs - use; pa=rhs.pa;b operator=(b rhs);a*operator - ( )

18、return pa ; void display( )coutdata=data , use=useuse = =0)delete pa;+ + rhs - use;pa=rhs.pa;return * this ;int main( )b b1(1) , b2(b1) ,b3(3);;.b1.display( ) ;b2.display( ) ;b3.display( ) ;b3=b1 ;b1.display( ) ;b3.display( ) ;return 0 ;六、程序 ( 本大 共1 小 ,每小 10 分,共 10 分)55.已知一個(gè)student ,包括學(xué)姓名,成 和等 ,不含任何

19、成 函數(shù).process 學(xué)生信息 理 .class studentchar name 10 ;int deg ;char level 7 ;friend class process:public :student(char na , int d)strcpy(name , na); deg=d; ;class processpublic :void trans(student s ) / 根據(jù)學(xué)生成 算學(xué)生等 ( 大于 89 分,良大于79 分,中大于 69 分,及格大于59 分,不及格小于60 分 ).void disp(student s )./根據(jù)成 降序打印所有學(xué)生信息 ;要求 pr

20、ocess 中的兩個(gè)函數(shù):答案:;.1.a 2.a 3.d 4.c 5.a 6.d 7.a 8.c 9.a 10.b 11.b 12.a 13.c 14.a 15.b 16.b 17.b 18.c19.a 20.d二、填空題 ( 本大題共 20 小題,每小題 1 分,共 20 分)請?jiān)诿啃☆}的空格中填上正確答案,錯(cuò)填、不填均無分。21.公有成員22.cina;23.消息鏈接24.對象別名25.循環(huán)26.template27.直接28.size();29.ios 類30.myfile.close();31.3.132.不可訪問33.輸入輸出文件流34.cin35.pop_back(const t &)36.多態(tài)性37.對象38.#define39.setw(int width)40.float三、改錯(cuò)題 ( 本大題共 5 小題,每小題 2 分,共 10 分 )下面的類定義中有一處錯(cuò)誤,請用下橫線標(biāo)出錯(cuò)誤所在行并給出修改意見。41.const int * p=z;普通變量不能給指針變量賦值改為: const int * p= & z;42.p=& y;p 是指向常量的常量指針,不能做為表達(dá)式的左值。43.folat p;float 關(guān)鍵字錯(cuò)誤44.y=x+

溫馨提示

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

評論

0/150

提交評論