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

下載本文檔

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

文檔簡介

1、全國2012年1月高等教育自學(xué)考試C+程序設(shè)計試題課程代碼:04737一、單項選擇題(本大題共20小題,每小題1分,共20分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯選、多選或未選均無分。1.如聲明對象數(shù)組,則下列描述正確的是( A )A.對每個元素均調(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ù)時,this指針指向(A )A.不同對象B.相同對象C.無對象D.不確定3.設(shè)存在函數(shù)intmax(int,int)返回兩參數(shù)中較大值,若求22,59,70三者中最大值

2、,下列表達式正確的是(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òu)造函數(shù)C )A.0個B.1個C.1或多個D.以上皆對5.在編譯指令中,嵌入指令是指( A )A.#includeB.#defineC.#if D.#else6.設(shè)存在數(shù)組a,其長度為Len,下列哪項操作是將a中元素復(fù)制到數(shù)組b中( D )A.reverse(a+a,Len,b);B.sort(a,a+Len,b);C.find(a,a+Len,b);D.co

3、py(a,a+Len,b);7.下列哪個要素不是面向?qū)ο蟮年P(guān)鍵要素( A )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.C 19.A 20.DA.模塊化B.抽象性C.封裝性D.繼承性8.下列對于類的描述錯誤的是( C )A.類要先聲明后使用B.類是具有唯一標識的實體C.兩個類可以使用同一個名稱D.組成類的不僅有數(shù)據(jù),還可以有對數(shù)據(jù)進行操作的函數(shù)9.使用引用調(diào)用方式將實參傳給形參,下列說法正確的是(A )A.形參是實參的備份B.實參是形參的備份C.形參和實參共享同一對象D.形參和實參

4、無聯(lián)系10.關(guān)于對象的性質(zhì),下列描述錯誤的是(B )A.同一類對象之間可相互賦值B.不能使用對象數(shù)組C.對象可以用作函數(shù)參數(shù)D.一個對象可以用作另一個類的成員11.類的私有成員可在哪里被賦值( B )A.類體中B.該類的成員函數(shù)中C.A和B D.以上都不是1 2.設(shè)存在數(shù)組a,其長度為Len,則下列哪個泛型算法用于反轉(zhuǎn)a中各元素(A )A.reverse(a,a+Len);B.sort(a,a+Len);C.find(a,a+Len,value);D.copy(a,a+Len,b);13.用于標識八進制常量的前綴或后綴是(C )A.無B.后綴L或1C.前綴零D.前綴Ox14.派生類中繼承的基類

5、成員初始化如何進行(A )A.由派生類構(gòu)造函數(shù)調(diào)用基類的構(gòu)造函數(shù)進行B.由派生類構(gòu)造函數(shù)進行C.由基類構(gòu)造函數(shù)進行,無需派生類構(gòu)造函數(shù)調(diào)用D.以上皆不正確1 5.對于多重繼承,下列描述正確的是( B )A.所有基類使用相同的派生方式B.每個基類可使用不同派生方式C.只能是public派生D.只能是protected派生16.下列關(guān)于類的權(quán)限描述錯誤的是( B )A.類本身的成員函數(shù)可以訪問自身的任何成員B.類的對象可以訪問該類的所有成員C.普通函數(shù)不能直接訪問類的公有成員,必須通過成員函數(shù)對其訪問D.一個類可以將另一個類的對象作為成員17.運算符delete與哪個函數(shù)一起運行( B)A.構(gòu)造函

6、數(shù)B.析構(gòu)函數(shù)C.主函數(shù)D.不與任何函數(shù)一起工作18.一個類可以獲得另一個類的特性的機制稱為( C )A.抽象B.封裝C.繼承D.多態(tài)性19.使用下列哪個格式控制符可設(shè)置轉(zhuǎn)換十六進制為十進制( A )A.decB.octC.hex D.endl20.對引用調(diào)用描述正確的是D )A.分配新存儲空間B.修改已存儲空間的名稱為引用名C.引用名與已存在存儲空間無任何關(guān)聯(lián)D.將引用名標識符與一塊已存在儲區(qū)域相關(guān)聯(lián),沒有分配新存儲空間二、填空題(本大題共20小題,每小題1分,共20分) 請在每小題的空格中填上正確答案,錯填、不填均無分。21.公共派生中,基類的公有成員在派生類中是_公有成員_。22.若要使

7、用標準輸入流機制從鍵盤輸入一個整數(shù)賦給整型變量a,相應(yīng)的C+語句是_cin>>a;_。23.UML中對象行為之間的動態(tài)關(guān)系是通過對象行為之間的依賴關(guān)系表現(xiàn)的,稱之為_消息鏈接_。24.C+函數(shù)中按引用調(diào)用傳遞參數(shù)時使用_對象別名_作為參數(shù)。25.在C+中除具有_循環(huán)_語句和switch語句的函數(shù)外,其它函數(shù)都可以說明為內(nèi)聯(lián)函數(shù)。26.C+中規(guī)定模板以_Template_關(guān)鍵字和一個形參表示開頭。27.構(gòu)造函數(shù)不能被繼承,一個派生類只能調(diào)用它的_直接_基類的構(gòu)造函數(shù)。28.vector類中用于獲取存放的元素個數(shù)的方法是Size();_。29.C+中istream類的直接基類是_Ios

8、類_。30.要關(guān)閉一個文件輸出流對象myFile,所用的C+語句是myFile.close();_。31.執(zhí)行下列代碼double pi=3.141592cout<<setprecision(2)<<pi;程序的輸出結(jié)果是_3.1_。32.在私有派生中,基類的權(quán)限為private的成員,在派生類中_不可訪問_。33.C+總共有3種文件流,分別是輸入文件流、輸出文件流和_輸入輸出文件流_。21.公有成員22.cin>>a;23.消息鏈接24.對象別名25.循環(huán)26.Template27.直接28.Size();29.Ios類30.myFile.close();

9、32.不可訪問33.輸入輸出文件流34.Cin36.多態(tài)性37.對象38.#define34.C+使用流進行輸入輸出,其中能捕獲鍵盤輸入的對象是_Cin_。35.在vector類中刪除向量中最后一個對象的方法是35.pop_back(const T &)_。36.函數(shù)重載可使一個函數(shù)名具有多種功能,稱這種特性為 多態(tài)性_。37.C+語言對C語言做了很多改進,C+語言相對于C語言的最根本的變化是引進了_對象_概念。38._#define_指令定義一個標識符及串,在源程序中每次遇到該標識符時,編譯器均用定義的串代替之。39.在C+標準輸出方式中,要設(shè)置輸出數(shù)據(jù)字段寬度width所使用的操控

10、符是39.Setw(int width)_。40.設(shè)有定義int x;float y;,則10+x+y值的數(shù)據(jù)類型是_40.Float_。三、改錯題(本大題共5小題,每小題2分,共10分)下面的類定義中有一處錯誤,請用下橫線標出錯誤所在行并給出修改意見。41.#include<iostream.h>main()int x=9,y=8,z=7;const int * p=z;cout<< * p<<endl;42.#include<iostream.h>main()int x=8,y=6;const int*const p=x;p=y;cout&l

11、t;<* p<<endl;43.#include<iostream.h>main()folat p;p=new folat5;for(int i=0;i<5;i+)cin>> * (p+i);cout<< * (p+i)<<endl;delete p;44.template<class T>T f(T x)T y;y=x+T;return y;45.#include<iostream.h>class pointint x;public:void init(int a)x=a;int getx()re

12、turn x;void setx(int a)x=a;main()point a;a.init(20,30);cout<<a.getx()<<endl;四、完成程序題(本大題共5小題,每小題4分,共20分)46.在下面程序的下劃線處填上正確的語句,使其得到下面的輸出結(jié)果。x=2,y=3#include<iostream.h>class Sampleint x,y;public:Sample( )x=y=0;Sample(int a,int b)x=a;(_)void disp( )cout<<"x="<<x<

13、<",y="<<y<<endl;(_)void main( )Sample s(2,3),*p=s;p - >disp();47.在下劃線處填上適當?shù)恼Z句,使程序的輸出結(jié)果如下:n=30#include< iostream.h >template< class T >class SampleT n;public:Sample( ) Sample(T i)_Sample<T>&operator+(const Sample<T>&);void disp( )cout<<

14、;"n="<<n<<endl;template<class T>Sample<T>&Sample<T>:operator+(const Sample<T>s)static Sample<T>temp;return temp;void main( )Sample<int>s1(10),s2(20),s3;s3=s1+s2;s3.disp();48.在下劃線處填上適當?shù)恼Z句,使程序的輸出結(jié)果如下:1 2 3 4 5 6 7 8 9 10#include<iostream

15、.h>class Sampleint A1010;public:int &operator()(int,int);int &Sample:operator()(int x,int y)return Axy;void main()Sample a;int i,j;_for(j=0;j<10;j+)_for(i=0;i<l0;i+)cout<<a(i,1)<< " ";cout<<endl;49.在下劃線處填上適當?shù)木渥樱瓿珊瘮?shù)的定義。#include<iostream.h>class Samp

16、leint x;public:Sample( ) ;_x=a; _x=a.x+ +10;void disp( )cout<<"x="<<x<<endl;void main( )Sample s1(2),s2(s1);s1.disp( );s2.disp( );50.輸入一個字符串,將其逆序后輸出。#include<iostream>using namespace std;void main()char a50;memset(a,0,sizeof(a);int i=0,j;char t;cin.getline(a,50, n;f

17、or(i=0,j=strlen(a)-1;i<_;i+,j ) t=ai;a j=t;cout<<a<<endl;五、程序分析題(本大題共4小題,每小題5分,共20分)51.(給出下面程序的輸出結(jié)果#include<iostream.h>class exampleint a;public:example(int b)a=b+;void print( )a=a+1;cout<<a<<" ";void print( )constcout<<a<<"";void main

18、( )example x(3);const example y(2);x.print( );y.print( );52.給出下面程序的輸出結(jié)果#include<iostream.h>class Sampleint x,y;public:Sample( )x=y=0;Sample(int a,int b)x=a;y=b;Sample()if(x=y)cout<<"x=y"<<endl;elsecout<<"x!=y"<<endl;void disp()cout<<"x=&qu

19、ot;<<x<<",y="<<y<<endl;void main()Sample sl(2,3);s1.disp();53.給出下面程序的輸出結(jié)果#include<iostream.h>class Sampleint n;static int sum;public:Sample(int x)n=x;void add( )sum+=n;void disp( )cout<<"n="<<n<<",sum:"<<sum<<e

20、ndl;int Sample:sum=0;void main( )Sample a(2),b(3),c(5);a.add( );a.disp( );b.add( );b.disp( );c.add( );c.disp( );54.給出下面程序的輸出結(jié)果#include<iostream.h>class 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

21、 pa;B(Brhs) + + rhs ->use;pa=rhs.pa;Boperator=(Brhs);A*operator ->( )return pa;void Display( )cout<<"data="<<pa ->data<<",use="<<pa ->use<<endl;BB:operator=(Brhs)if(this = = rhs)return*this;if( - pa ->use = =0)delete pa;+ + rhs ->us

22、e;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;六、程序設(shè)計題(本大題共1小題,每小題10分,共10分)55.已知一個student類,包括學(xué)姓名,成績和等級,不含任何成員函數(shù).process為學(xué)生信息處理類.class studentchar name 10 ;int deg;char level 7 ;friend class process:public

23、:student(char na ,int d)strcpy(name,na);deg=d; ;class processpublic:void trans(student s )/根據(jù)學(xué)生成績計算學(xué)生等級(優(yōu)大于89分,良大于79分,中大于69分,及格大于59分,不及格小于60分).void disp(student s )./根據(jù)成績降序打印所有學(xué)生信息;要求實現(xiàn)process類中的兩個函數(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.C 19.A 20.D二、填空題(本

24、大題共20小題,每小題1分,共20分) 請在每小題的空格中填上正確答案,錯填、不填均無分。21.公有成員22.cin>>a;23.消息鏈接24.對象別名25.循環(huán)26.Template27.直接28.Size();29.Ios類30.myFile.close();32.不可訪問33.輸入輸出文件流34.Cin35.pop_back(const T &)36.多態(tài)性37.對象38.#define39.Setw(int width)40.Float三、改錯題(本大題共5小題,每小題2分,共10分)下面的類定義中有一處錯誤,請用下橫線標出錯誤所在行并給出修改意見。41.const int * p=z; 普通變量不能給指針變量賦值 改為:const int * p= & z;42.P=& y; p是指向常量的常量指針,不能做為表達式的左值。43.folat p; float關(guān)鍵字錯誤 44.y=x+T; T是類型名,不能進行此類操作45.public : void init (int a) /a.init ( 20,30); 函數(shù)重載,參數(shù)不

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論